VLOOKUPが失敗する原因は、ほぼ常に次のいずれかです。近似一致、文字列と数値の不一致、非表示のスペース、範囲が固定されていない、列番号の間違い、または検索値が左端の列にないこと。このチェックリストを順に確認するか、壊れた数式をExcelGPTに貼り付けて「なぜ機能しないのですか?」と尋ねて、すぐに修正方法を入手してください。
AI に任せる完全一致を強制する
ほとんどの#N/Aエラーは、最後の引数の指定漏れが原因です。VLOOKUPが近似一致を行わないように、数式の末尾を , FALSE)(または 0)で終わらせてください。
文字列と数値の不一致を修正する
キーが一方では数値で、もう一方では文字列になっている場合、VLOOKUPは一致しません。VALUE() / TEXT()で変換するか、「データ」▸「区切り位置」を使用して列をクリーンアップします。
非表示のスペースを取り除く
先頭や末尾のスペースがあると一致しません。検索値をTRIMで囲みます: =VLOOKUP(TRIM(A2), …)。
テーブルの範囲を固定する
数式を下方向にコピーすると、固定されていない範囲がずれてしまいます。F4キーを押して絶対参照($A$2:$D$100)にしてください。
列番号を確認する
col_index_num(列番号)は、シートの列ではなく、テーブルの最初の列から数えます。テーブルの幅より大きい数値を指定すると、#REF!が返されます。
キーが最初の列にあることを確認する
VLOOKUPは範囲の最初の列のみを検索し、右側を参照します。キーが求めたい値よりも右側にある場合は、=XLOOKUP(A2, B:B, C:C) または INDEX/MATCH に切り替えてください。
=IFNA(VLOOKUP(TRIM(A2), $A$2:$D$100, 4, FALSE), "Not found")ほぼ間違いなく、余分なスペース、文字列として保存されている数値、または近似一致など、非表示の不一致が原因です。=VLOOKUP(TRIM(A2), 範囲, n, FALSE) を試し、両方のデータ型が同じであることを確認してください。
最後の引数が TRUE または省略されている(近似一致)、あるいはテーブルの範囲が固定されておらず、下方向にコピーしたときにずれてしまったかのいずれかです。FALSE を追加し、F4キーを押して範囲を固定してください。
範囲が絶対参照になっていません。下方向にコピーすると、データの下へとずれてしまいます。$(F4キー)で範囲を固定し、すべての行でテーブル全体が検索されるようにしてください。