「Excel」VLOOKUP関数でエラーが出る原因を解決したい【T】
検索値と参照先のデータの不一致を確認する方法
VLOOKUP関数で最も多いエラーの原因は、探している「検索値」と、リスト側の「左端の列」の内容が完全一致していないことです。
見た目には同じ文字や数値に見えても、データの裏側に余計な空白文字が含まれていたり、数値と文字列というデータ型の違いがあったりすると、関数は別のものとして認識してしまいます。
検索値が入っているセルをダブルクリックして、末尾に目に見えないスペースが入っていないか確認します。
参照範囲の左端列に対しても同様に、不要な空白や改行が含まれていないかチェックしてください。
数値が「文字列」として保存されていないか、セルの書式設定を見直して型を統一させます。
アドバイスとして、大量のデータを扱う場合はTRIM関数などを使って一括で空白を取り除いておくと、こうした目に見えない不一致によるエラーを未然に防ぐことができます。
また、数値が文字列扱いになっている場合は、データタブの「区切り位置」機能を利用して一括で数値型に変換する手法も非常に有効です。
範囲指定と列番号の指定ミスを修正する手順
関数の引数で指定している「範囲」や「列番号」が、実際の表の構造とズレている場合もエラーが発生します。
特に、数式を下のセルにコピーした際に範囲が一緒に動いてしまう「相対参照」のミスや、範囲外の列番号を指定しているケースなどは、基本的ながら見落としやすいポイントです。
VLOOKUP関数の第2引数である「範囲」が、コピー後もずれないように「$」を付けた絶対参照になっているか確認します。
第3引数の「列番号」が、指定した範囲内の列数を超えていないか、左から数え直して数値を修正してください。
範囲の左端の列に、必ず検索したいキーワードが含まれていることを改めてチェックします。
注意点として、表に列を挿入したり削除したりすると、数式内で直接指定した「列番号」が自動で追従しないため、結果がズレたりエラーになったりすることがあります。
構造が頻繁に変わる表では、COLUMN関数を組み合わせて列番号を動的に取得するように工夫すると、メンテナンス性が向上しエラーを減らすことにつながります。
検索方法の指定によるエラーを回避する効果
第4引数の「検索方法」に「FALSE(完全一致)」を指定しているかどうかも、意図しない結果やエラーを避けるための重要な鍵となります。
ここを省略したり「TRUE(近似一致)」にしたりしていると、リストが昇順に並んでいない場合に誤ったデータを引っ張ってきたり、エラーを誘発したりする原因になります。
関数の末尾にある第4引数に「0」または「FALSE」を確実に入力して、完全一致での検索を強制します。
エラーが表示される場合に備えて、IFERROR関数で囲み、エラー時に空白や「該当なし」と表示させる設定を行います。
近似一致(TRUE)を使う場合は、必ず参照範囲の左端列を昇順で並べ替えておいてください。
アドバイスとして、VLOOKUPは「左から右」へしか検索できないという制約があるため、検索したい列がデータの右側にある場合はエラー以前に参照自体が不可能です。
最新の「Excel」を利用できる環境であれば、こうした制約がないXLOOKUP関数に切り替えることで、よりシンプルかつエラーの少ない数式を作成できるようになるはずです。
