• ベストアンサー

VLOOKUP関数で困っています。

コード番号の下二桁を取り出して、その値を表から探し出して商品名を表示させる作業をVLOOKUPで設定しようとしていますが、うまくいきません。 おそらく、下2桁を取り出したセルにはRIGHTB関数の計算式が入っており、取り出された2桁の文字列ではなく、計算式を表の中から探し出しているようでN/Aのエラーメッセージです。このような場合、どのようにすればよいのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

参照元と参照先のセル内容のデータ型は一致していますか? 具体的には、RIGHTB関数で切り出されたデータと、参照テーブルの第1列(参照列)の型の不一致が考えられます。 RIGHTB関数で切り出されたデータは文字列型になります。 対する参照列が数値型だった場合、見た目が同じでもN/Aが出る事になります。 対処方法は、 1.二桁に切り出す時に数値化する。 ・=VALUE(RIGHTB(コード番号,2)) ・=((コード番号/100)-INT(コード番号/100))*100 など 2.VLOOKUP関数内で数値化する。 ・=VLOOKUP(VALUE(切り出したセル),参照テーブル,参照位置,FALSE) 3.参照テーブルの参照列を文字列化する。 ・参照列の各データの先頭に「'」を付ける。 ・=TEXT(参照セル,0)で文字列化した列を、「形式を選択して張り付け」で値化して上書きする。 など が考えられます。 お薦めとしては2番でしょーか。 特に3番は手間が掛かりますから(笑) では

fiber
質問者

お礼

たいへん親切なご回答に感謝いたします。自分では、関数の本などを読んだりして「数値化する」方法を探していましたがわかりませんでした。早速試してみます。

関連するQ&A