【スプレッドシート】VLOOKUP関数の#N/AをIFERROR又はIFで非表示・解消する方法
Googleスプレッドシートでよく使う便利な関数の1つにVLOOKUP関数があります。
VLOOKUPは検索条件にマッチしない場合、「#N/A」とセルに表示されます。
このVLOOKUPの非ヒット時の「#N/A」を、IFERROR、IF関数で表示しないようにする方法を解説したいと思います。
VLOOKUP関数とは
VLOOKUP関数は、Googleスプレッドシートに用意されている関数です。
以下のように4つの引数を設定します。
VLOOKUP(検索キー,検索範囲,指数,FALSE)
- 検索キー:検索条件となるキー(セルまたは数値・ワード)を設定します。
- 検索範囲:検索したいセルの範囲を設定します。
- 指数:検索キーがヒットしたところから○番目を表示します。
- FALSE:基本的にFALSEで、省略可能。
検索キーにヒットした列の情報を参照できるため、元々あるデータを見やすい形で整形し直すといった使い方で、スプレッドシートの関数でもよく利用されています。
VLOOKUP関数の条件にマッチしないと「#N/A」が表示
VLOOKUP関数は、検索キーに一致しなかった場合には、「#N/A」が表示されます。
例えば、このようなスプレッドシートの表があったとします。
この表から発送日を検索条件にして、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関数を使った表の見た目をキレイに整えましょう。
ディスカッション
コメント一覧
まだ、コメントがありません