Excel vlookup は、検証が最初の列にある場合にのみ一致します。

Excel vlookup は、検証が最初の列にある場合にのみ一致します。

Excel 2016 でこの vlookup 関数を使用しているときに、この問題に気付きました。

=IFERROR(VLOOKUP(A:A,Sheet2!A:B,2,FALSE),"NO MATCHING")

したがって、関数は範囲 A:B をチェックし、一致が確認されると、2 番目の列に値を出力します。現在、私のワークシートには、Sheet2 の列 "A" に (Sheet1 の "A" 列の値に従って) 同様の値があります。Sheet2 で A 列と B 列の位置を反転すると、常に iferror のメッセージ "NO MATCHING" が出力されます。

なぜこのような違いがあるのでしょうか?

答え1

VLOOKUP では検索値が左の列にある必要があるため、INDEX/MATCH を使用する必要があります。

=IFERROR(INDEX(Sheet2!A:A,MATCH(A:A,Sheet2!B:B,0)),"")

関連情報