この記事では、エクセルのVLOOKUP関数でデータがあるのにヒットしない原因と対策、#N/Aエラーの解決方法、文字列や数字の書式問題について解説していきます。
ポイントは、以下の通りです
・データ形式の違い(文字列と数値)がヒットしない主な原因
・前後のスペースがVLOOKUPの検索を妨げる場合がある
・完全一致(FALSE)と近似一致(TRUE)の設定ミス
・検索範囲の左端列が検索値と同じデータ型である必要
・TRIM関数やVALUE関数で形式を統一して解決
エクセル操作は1つ1つ追っていけば必ずうまくできるため、ぜひ本記事を参考にスキルアップにつなげてくださいませ♪
目次
VLOOKUPであるのにヒットしない原因と対策1【文字列と数値の混在:N/Aエラー】
それでは以下のサンプルを用いてVLOOKUPであるのにヒットしない問題を確認していきます。
主な原因の1つは
・文字列と数値の混在
ですね。
解決策としては、どちらかにデータを統一すること。
以下サンプルを使用します。数値と文字列の違いや、見た目は同じでも内部形式が異なる場合に発生します。
問題のあるVLOOKUP関数を確認します。D2セルに次の数式を入力してみましょう。
この数式では、E2セルの数値999でB列の文字列”999″を検索しようとしているため、#N/Aエラーが発生します。
解決策
解決するには、文字列の999(B2セル)をクリックで数値に変換するとしましょう。
すると無事VLOOKUPであるのにヒットしない問題が解決できました。
なお、上では明らかにエラー表示で文字列と数値の混在がわかるものの、その表示が出ないケースもあります。
このような場合も想定し、予めコードのデータ形式をホーム、数値グループ、数値として変換しておくとうまくエラー対応できます。
なお、関数で検索値の数値をを文字列に変換する場合、VALUE関数を適用させるだけで文字列にも変換できますので、お試しください。
逆に数値を文字列に変換し統一したいのであれば、=TEXT(対象セル,”0″)で処理できます。
VLOOKUPであるのにヒットしない原因と対策2【表の最も左が検索値になっていない】
続いてはリスト等の列の順番の観点でヒットしないケースも見ていきます。
VLOOKUPでパソコンの金額を検索してみましょう。
=VLOOKUP(F3,$B$2:$D$7,2,FALSE)
ぱっと見良さそうに見えるものの、誤りがあります。
VLOOKUPでは検索値は表の最も左に持ってくるというルールがあるためです。そのため、商品名の列を選択(ctrl+X)で切り取り、挿入し、左に持っていきます。
その上で、選択範囲や列番号などを正しいものにし、決定しましょう。
これでヒットしない問題が解決ですね!
スペースや完全一致・近似一致の設定によるヒットしない問題を確認していきます。
VLOOKUPであるのにヒットしない原因と対策3【検索方法をTRUEに】
続いてのVLOOKUP関数でヒットしない問題としては、近似一致(TRUE)を使用する場合の問題ですね。
TRUEを使用時は検索値は昇順である必要がありますが(右の表)以下ではそうなってないです。
これで、近似一致形式(TRUE)で
=VLOOKUP(C3,$G$3:$H$7,2,TRUE)
VLOOKUPを適用させます。
すると以下のようにおかしなデータに。
G列該当範囲を選択しデータタブ、昇順(小さい順)に並び替えます。
するとVLOOKUPでおかしい問題が解決できました。
まとめ VLOOKUPであるのにヒットしない(うまくいかない:#N/A:数字:書式:0など)
この記事では、VLOOKUP関数でデータがあるのにヒットしない問題の原因と対策について解説してきました。
エクセルの操作になれさらに快適に過ごしていきましょう。