• ベストアンサー

VLOOKUP関数で質問

=IF(C3="","",VLOOKUP(C3,'商品コード表 '!C3:J786,2,FALSE)) 別シートの商品コ-ドから一発表示をさせようと思います。 ところが、同じ商品コードを二度だそうとするとエラーになってしまいます。 最後の「FALSE」に問題があるのでしょうか? 本屋で買った虎の巻でがんばってるのですが・・・ 教えてください。

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

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

#1の方と同意見です。 別のセルに数式をコピーするのなら商品コードの表の表の範囲は絶対参照にしてください。 もしくは表の範囲に名前をつけて参照してください。 たぶんコピーした行の範囲が'商品コード表 '!C4:J787 になっていませんか? C3にあったコードを選択していると範囲外になります。 前者(絶対参照)の場合は =IF(C3="","",VLOOKUP(C3,'商品コード表 '!C:J,2,FALSE)) 又は =IF(C3="","",VLOOKUP(C3,'商品コード表 '!$C$3:$J$786,2,FALSE)) 後者(名前付け)の場合は 「挿入」「名前」「定義」で商品コード表 '!C3:J786を選択して、例えば"商品"とします。数式は =IF(C3="","",VLOOKUP(C3,商品,2,FALSE))

その他の回答 (2)

  • s_yoshi_6
  • ベストアンサー率73% (1113/1519)
回答No.2

ご質問の式をコピーして使われた際に、元の参照範囲がずれてしまっているのではないでしょうか。 参照範囲を絶対参照にして =IF(C3="","",VLOOKUP(C3,'商品コード表 '!$C$3:$J$786,2,FALSE)) とされてみてはいかがでしょうか。 FALSEについては、完全一致する項目のみを検査するということなので、特に問題はないと思います。

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.1

C3:J786 を $C:$J に変えてみてください。 頑張ってくださいヽ(^。^)ノ

関連するQ&A