- ベストアンサー
エクセル2010 商品リストを参照したい
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
VLOOKUPで検索可能です。 添付写真の例ですと、 セルE3に「=VLOOKUP(F3,A3:C5,2,FALSE)」 セルG3に「=VLOOKUP(F3,A3:C5,3,FALSE)」 を入れればOKです。 また、F2の品名を入力した時だけ表示するようにするには セルE3「=IF(F3<>"",VLOOKUP(F3,A3:C5,2,FALSE),"")」 セルG3「=IF(F3<>"",VLOOKUP(F3,A3:C5,3,FALSE),"")」 として下さい。
その他の回答 (2)
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答No2です。F列のデータが先に選ばれるのでしたね。回答No1さんが正解でしょう。 その場合にはVLOOKUP関数を使うことができますね。
お礼
2度目のご回答ありがとうございます。 No.2さんの回答も良い勉強のきっかけになりました。
- KURUMITO
- ベストアンサー率42% (1835/4283)
お示しの場合のように商品コードを入力したときに商品名や客先コードを表示させるためにはVLOOKUP関数を使うことはできません。 F3セルには次の式を入力しG3セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(COUNTIF($B:$B,$E3)=0,"",IF(COLUMN(A1)=1,INDEX($A:$A,MATCH($E3,$B:$B,0)),INDEX($C:$C,MATCH($E3,$B:$B,0))))
お礼
INDEX や MATCH などを使ったことがなく、少し調べてみたのですが 検索値の列が検索範囲の左端列に位置しない場合に使うということでしょうか。 確かに、実際使用する商品リストは商品名が左端にないので 左端が商品名になるようリストを加工して使う予定でした。 加工せず使わなければならない時に便利ですね。 複数の関数を組み合わせるのは、今の自分にはかなり難しいのですが このようなやり方もあると分かり大変勉強になりました。 ありがとうございます。
お礼
無事解決しました。ありがとうございます。 実際の商品リストは別シートになっている為 範囲の指定の仕方などにミスがあり、うまく検索ができなかったようです。 文字列でもVLOOKUPが使えると分かりました。 また、 > F2の品名を入力した時だけ表示するようにするには ということで教えていただいた方法が大変役に立ちました。 普通にVLOOKUPだけで入力する方法でやったところ 品名入力前のE列G列に #N/A と表示されてしまい、見苦しいと思いました。 自分ではまったく思いつかない実用的な技を教えていただきとても勉強になりました。 ありがとうございます。