ExcelでVLOOKUP数式を使用すると、醜い#N / Aエラーが発生する場合があります。これは、数式でルックアップ値が見つからない場合に発生します。
このチュートリアルでは、IFERRORとVLOOKUPを使用してワークシートのこれらの#N / Aエラーを処理するさまざまな方法を紹介します。
IFERRORをVLOOKUPと組み合わせて使用すると、#N / Aエラー(またはその他のエラー)の代わりに意味のあるものが表示されます。
この組み合わせの使用方法の詳細に入る前に、IFERROR関数を簡単に見て、どのように機能するかを確認しましょう。
内容
IFERROR関数の説明
IFERROR関数を使用すると、数式またはセル参照がエラーを返したときに何が発生するかを指定できます。
これはIFERROR関数の構文です。
= IFERROR(value、value_if_error)
- 価値 - これは、エラーをチェックするためのパラメーターです。ほとんどの場合、数式またはセル参照のいずれかです。IFERRORでVLOOKUPを使用する場合、VLOOKUP式がこのパラメーターになります。
- エラーの場合の値 –これはエラーが発生したときに返される値です。次のエラータイプが評価されました:#N / A、#REF!、#DIV / 0!、#VALUE!、#NUM!、#NAME ?、および#NULL!。
VLOOKUPが#N / Aエラーを返す理由として考えられる
VLOOKUP関数は、次のいずれかの理由で#N / Aエラーを返す場合があります。
- ルックアップ配列にルックアップ値が見つかりませんでした。
- ルックアップ値(またはテーブル配列)には、先頭、末尾、または二重のスペースがあります。
- 配列のルックアップ値またはルックアップ値にタイプミスがあります。
IFERRORをVLOOKUPと組み合わせて使用すると、これらのエラーの原因をすべて処理できます。ただし、理由#2と#3に注意し、IFERRORに処理させるのではなく、ソースデータで修正する必要があります。
注:IFERRORは、原因に関係なくエラーを処理します。VLOOKUPがルックアップ値を見つけることができないことによって引き起こされるエラーのみを処理したい場合は、代わりにIFNAを使用してください。これにより、#N / A以外のエラーが処理されなくなり、これらの他のエラーを調査できます。
TRIM関数を使用して、先頭、末尾、および二重スペースを処理できます。
VLOOKUP#N / Aエラーを意味のあるテキストに置き換えます
次のようなデータセットがあるとします。
ご覧のとおり、ルックアップ値がリストにないため、VLOOKUP数式はエラーを返します。グレンのスコアを探しています。スコアテーブルにはありません。
これは非常に小さなデータセットですが、多くのアイテムの発生をチェックする必要がある巨大なデータセットになってしまう可能性があります。値が見つからない場合は、それぞれ#N / Aエラーが発生します。
これは、#N / Aが間違っているのではなく、意味のあるものを取得するために使用できる式です。
= IFERROR(VLOOKUP(D2、$ A $ 2:$ B $ 10,2,0)、 "見つかりません")
上記の数式は、#N / Aエラーの代わりに「NotFound」というテキストを返します。同じ式を使用して、空白、ゼロ、またはその他の意味のあるテキストを返すこともできます。
IFERROR関数を使用してネストされたVLOOKUP
VLOOKUPを使用していて、ルックアップテーブルが同じワークシートまたは異なるワークシートに分散している場合は、これらすべてのテーブルでVLOOKUP値を確認する必要があります。
たとえば、以下に示すデータセットには、学生の名前とスコアのXNUMXつの別々のテーブルがあります。
このデータセットでGraceのスコアを見つける必要がある場合は、VLOOKUP関数を使用して最初のテーブルを確認する必要があります。値が見つからない場合は、XNUMX番目のテーブルを確認します。
値を見つけるために使用できるネストされたIFERROR式は次のとおりです。
=IFERROR(VLOOKUP(G3,$A$2:$B$5,2,0),IFERROR(VLOOKUP(G3,$D$2:$E$5,2,0),"Not Found"))
IFおよびISERRORでのVLOOKUPの使用(Excel 2007より前)
IFERROR関数は、Excel 2007 forWindowsおよびExcel2016 inMacで導入されました。
以前のバージョンを使用している場合、IFERROR機能はシステムで機能しません。
IF関数とISERROR関数を組み合わせることで、IFERROR関数の機能を複製できます。
IFERRORの代わりにIFとISERRORの組み合わせを使用する方法を簡単に説明します。
上記の例では、IFERRORを使用する代わりに、セルB3に示されている数式を使用することもできます。
= IF(ISERROR(A3)、 "見つかりません"、A3)
式のISERROR部分は、エラー(#N / Aエラーを含む)をチェックし、エラーが見つかった場合はTRUEを返し、それ以外の場合はFALSEを返します。
- TRUE(エラーを示す)の場合、IF関数は指定された値(この場合は「見つかりません」)を返します。
- FALSE(エラーがないことを意味します)の場合、IF関数はこの値(上記の例ではA3)を返します。
IFERRORおよびIFNA
IFERRORはすべてのタイプのエラーを処理しますが、IFNAは#N / Aエラーのみを処理します。
VLOOKUPによって引き起こされるエラーを処理するときは、正しい式を使用していることを確認する必要があります。
いろいろなエラーを処理したいときはどうぞIFERRORを使用します。エラーは、さまざまな要因(数式の誤り、名前付き範囲のスペルミス、ルックアップ値が見つからない、ルックアップテーブルから返された値の誤りなど)によって引き起こされる可能性があります。IFERRORは重要ではなく、これらすべてのエラーを指定された値に置き換えます。
#N / Aエラーのみを処理する場合は、IFNAを使用します、これは、VLOOKUP式がルックアップ値を見つけることができないことが原因である可能性が高くなります。