この記事ではExcel(エクセル)の、ズバリこんなケースを一発解決します。
VLOOKUPでデータがあるのにN/A(データなし/エラー)になって反映されない。なんで?
データがあるのにN/Aになって反映されない実際の例
解決できるのはこんな例です。
VLOOKUP関数は正しく設定されていて、参照先に検索対象のデータはあるのに#N/A(エラー/データなし)になっている
たしかにデータは存在するのになぜか反映されていない。
原因はコレです。
原因は検索値のセルの書式が違うから
検索値の書式と、あて先の表の書式をよく見てください。
この例では検索値の方が標準、
表の方が文字列になってますね。
このせいでVLOOKUPがうまくいかず、欲しい値が反映されないわけです。
VLOOKUPでは検索値と参照する表の中の書式をあわせる必要があります。
合わせ方はコレです。
書式の合わせ方(列ごと一括設定では不十分!)
この例では、検索値の方を表に合わせて文字列にすることにします。
このとき、検索値の列を選択して、書式を文字列にするだけでは反映されません。
設定したら、F2とEnterを連打!
これで書式が適用されて、VLOOKUPが反映されます。
でも…
書式を一括で合わせる方法
F2+Enter連打なんてやってられるか!
というくらい行数がたくさんある場合はこちらの記事を参考にしてください。
データなしを簡単に抽出する方法
ここまで、VLOOKUPがうまくいかない場合、反映されない場合を書いてきました。
ここまででその問題は解決できたと思うので、ここからはついでにVLOOKUPを使う際に便利な方法を紹介します。
まず、VLOOKUPを使うときは、検索値が参照範囲に存在することを確かめたい場合と、検索値が参照範囲に存在しないことを確かめたい場合があると思います。
後者の検索値が参照範囲に存在しないことを確かめたい場合、↓のようにフィルタで#N/Aを抽出してもいいですが、
↓のようにIFERROR関数を使うことで、データ抽出を簡単にできる場合があります。エラーセルを↓のように例えば「0」というデータで抽出できるためです。
ISERROR関数でもよいですが、ISERRORの場合はTRUEとFALSEの表示だけになるので、文字にしたい場合はIFERRORの方が使い勝手がよいでしょう。
その他にVLOOKUPで気をつけること
検索方法はFALSE
- VLOOKUPの4番目に指定する検索方法はFALSEにしましょう
TRUEが近似一致、FALSEが完全一致を表しますが、
TRUEだと表の方の並び順が昇順に並んでいる必要があります。
表から値を取りたいのが主目的だと思うので、検索方法はFALSEです。
参照範囲は絶対参照の$付きにする
- 同じシートから参照範囲となる表を選択すると相対参照になるので注意しよう
=VLOOKUP(から始めて参照範囲を選択するとき、表がB3:E11のようになります。
これを下のセルにコピーすると、B4:E12となってしまいます。
必ず絶対参照の$をつけて、B$3:E$11のようにしましょう。
参照範囲は別シートの表を参照可能
参照範囲となる表は同じシート内でなくても指定できます。
[シート名]!B$3:E$11 のように指定できます。
列番号の開始番号は「1」
これ忘れがちですが、参照範囲のどの列を表示させるか、の列番号の開始番号は「1」です。「0」ではありません。
気を付けましょう。
以上、VLOOKUPが反映されない場合の解決方法と、VLOOKUPの便利な使い方を説明しました。
VLOOKUPを極めれば、仕事効率化間違いなしです。
がんばって理解しましょうね!
SEが異業種へ転職できるのは30歳まで?やりがいのある仕事を求めて…
元バンドマン、今サラリーマンでちょっとしたお小遣い稼ぎができる話