- ベストアンサー
ExcelのVLOOKUP関数で会社名を引っ張ってくる方法
- ExcelのVLOOKUP関数を使用して、A列に入力された番号に対応する会社名を引っ張ってくる方法について教えてください。
- 一部の番号に対して「#N/A」のエラーが発生し、正しく会社名が表示されない問題についてアドバイスをお願いします。
- 関数の設定やデータの入力に問題がないか確認しましたが、エラーの原因が分からず困っています。何か解決策があれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
=IF(A24="","",VLOOKUP(A24,店名!B22:C167,2,FALSE))だと、店名シートの22行目から167行目を参照しています。5番店は店名表の5番目にあるのですよね。つまりAシートの6行目。 しかし、関数は22行目からを見ていますからエラーが出ます。 もしかすると、一番上の行に=IF(A2="","",VLOOKUP(A2,店名!B2:C147,2,FALSE))と入れた式を縦にコピーしていませんか? それをすると、店名シートの位置がどんどん下にずれていきます。 縦にコピーするとこの式の作り方だと参照する表も下にずれていきますよ。 理由は参照するシートの書き方が相対表示になっているからです。 参照する表の位置ががずれない場合は、 1.表に名前をつけて式を作ってコピーして作る。 2.表を絶対表示で式を作ってコピーする です。 参照する表が2行目から147行目にあるなら、「店名!B22:C167」になっている部分を「店名!$B$22:$C$167」として下さい。これで作った式を縦にコピーすれば出来ます。
その他の回答 (1)
- chonami
- ベストアンサー率43% (448/1036)
Aのシートって店名シートのこと? 名称は統一して下さいね。式の中の部分とか。 式を下にコピーしたから参照範囲も下にずれてしまって、若い番号が範囲から外れてしまったのでは? 注目→VLOOKUP(A24,店名!B22:C167,2,FALSE) B22:C167の中に5のデータはありますか? 20行戻したらB2:C147になりますし、元々この範囲を参照していたのでは? 修正→VLOOKUP(A24,店名!$B$2:$C$147,2,FALSE) これで如何でしょうか?
お礼
chonami 様 ご回答ありがとうございます。 シートの名前を統一しておらず、分かりにくくなってしまい申し訳ありませんでした。 ご指摘して頂いた通り、範囲が外れていた為起こった事でした。 教えて頂きありがとうございます。
お礼
Turbo415 様 ご回答ありがとうございます。 >店名シートの22行目から167行目を参照しています。 まさにその通りでした。 何度確認しても、増えて行くのが当たり前だと勘違いしたまま見直しをしていたので、ここに質問していなかったら一生気付かなかったかもしれません。 今まで出たエラーを思い出したら、ご指摘通りの間違いの所為で起こる事ばかりでした。 とても恥ずかしい質問をしたなぁと思いますが、質問したお陰で勘違いしている事がわかり大変助かりました。 ありがとうございました。