Excel Formulas Academy · レッスン

IFNAで検索エラーに対応する

他のエラーは表示したまま、検索で発生したNAエラーだけを処理します。

レッスン 3/413 ステップ

「IFNAで検索エラーに対応する」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。

IFNA がある理由

IFERROR は強力ですが、すべてのエラーを隠します。場合によっては、それでは広すぎます。検索が一致する値がないためではなく、データの誤りによって失敗した場合は、その問題を隠すのではなく確認したいはずです。

IFNA 関数は、この問題を解決します。#N/A エラーだけを処理し、それ以外のエラーは通常どおり表示します。

そのため、#N/A が想定内で問題のないエラーとなる検索では、正確に目的に合う関数です。それ以外のエラーは、確認すべき本当の不具合として表示できます。

IFNA の構文

IFNA は IFERROR とよく似ており、2 つの引数を受け取ります。

  • value 実行する数式
  • value_if_na 結果が #N/A の場合にのみ表示する値

構文は =IFNA(your_formula, fallback) です。数式が #N/A を返した場合はフォールバック値が表示されます。それ以外のエラーを返した場合、そのエラーは表示されたままになります。

=IFNA(VLOOKUP(A2,Data!A:B,2,FALSE), "Not found")

IFNA と IFERROR の違い

この違いは重要です。列番号を間違えたために #REF! エラーが発生する検索を考えてみましょう。

  • IFERROR は、その #REF! をフォールバック値に置き換えるため、本当の間違いが隠れてしまいます。
  • IFNA は #REF! を表示したままにするため、数式を修正する必要があると分かります。

実際に一致する値がない場合は、どちらも同じように動作し、指定した分かりやすいメッセージを返します。IFNA は、不具合を隠さない点が異なります。

検索結果をきれいに整える

典型的な使い方を見てみましょう。顧客名を検索し、その名前が表にない場合に分かりやすいラベルを表示したいとします。

顧客が本当に見つからない場合は、"Unknown customer" が返されます。しかし、誤って別の表を参照したり、列番号を間違えたりした場合は、元のエラーが表示されるため、修正できます。

これにより、間違った数値を知らないうちに信頼してしまうことを防げます。

=IFNA(VLOOKUP(A2,Customers!A:C,3,FALSE), "Unknown customer")

XLOOKUP と IFNA

XLOOKUP も一致する値が見つからない場合に #N/A を返すため、IFNA と組み合わせて便利に使えます。

XLOOKUP には if_not_found という組み込みの引数もありますが、古い数式を編集するときや、多くの検索で処理を統一したいときには IFNA が役立ちます。

どちらの方法でも、見つからない場合はきれいな結果を表示しながら、本当のエラーは見える状態に保てます。

=IFNA(XLOOKUP(A2,Names,Emails), "No email on file")

代わりに数値を返す

フォールバック値には数値も指定できます。見つからない値を後の計算で 0 として扱う場合は、テキストではなく 0 を返してください。

たとえば、適用されない割引を検索する場合、合計計算を継続できるように 0 を既定値にするのが適切です。

数値列で "None" のようなテキストを返すと、後続の計算で #VALUE! エラーが発生します。そのため、セルの用途に合った型のフォールバック値を指定してください。

=IFNA(VLOOKUP(A2,Discounts!A:B,2,FALSE), 0)

IFNA で診断する

テスト中に役立つ習慣の 1 つは、数式を作成する間、IFERROR ではなく IFNA を使うことです。

IFNA は想定内の #N/A だけを隠すため、#VALUE! や #REF! などの予期しないエラーが発生すると、すぐに気付けます。

すべてのエラーを本当に抑制したい場合は、後から IFERROR に切り替えることもできます。しかし、最初に IFNA を使うと、早い段階で間違いを発見できます。

実際の計算と組み合わせる

大きな数式に値を渡す検索を IFNA で囲むことができます。ここでは、価格が見つからない場合は 0 を既定値とし、その値に数量を掛けています。

価格が存在すれば、実際の明細合計が得られます。商品が価格表にない場合は、価格が 0 になり、明細合計も 0 になります。一方、構造上のエラーは引き続き表示されます。

これにより、売上シートを見やすく、信頼できる状態に保てます。

=IFNA(VLOOKUP(A2,Prices!A:B,2,FALSE),0) * C2

利用可能性に関する注意事項

IFNAは現行のExcelとGoogle Sheetsで利用できるため、現在使用するほとんどのスプレッドシートで機能します。

非常に古いバージョンのExcelには存在しない場合があります。その場合は、#N/Aエラーを特に確認するISNAとIFを組み合わせて、同じ動作を実現します。

次のレッスンでは、エラーを検査するIS系の関数を学びます。これらを使うと、さらに細かく制御できます。

=IF(ISNA(VLOOKUP(A2,Data!A:B,2,0)), "Not found", VLOOKUP(A2,Data!A:B,2,0))

列全体でIFNAを使う

何百行にもわたって検索式をコピーする場合、IFNAは特に便利です。一致するキーもあれば、一致しないキーもあるため、見つからない場合に整ったラベルを表示したいことがあります。

この数式を下方向にコピーすると、既知の店舗には実際の地域が表示され、マスターリストにまだ登録されていない店舗には"Region TBD"が表示されます。

IFNAは他のエラーを表示したままにするため、列の先頭に壊れた参照が1つあれば、ラベルに隠されることなく、問題があると通知されます。

=IFNA(VLOOKUP(A2,Stores!A:C,3,FALSE), "Region TBD")

IFNAとIFERRORの選び方

選択の基本ルールは次のとおりです。

  • 検索で該当なしを処理しつつ、実際のエラーは確認したい場合はIFNAを使用します。
  • 割り算の比率のように、どのエラーも想定内で問題ない場合はIFERRORを使用します。

IFNAは、より慎重で限定的な選択肢です。1種類のエラーだけを隠し、残りは自分で修正することを前提とします。

確認テスト

IFNAの理解度を確認します。

まとめ: IFNA

検索結果を限定的に処理する関数を学びました。

  • =IFNA(value, value_if_na)は #N/Aエラーだけを処理します。
  • 他のエラーはすべて表示されたままになるため、本当のバグが隠されません。
  • VLOOKUPやXLOOKUPで検索に一致しない場合に、安全に使用できます。
  • 代替値には、後続処理でのセルの用途に合わせて、文字列または数値を指定します。

次は、エラーを処理する前に検査するISERRORとその関連関数を学びます。

無料で開始

AI チューターと学ぶ Excel — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「IFNAで検索エラーに対応する」レッスンは無料ですか?

はい。「IFNAで検索エラーに対応する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。

「IFNAで検索エラーに対応する」で何を学びますか?

他のエラーは表示したまま、検索で発生したNAエラーだけを処理します。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Excel Formulas Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「IFNAで検索エラーに対応する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このExcel Formulas Academyレッスンでコードを書いて実行できますか?

はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. エラーの種類を理解する
  2. IFERRORでエラーを捕捉する
  3. IFNAで検索エラーに対応する
  4. ISERRORで問題を検出する
← Excel Formulas Academyに戻る