- ベストアンサー
エクセル VLOOKUPについて
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
E5に =IFERROR(VLOOKUP(C$5,Sheet2!A:D,ROW(E2),FALSE),"") のようにして,下向けにコピーします。 もちろんもっと判りやすく, E5には =IFERROR(VLOOKUP(C$5,Sheet2!A:D,2,FALSE),"") E6には =IFERROR(VLOOKUP(C$5,Sheet2!A:D,3,FALSE),"") E7には =IFERROR(VLOOKUP(C$5,Sheet2!A:D,4,FALSE),"") と丁寧に入れていけば,間違える事もありません。
その他の回答 (3)
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
「#REF!」というエラーが出ていますね。これは、VLOOKUP関数の第3引数で指定される「列番号」が、第2引数で指定される「範囲」の外にはみ出しているときなどに出るエラーです。 解像度の関係でよく見えませんが、添付図では、第3引数に「COLUMN()」と書いていますか?そうであれば、図ではE列なので、「5」と書いてあるのと同じです。つまり、第3引数を1~4の整数に書き換えれば、とりあえずエラーは出なくなりそう。 1~4とは書かず可変にしつつ、E5:E7の範囲に入力するつもりなら、COLUMN関数というより、どっちかっていうとROW関数ですね。他の回答者さんが書かれているとおりです。通常、より式が短くなるように、Sheet2ではなくSheet1の行列番号を利用して式を記述します。質問者さんが書かれている式においてもCOLUMN関数は、「sheet2!」とは書いてないので、Sheet1のE列の番号を返しています。
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答No1です。 勿論次の式でもよいですね。 =IF(COUNTIF(Sheet2!A:A,C$5)=0,"",VLOOKUP(C$5,Sheet2!A:D,ROW(A2),FALSE)) 下方にドラッグコピーする場合には列番号を絶対参照の形にする必要がありませんね。C5セルについては行番号について絶対参照の形にします。
- KURUMITO
- ベストアンサー率42% (1835/4283)
次の式をE5セルに入力しE7セルまでドラッグコピーします。 =IF(COUNTIF(Sheet2!$A:$A,C$5)=0,"",VLOOKUP(C$5,Sheet2!$A:$D,ROW(A2),FALSE))