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

Microsoft Excelは、値を入力したり、理解できないアクションを実行しようとすると、エラーを返す場合があります。エラーにはいくつかの種類があり、各エラーはあなたが犯した可能性のある特定の種類の間違いに関連しています。

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

エラーはルックアップ値を誤って参照したときに発生するため、最も一般的には、LOOKUPVLOOKUPHLOOKUPMATCH関数などのルックアップ関数に関連付けられています。#N / Aエラーの理由、例、およびいくつかの修正を見てみましょう。

#N/Aエラーの理由

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

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

#N/Aエラーの例

例としてVLOOKUP関数を使用して、 (use the VLOOKUP function)LOOKUPHLOOKUPMATCHなどの(MATCH)Excel関数を使用した後に#N / Aエラーが発生する可能性があることを理解しましょう。これらの関数は、同様の構文構造を共有しているためです。

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

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

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

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

では、このエラーを修正するには何をする必要がありますか? 

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

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

  1. 入力の修正(Correcting the inputs)
  2. エラーをトラップする(Trapping the error)

入力の修正(Correcting the inputs)

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

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

エラーをトラップする(Trapping the error)

または、個別に間違いをチェックすることなくワークシートからエラーを排除したい場合は、いくつかのExcel(just )数式(Excel)使用できます。エラーをトラップするために特別に作成された関数もあれば、複数の関数を使用して論理構文を構築してエラーを排除するのに役立つ関数もあります。

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

  • IFERROR関数(IFERROR Function)
  • IFNA機能(IFNA Function)
  • ISERROR関数とIF関数の組み合わせ(A Combination of ISERROR Function and IF Function)
  • TRIM機能(TRIM Function)

1.IFERROR関数(1. IFERROR Function)

IFERROR関数は、エラーを返すセルの出力を変更することを唯一の目的として作成されました(IFERROR)

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

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

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

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

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

2.IFNA機能(IFNA Function)

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

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

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

3.ISERROR関数とIF関数の組み合わせ(A Combination of the ISERROR Function and the IF Function)

エラーをトラップする別の方法は、IF関数と一緒にISERROR関数を使用することです。(ISERROR)これは、エラーを検出するためにISERROR関数に依存し、論理テストに基づいて出力をレンダリングするためにIF関数に依存するという点で、本質的にIFERROR関数のように機能します。(IFERROR)

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

=IF(ISERROR(VLOOKUP(E4,B2:C7,2,1)),VLOOKUP(E4,B2:C8,2,1),”Employee not found”)

4.TRIM機能(TRIM Function)

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

まず、 TRIM(TRIM)関数を使用して、名前の先頭と末尾のスペースを削除する別の列を作成します。

次に、名前の新しい列をVLOOKUP関数のルックアップ値として使用します。

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

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

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

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



About the author

私は 10 年以上の経験を持つコンピューターの専門家です。余暇には、オフィスのデスクを手伝ったり、子供たちにインターネットの使い方を教えたりしています。私のスキルには多くのことが含まれますが、最も重要なことは、人々が問題を解決するのを助ける方法を知っていることです. 何か緊急のことを手伝ってくれる人が必要な場合や、基本的なヒントが必要な場合は、私に連絡してください!



Related posts