Googleスプレッドシートの公式ロゴマークとスプレッドシート画面

広告 オフィス・ドキュメント

【解決】スプレッドシートのVLOOKUPで#N/Aエラーを非表示にする方法

GoogleスプレッドシートでVLOOKUP関数を使ってデータを検索しているときに、どうしても発生してしまう「#N/A」エラー。

一生懸命作成した表なのに、このエラー文字がシートの中にポツポツと並んでいるのを見ると、なんだかシート全体が未完成に見えてしまって少しがっかりしてしまいますよね。

取引先に見せる資料やチーム内で共有するダッシュボードだったら、なおさら「どうにかしてきれいに見せたい!」と思うのは当然のことです。

実は、この「#N/A」というエラーは見た目が悪いだけでなく、SUM関数などを使った合計の計算がストップしてしまうという大きな実害もあります。

この記事では、スプレッドシートのVLOOKUPで発生する#N/Aエラーを消すための、IFNA関数やIFERROR関数の使い方、XLOOKUPへの移行など、今日から使える具体的なテクニックを分かりやすく丁寧に解説していきますね。

記事のポイント

  • VLOOKUPの#N/Aエラーを非表示にする関数の組み合わせ方
  • IFERROR関数とIFNA関数の違いと使い分けのコツ
  • 条件付き書式を使って見た目だけエラーを隠す裏技
  • エラー時の挙動をスマートに制御できるXLOOKUPへの移行方法

スプレッドシートで「VLOOKUP関数で#N/Aを非表示にする方法」を行う基本概念とメリット

【解決】スプレッドシートのVLOOKUPで#N/Aエラーを非表示にする方法

スプレッドシートで日々のデータ管理を行う上で、VLOOKUP関数は便利な相棒ですが、その便利さの裏で多くの人が頭を悩ませるのが「#N/A」というエラー表示です。

スプレッドシートのエラー処理の重要性

VLOOKUP関数は、指定した検索キーに一致するデータがない場合、「Not Available(見つからない)」という意味で「#N/A」というエラーを出力します。これはプログラムとしては正しい挙動ですが、そのまま放置するのはおすすめできません。

KYO
KYO
私も昔、VLOOKUPで作った売上管理表をそのまま共有したら、まだデータが入っていない行がすべて#N/Aになって「表が壊れている」と大騒ぎされたことがあります。あの時は大慌てで手作業で消して回り、本当に冷や汗をかきました。

あらかじめ「データがないときは空白にする」などのエラー処理を組み込んでおくことで、共有相手が「自分が壊してしまったのかな?」と不安になるのを防ぐことができます。

改行や不要データがシートの動作に与える影響

「#N/A」エラーを放置すると、単に見た目が悪いだけでなく、計算機能の連鎖を断ち切ってしまうという厄介な実害があります。

例えば、VLOOKUP関数で引っ張ってきた売上データの中に一つでも「#N/A」が混ざっていると、その列全体の合計を求めるSUM関数までエラーになり、計算が完全にストップしてしまいます。

エラー値を含む計算範囲を他の関数で参照すると、エラーが次々と伝染してしまうため、大元の段階でエラーを受け流して空白("")などに変換しておくことが不可欠ですよ。

関数と標準機能を使い分ける判断基準

VLOOKUPの#N/Aエラーを非表示にするには、大きく分けて2つのアプローチがあります。

手法 メリット おすすめの状況
IFERROR / IFNA関数 値そのものが変換されるため、後続計算が狂わない 数値の計算を伴う表やダッシュボード
条件付き書式 数式を変更せずに見た目だけを素早く整えられる 他人が作った数式をいじりたくない場合

実務で集計を行うのであれば、基本的には関数を使ったエラー処理を選ぶのが王道ですね。

スプレッドシートで「VLOOKUP関数で#N/Aを非表示にする方法」を一括で実行する具体的手順

【解決】スプレッドシートのVLOOKUPで#N/Aエラーを非表示にする方法 - 画面キャプチャ設定手順

ここからは、VLOOKUP関数で発生する#N/Aエラーをスマートに非表示にする具体的な手順を解説していきます。実務ですぐに使える内容ですよ。

手順1:IFERROR関数を使って#N/Aエラーを非表示にする

最も手軽でよく使われているのが、IFERROR関数を組み合わせる方法です。これを使うと、エラーが起きたときに代わりに空白を表示させることができます。

  • VLOOKUP関数を入力したいセルを選択します。
  • =IFERROR (VLOOKUP (A2, D2:E10, 2, FALSE), "") のように数式を入力します。
  • Enterキーを押して確定し、下のセルにコピーします。

この ""(ダブルクォーテーション2つ)が「空白」を意味しており、これだけでエラー部分が綺麗に非表示になります。

補足

IFERROR関数は、#N/Aだけでなく、数式のミスなど「すべてのエラー」を検知して空白にしてしまうため、バグに気付きにくくなるという側面もあります。

手順2:IFNA関数を使って特定のメッセージを表示させる

「エラーのときにただの空白ではなく、データがないことを明示したい」という場合には、IFNA関数がおすすめです。IFNA関数は、#N/Aエラーのときだけに絞って処理を行います。

  • セルに =IFNA (VLOOKUP (A2, D2:E10, 2, FALSE), "該当なし") と入力します。
  • 数式を確定して結果を確認します。

検索キーが見つからない場合、指定した「該当なし」という文字が表示されます。これなら単にデータが登録されていないだけなのかがはっきりと区別できますね。

手順3:VLOOKUP関数の第4引数(検索の型)を正しく指定する

そもそも、なぜエラーが多発してしまうのでしょうか。実はVLOOKUP関数の最後に指定する「検索の型」が省略されていることが原因のケースも多いです。

第4引数を省略すると自動的に「TRUE(近似一致)」となり、データがソートされていないと誤った結果やエラーになります。必ず FALSE を指定して「完全一致」で検索する癖をつけましょう。

最新の仕様については公式サイトもご確認ください。

スプレッドシートの「VLOOKUP関数で#N/Aを非表示にする方法」作業を効率化するプロのテクニック

【解決】スプレッドシートのVLOOKUPで#N/Aエラーを非表示にする方法 - 応用テクニックイメージ画像

ここからは、ただ数式を書き換えるだけでなく、シートの用途に合わせて最適なアプローチを選ぶためのプロの応用テクニックをご紹介します。

条件付き書式を使ってエラーを目立たなくする

数式を一切変えずに、見た目だけを非表示にする裏技です。エラー値自体のデータは残しておきたいデバッグ用途などに重宝します。

対象範囲を選択し、「表示形式」から「条件付き書式」を開きます。カスタム数式に =ISNA ($C2) と入力し、フォントの色を背景色と同じ「白」にするだけで、実質的にエラー表示を消し去ることができますよ。

XLOOKUP関数に移行してスマートに記述する

最近主流になりつつあるXLOOKUP関数への移行も非常に効果的です。XLOOKUP関数には、最初から「見つからない場合の処理」が組み込まれています。

=XLOOKUP (A2, D2:D100, E2:E100, "") のように記述するだけで、IFNA関数などを使わずにエラー制御が完結します。数式が短くなり、メンテナンスも非常に楽になりますよ。

ポイント

無駄な入れ子関数を減らすことは、スプレッドシートの計算負荷を軽減し、動作をサクサクにする効果もあります。

複数条件の検索エラーを回避する

複数条件での検索でエラーになるのを防ぐには、マスタデータに作業列を作り、B2 & "_" & C2 のように検索キーを結合させておくのが一番確実なアプローチです。複雑な配列数式を使うよりも安全でエラー追跡がしやすいですよ。

  • この記事を書いた人

KYO

現役のシステムエンジニア。普段は企業向けの開発やツールの自動化を専門にしています。データの仕組みを知り尽くしたプロの視点から、スプレッドシートやExcel、Notion、AIツールの「本当に役立つ時短テクニック」を初心者向けに分かりやすく解説中!

-オフィス・ドキュメント