• ベストアンサー

参照関数について教えてください

ある物品マスターがあります。 マスターは「番号+名称」が記載されています。 別のシートから、番号が一致するものを そのマスターからひっぱってきたいのですが、 うまくできません。 参照元が順番にならんでいる訳ではないので、 範囲の中でという検索になると思うのですが、 どなたか教えて下さい。 よろしくお願いします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

=IF(検索値のセル="","",VLOOKUP(検索値のセル,表の範囲(絶対参照or名前付け),2,FALSE)) で良いと思います。VLOOKUPの最後の条件はFALSEにすることで、 間違えた検索値を入力した場合、#N/A!のエラーが表示されます。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

エクセルを使っているのですか? 以下はVLOOKUP関数を使う前提で話をします。 >マスターは「番号+名称」が記載されています。 番号列と名称列は別列でしょうね。この銃所である必要があります。 >別のシートから なんどもこんな例は質問に答えています。別シートに表があっても大丈夫です。 >うまくできません。 時々、正しく検索(索引)しないという質問がありますが、回答にてこづっています。というのは、回答者の手元にデータがないからです。 まして本質問のように全くデータの状況に触れず質問しても、そうですかとしかいえません。 >参照元が順番にならんでいる訳ではないので FALSE型を使うのでしょうから、まったく気にすることはありません。 見当はずれです。 >範囲の中でという検索になると思うのですが 多分見当違いです。番号から、物品名称を引いてくるのに、なぜ「範囲の中で」になりますか。 うまくいかないからといって、やたらに原因を推定するのは、よくない。 それよりいかにデータ状況を質問文で表現するかです。 VLOOKUPの問題は、表の範囲の表現が$つき(絶対番地)でないか、 FALSE型になっているか、 入力する番号の方と表の方の番号の、数値・文字列などの食い違いが多いと思います。ただ1部であることも多く、どこかというのは、実際見ないと 指摘しにくい傾向がある。

  • hiroaki_0
  • ベストアンサー率53% (131/245)
回答No.2

index 関数とmatch関数を組み合わせて使うのが良いかも?

  • sero
  • ベストアンサー率47% (916/1944)
回答No.1

エクセルと仮定して、 >マスターは「番号+名称」が記載されています。 続けて入力されているのではなく、番号と名称が別の列(or行)に入力されているならVLOOKUP関数か、HLOOKUP関数で番号を参照して完全一致検索をすれば良いのでは? 続けて入力されている場合、文字列操作関数を使って「番号」を分離する必要があります。 (具体例が示されていないのでできるかどうかは断言できませんが)

関連するQ&A