VLOOKUPやXLOOKUPで「#N/A」が出るのは、多くの場合「探している値が、探す範囲の中に見つからない」ときです。
関数を書き直す前に、次の5つを上から順に確かめてみてください。
■1. 前後に空白が入っていないか
「A-101」と「A-101 」(うしろに空白)は、別の値として扱われます。
=LEN(A2) で文字数を比べると見つけやすく、TRIM関数で余分な空白を取りのぞけます。
■2. 数字が「数値」と「文字列」でまざっていないか
見た目は同じ「101」でも、片方が数値、もう片方が文字列だと一致しません。
探す値と、表の左はしの列の両方を =ISTEXT(A2) で確かめてみてください。TRUEなら文字列です。どちらかの形にそろえると見つかるようになります。
■3. 探す範囲がずれていないか
数式を下にコピーすると、範囲も一緒にずれることがあります。
範囲は $E$2:$F$100 のように「$」をつけて固定すると、式をコピーしてもずれません。
■4. 探し方が「完全一致」になっているか
VLOOKUPの4つめの引数を FALSE(または 0)にすると、ぴったり同じ値だけを探します。
省略すると「近い値」を探す設定になり、思わぬ結果になることがあります。
■5. 探す列が、範囲のいちばん左にあるか
VLOOKUPは、範囲の左はしの列でしか探せません。
左にない時は、XLOOKUP(Microsoft 365・Excel 2021以降・Googleスプレッドシート)か、INDEXとMATCHの組み合わせ(MATCHの3つめの引数は0)を使います。
■おまけ:見つからない時に「#N/A」ではなく「未登録」と出したい時
=IFNA(VLOOKUP(A2,$E$2:$F$100,2,FALSE),"未登録")
のように書くと、見つからない時だけ「未登録」と表示されます。
※エラーを隠すだけなので、先に1〜5で原因を確かめてからにしましょう。
■それでも直らない時は
「どこがおかしいのか分からない」「AIに作ってもらった式が動かない」という時は、画面のスクショ1枚からご相談ください。
原因を見つけて直し、何をなぜ直したかを短いメモでお渡しします。直せなかった時は、キャンセルとなり、お代はいただきません。
※この記事はAIを使って作成し、内容を確かめてから公開しています。