Excelの困りごとを解決するこのコラム。

今回のテーマ:VLOOKUP関数のエラー「#N/A」とその対策

VLOOKUP関数でエラーが出たとき、どう直せばいいかわからない…という経験はありませんか?このコラムにも、そうした声が多く寄せられています。

そこで今回は、「#N/A」の原因とあわせて、IFERROR関数やXLOOKUP関数を使った対策をご紹介します。

VLOOKUP関数の基本については、以下をご覧ください。

▼VLOOKUP関数の式の仕組みをやさしく解説

▼「VLOOKUP関数の理解度チェック」もぜひお試しください!―無料オンライン研修eラーニング:ELAN(エラン)

VLOOKUP関数で「#N/A」が出て手が止まる…

VLOOKUP関数の結果が「N/A」みたいな値になるんだけどこれは何?

エラー値が出たときは、どうしたらいい?

VLOOKUP関数が書けるようになった方から、上記のようなご相談をよくいただきます。

ひとつずつ解説します。

VLOOKUP関数でエラー値「#N/A」が表示される原因

では、VLOOKUP関数で下図のようなエラー値が出てしまう原因を見てみましょう。

この例では、C8セルのVLOOKUP関数の結果として「#N/A」というエラー値が出ています。


図を拡大する

この原因は、以下となります。例題の式とあわせて見てみましょう。

■「#N/A」が表示される原因

原因は、このVLOOKUP関数の検索値である第一引数に指定したA8セルの値”2210”が、E列に存在しなかったため、「その検索値が見つかりませんでした」という報告として「#N/A」という値が出るようになっている、ということなのです。

言い換えると、次のような説明になります。

「第一引数に指定した値が、第二引数の一番左の列(検索列)に存在しない場合、VLOOKUP関数は#N/Aという値を返す仕組みになっている」

これで理屈は分かったとして、次によくいただくご質問は「式の結果がエラーになったらどうしたらよいのか」というものです。

例えばエラーが出たとき、次のようにしたい場合があります。

・正しい値を表示させる
・エラー値ではなく空白にする
・「-」(ハイフン)を表示する

これはどうすればよいかというと、まず正しい値が出てくるようにするには、「第二引数で指定する表に情報を追加する」必要があります。

正しい値を表示させるには

今回の場合、「勘定科目マスタ」に「必要な勘定科目が不足していた」ということですから、次のように、E9セルに「その勘定科目コードの追加」とF9セルに「勘定科目名を追加」してあげれば、C8セルの結果はエラー値ではなくなります。


図を拡大する

一方、「エラーになるようなら、ハイフンなどを表示したり、もしくは何も表示しないようにする」にはどうすればよいのか。その対策として、定番の方法を確認しておきましょう。

エラー値が出たときの対策:「-」を表示/空白にする

それには、IFERROR関数というものを使います。

これは関数名から想像できる通り、「もし関数の結果がエラーだった場合、どうするかを指定する」ことができる、という関数なのです。

■IFERROR関数で「-」を表示するには

例えば、C8セルのVLOOKUP関数がエラーになる場合は「-(ハイフン)」を表示したい、という場合は、このような式になります。

全体図を見てみましょう。


図を拡大する

このように、IFERROR関数は第一引数に指定した式がエラーになった場合、第二引数に指定した値を返す、というものです。

■IFERROR関数で空白にするには

ハイフンではなく空白にしたいという場合は

というように、第二引数に、空白を意味する””(ダブルクオーテーションを2つ続けて入力)を指定します。

以上が、VLOOKUP関数にIFERROR関数を組み合わせた定番の対策となります。次に「XLOOKUP関数」を使った方法をご紹介します。

「XLOOKUP関数」ならエラー値の対応がもっとラクになる

Excelのバージョン2021以降、またはMicrosoft 365のExcelでは、VLOOKUP関数の進化版である「XLOOKUP関数」というものが使えるようになっています。

このXLOOKUP関数のありがたい点の一つが、この関数だけでエラー値への対応もできてしまうことです。

先ほどの例の場合、XLOOKUP関数にて、結果がエラーになる場合は空白にしたい、というときはこのような式になります。

全体図を見てみましょう。


図を拡大する

このXLOOKUP関数では、次のように5つの引数を指定しています。それぞれの役割を見た上で、全体として何をしてくれるのかを見てみましょう。

■XLOOKUP関数 5つの引数の役割

□第一引数
検索値

□第二引数
第一引数の値を検索する範囲

□第三引数
第一引数の値が第二引数で見つかった場合、それと同じ行の、この列の値が式の結果として使われる。

□第四引数
第一引数の検索値が、第二引数の範囲で見つからなかった場合に返す値を指定する。上記例では「空白にする」という意味。

□第五引数
検索の型(VLOOKUP関数と同様の役割)

例題の式を日本語に訳すとこんな動作ということになります。

A8セルの値をE列で探してみて、もし見つかったら、それと同じ行にあるF列のセルの値を返す。もし見つからなかったら、この式の結果は空白(””)にする。

という処理を行っていることになります。

このように、XLOOKUP関数であれば、VLOOKUP関数のようにIFERROR関数を組み合わせなくても、このXLOOKUP関数だけでエラー値対応までできてしまいます。

▼VLOOKUP関数の式の仕組みを、もう一度じっくり確認!

▼「VLOOKUP関数の理解度チェック」もぜひお試しください!―無料オンライン研修eラーニング:ELAN(エラン)

コラム執筆:吉田 拳さん

Excelの効率化支援を行う株式会社すごい改善代表取締役。実務直結主義のExcel研修を2011年から14年間に渡り500回以上開催、受講者は1万名を超える。著書『たった1日で即戦力になるExcelの教科書』『たった1秒で仕事が片づくExcel自動化の教科書』(技術評論社)など累計50万部を突破。

▼これまでの「Excel教室」
式を壊してしまいそう…の不安を解消する方法
集計しづらい状態のデータを受け取った。対処法は?
Excel 5大グラフを理解する。スムーズな作り方も解説
絶対参照($マーク)をわかりやすく解説
Excelデータ入力で、やらないほうがいいこと
セルの「表示形式」の工夫がわかるといろいろな問題が解決する
IF関数の基本「もし、ここがこうだったら、こうしたい」のとき
IF関数をさらに使いこなす!レベルアップ講座
VLOOKUP関数の式の仕組みをやさしく解説

SPECIAL SITE
ABOUT

あなた「らしさ」を応援したいWorkstyle Makerリクルートスタッフィングが運営する
オンラインマガジンです。

ELAN
IF関数の新動画講座リリース中!

Excel、Word、PowerPoint、ビジネスマナーなど、すべての講座を24時間いつでも、好きな場所で受講できる無料のオンライン研修です。

JOB PICKUPお仕事ピックアップ

リクルートスタッフィングでは高時給・時短・紹介予定派遣などさまざまなスタイルの派遣求人をあつかっています