【スプレッドシート】VLOOKUP関数の#N/AをIFERROR又はIFで非表示・解消する方法

Googleスプレッドシートでよく使う便利な関数の1つにVLOOKUP関数があります。

VLOOKUPは検索条件にマッチしない場合、「#N/A」とセルに表示されます。

このVLOOKUPの非ヒット時の「#N/A」を、IFERROR、IF関数で表示しないようにする方法を解説したいと思います。

 

VLOOKUP関数とは

VLOOKUP関数は、Googleスプレッドシートに用意されている関数です。

以下のように4つの引数を設定します。

VLOOKUP(検索キー,検索範囲,指数,FALSE)

  1. 検索キー:検索条件となるキー(セルまたは数値・ワード)を設定します。
  2. 検索範囲:検索したいセルの範囲を設定します。
  3. 指数:検索キーがヒットしたところから○番目を表示します。
  4. FALSE:基本的にFALSEで、省略可能。

検索キーにヒットした列の情報を参照できるため、元々あるデータを見やすい形で整形し直すといった使い方で、スプレッドシートの関数でもよく利用されています。

VLOOKUP関数の条件にマッチしないと「#N/A」が表示

VLOOKUP関数は、検索キーに一致しなかった場合には、「#N/A」が表示されます。

例えば、このようなスプレッドシートの表があったとします。

GoogleスプレッドシートでVLOOKUP関数を活用する際のサンプル例の表

この表から発送日を検索条件にして、VLOOKUP関数で抽出してみます。

VLOOKUP関数の使用例

B列の発送日を検索キーとして以下のようにVLOOKUP関数を準備しました。

=VLOOKUP($B3,’注文データ’!$B$2:$E$10,2,FALSE)

すると、発送日の中に存在しなかった「4/7」の列だけVLOOKUPの結果が「#N/A」で表示されてしまっています。

もちろん、#N/Aがあっても気にならない場合は問題ありませんが、他の人と共有したり、資料として利用する場合に表の見栄えがよくありません。

VLOOKUP関数の#N/Aを表示しなくする方法

このVLOOKUP関数で検索ヒットしなかった場合に表示される#N/Aを非表示にする方法を紹介したいと思います。

「#N/A」を非表示にする方法には2種類の方法があります。

IFERROR関数を使う方法とIF関数を使うものです。

IFERROR関数を使った#N/A非表示方法

IFERROR関数は「IFERROR([エラー値])」という構文で2つの値を入力し、1つ目の値がエラーかどうか調べます。

  • 1つ目の値が正常値だった場合:1つ目の値の結果をそのまま表示
  • 1つ目の値がエラーだった場合:2つ目のエラー値を表示

IFERROR関数とVLOOKUP関数を以下のように組み合わせます。

=IFERROR(VLOOKUP($B3,‘注文データ’!$B$2:$E$10,2,FALSE),“”)

1つ目のVLOOKUP関数の値が検索条件に合致した場合はそのまま表示され、もし検索条件にヒットしない場合は「””」ということで、何も表示されなくなります。

このようにしてIFERROR関数とVLOOKUP関数の組み合わせで条件非一致時の「#N/A」を消すことができます。

IF関数を使った#N/A非表示方法

IF関数を使った場合には、やや複雑な構文になります。

=IF(ISERROR(VLOOKUP($B3,‘注文データ’!$B$2:$E$10,2,FALSE)),“”,VLOOKUP($B3,‘注文データ’!$B$2:$E$10,2,FALSE))

まず1つ目の値にISERROR関数でVLOOKUP関数がエラーかどうかの判定を行います(エラーの場合TRUE、正常の場合FALSE)。

ISERRORがTRUE、すなわちVLOOKUPがエラーしている場合、2つ目の引数である「””」すなわち空白が表示されます。

ISERRORがFALSE、VLOOKUPが正常の場合、3つ目の引数のVLOOKUP関数の値が表示される仕組みです。

このようにしてIF関数で、VLOOKUP関数がエラーで「#N/A」の場合に非表示にすることができます。

IFERRORとIF関数どちらがオススメ?

IFERROR関数とIF関数の2通りの方法で、VLOOKUP関数のエラー時の「#N/A」表示を消しました。

しかし、どちらを利用するのがオススメでしょうか?

シンプルに表現できるのはIFERROR関数です。

数式の分量を見てもわかりますが、IFERROR関数の方が少なく済みます。

まとめ・終わりに

今回、VLOOKUP関数で検索キーが見つからずに「#N/A」になる場合に非表示にする方法を紹介しました。

IFERROR関数とIF関数の2通りの方法で、「#N/A」を非表示にしました。

他人に見せるための資料や共有する場合に#N/Aがあると見栄えが悪く、また間違いと思われることがあります。

今回紹介したやり方を使って、VLOOKUP関数を使った表の見た目をキレイに整えましょう。