VLOOKUP などの Excel 数式の #N/A エラーを修正する方法


Microsoft Excel は、値を入力したり、理解できない操作を実行しようとすると、エラーを返すことがあります。エラーにはいくつかの種類があり、それぞれのエラーは、犯した可能性のある特定の種類の間違いに関連付けられています。

#N/A エラーは、標準の Excel エラーです。データを間違って参照した場合に表示されます。たとえば、存在しないデータ、またはルックアップ テーブルの外に存在するデータを参照したり、ルックアップ値のスペル ミスをしたり、ルックアップ値に余分な文字 (カンマ、アポストロフィ、またはスペース文字) を追加したりします。

このエラーはルックアップ値を誤って参照したときに発生するため、最も一般的には LOOKUP、VLOOKUP、HLOOKUP、MATCH 関数などのルックアップ関数に関連しています。 #N/A エラーの理由、例、いくつかの修正方法を見てみましょう。

#N/A エラーの理由

ワークシートで #N/A エラーが発生する原因は次のとおりです。

  • ルックアップ値のスペルを間違えた(または余分なスペース文字を挿入した)
  • ルックアップ テーブル内の値のスペルを間違えた(または余分なスペース文字を挿入した)
  • 検索範囲が数式に正しく入力されていません
  • ルックアップ テーブルに存在するデータ型とは異なるデータ型をルックアップ値に使用しました (つまり、数字の代わりにテキスト を使用しました)
  • 入力したルックアップ値がルックアップ テーブルに見つかりませんでした
  • #N/A エラーの例

    例として VLOOKUP関数を使う を見て、LOOKUP、HLOOKUP、MATCH などの Excel 関数を使用した後に #N/A エラーがどのように発生するかを理解しましょう。これらの関数は同様の構文構造を共有しているためです。p>

    たとえば、従業員とそのボーナスの長いリストが Excel ワークブックに記載されているとします。

    VLOOKUP 数式を使用し、セル参照 (セル D4) を挿入する関連する [lookup_value]を入力し、[table_array](A2:B7) を定義します。 )、[col_index_num](2) を定義します。

    [range_lookup]と呼ばれる最後の引数には、1 (または TRUE) を使用して Excel に完全一致を取得するよう指示する必要があります。これを 2 (または FALSE) に設定すると、Excel は近似一致を探すように指示され、不正確な出力が得られる可能性があります。.

    選択した少数の従業員にボーナスを獲得するための式を設定したが、検索値のスペルを間違えたとします。 Excel はルックアップ テーブル内の値に完全に一致するものを見つけることができないため、#N/A エラーが発生します。

    それでは、このエラーを修正するには何をしなければなりませんか?

    #N/A エラーを修正する方法

    #N/A エラーのトラブルシューティングにはいくつかの方法がありますが、修正は主に 2 つのアプローチに分類できます。

    1. 入力を修正する
    2. エラーのトラップ
    3. 入力を修正する

      理想的には、このチュートリアルで前述した理由を使用してエラーの原因を特定する必要があります。原因を修正すると、エラーが解消されるだけでなく、正しい出力が得られるようになります。

      このガイドに記載されている理由をチェックリストとして使用することから始めてください。これを行うと、エラーを解消するために修正する必要がある間違った入力を見つけるのに役立ちます。たとえば、値のスペルが間違っている、余分なスペース文字、またはルックアップ テーブル内のデータ型が間違っている値などが考えられます。

      エラーのトラップ

      また、間違いを個別にチェックする手間をかけずにワークシートからエラーをだけ削除したい場合は、複数の Excel 数式を使用できます。一部の関数はエラーをトラップするために特別に作成されていますが、他の関数は複数の関数を使用して論理構文を構築してエラーを排除するのに役立ちます。

      次の関数のいずれかを使用して #N/A エラーをトラップできます。

      • IFERROR 関数
      • IFNA 関数
      • ISERROR 関数と IF 関数の組み合わせ
      • TRIM 関数
      • 1. IFERROR 関数

        IFERROR 関数は、エラーを返すセルの出力を変更するという唯一の目的で作成されました。

        IFERROR 関数を使用すると、エラーの代わりにセルに表示する特定の値を入力できます。たとえば、VLOOKUP の使用時にセル E2 に #N/A エラーが発生した場合は、次のように数式全体を IFERROR 関数にネストできます。.

        IFERROR(VLOOKUP(E4,B2:C7,2,1),“従業員が見つかりません”

        VLOOKUP 関数でエラーが発生した場合、エラーの代わりに「従業員が見つかりません」というテキスト文字列が自動的に表示されます。

        数式がエラーを返したときに空のセルを表示したい場合は、2 つの引用符 ("") を挿入するだけで空の文字列を使用することもできます。

        IFERROR 関数はすべてのエラーに対して機能することに注意してください。したがって、たとえば、IFERROR 関数内にネストした数式が #DIV エラーを返した場合でも、IFERROR はエラーをトラップし、最後の引数の値を返します。

        2. IFNA 関数

        IFNA 関数は IFERROR 関数のより具体的なバージョンですが、 動作はまったく同じです。 2 つの関数の唯一の違いは、IFERROR 関数はすべてのエラーをトラップするのに対し、IFNA 関数は #N/A エラーのみをトラップすることです。

        たとえば、次の数式は、VLOOKUP #N/A エラーが発生した場合には機能しますが、#VALUE エラーの場合は機能しません。

        IFNA(VLOOKUP(E4,B2:C7,2,1),“従業員が見つかりません”

        3. ISERROR 関数と IF 関数の組み合わせ

        エラーをトラップするもう 1 つの方法は、ISERROR 関数を IF 関数とともに使用することです。これは基本的に IFERROR 関数と同様に機能します。ISERROR 関数に依存してエラーを検出し、IF 関数に依存して論理テストに基づいて出力をレンダリングします。

        この組み合わせは、#N/A 関数だけでなく、IFERROR 関数などのすべてのエラーで機能します。 IF 関数と ISERROR 関数を使用して Excel VLOOKUP #N/A エラーをトラップする場合の構文の例を次に示します。

        =IF(ISERROR(VLOOKUP(E4,B2:C7,2,1)),VLOOKUP(E4,B2:C8,2,1),“従業員が見つかりません”)

        4. トリム機能

        ルックアップ値に誤ってスペース文字が挿入されると #N/A エラーが発生する可能性があることを前に説明しました。ただし、ルックアップ値の長いリストがすでにワークシートに入力されている場合は、各ルックアップ値からスペース文字を個別に削除する代わりに、TRIM 関数を使用できます。

        まず、TRIM 関数を使用して名前の先頭と末尾のスペースをトリミングする別の列を作成します。.

        次に、名前の新しい列を VLOOKUP 関数の検索値として使用します。

        マクロ内の #N/A エラーを修正

        マクロ内の #N/A エラーを修正するために使用できる特定の式やショートカットはありません。 マクロを作成したとき に複数の関数を追加した可能性があるため、各関数に使用されている引数をチェックし、maco 内の #N/A エラーを修正するためにそれらが正しいかどうかを確認する必要があります。 p>

        #N/A エラーが修正されました

        #N/A エラーの原因を理解すれば、そのエラーを修正するのはそれほど難しくありません。出力をあまり気にせず、数式でエラーが発生することを望まない場合は、IFERROR や IFNA などの関数を使用して #N/A エラーに簡単に対処できます。

        .

        関連記事:


        27.04.2022