列内の別のワークシートにExcelセルが存在するかどうかを確認し、別の列の内容を返します
私がやりたいのは、セルD3
(現在のワークシート)の内容が最初のワークシート(私の場合はリスト)の列A
に存在するかどうかを言うことです。 (そして、それらは常にどこかに存在します)。列C
の対応する行の内容を返します。
つまり、一致するセルが行12
で見つかった場合-C12
からデータを返します。
次の構文を使用しましたが、最後の部分を正しく動作させることができないようです。
=IF(ISERROR(MATCH(D3,List!A:A, 0)), "No Match", VLOOKUP(D3,List!A:A,1,TRUE))
数式を修正する方法は?
次の式を使用できます。
Excel 2007以降の場合:
=IFERROR(VLOOKUP(D3,List!A:C,3,FALSE),"No Match")
Excel 2003の場合:
=IF(ISERROR(MATCH(D3,List!A:A, 0)), "No Match", VLOOKUP(D3,List!A:C,3,FALSE))
ご了承ください
- 私は
VLOOKUP
でList!A:C
を使用しており、列№3
から値を返します - 私は
VLOOKUP
がFALSE
と等しい4番目の引数を使用しています。その場合、VLOOKUP
は完全に一致するものだけを見つけ、List!A:C
doの最初の列の値は- notソートする必要があります(TRUE
を使用している場合とは逆)。