一般に、エラー値 #N/A は、数式で参照の対象が見つからないことを示しています。
解決方法
#N/A エラーの最も一般的な原因は、数式’で参照値が見つからない場合に XLOOKUP、VLOOKUP、HLOOKUP、LOOKUP、または MATCH 関数を使用することです。 たとえば、参照値がソース データに存在しない場合などです。
この例では、ルックアップ テーブルに “Banana” が存在しないため、VLOOKUP がエラー値 #N/A を返します。
解決方法:ソース データに参照値を入力するか、数式に IFERROR などのエラー ハンドラーを使用します。 たとえば、=IFERROR(FORMULA(),0) の場合、次のような意味になります。
-
= IF(数式がエラーと評価された場合は 0、それ以外の場合は数式の結果を表示する)
"" を使用して何も表示しないようにしたり、次のように独自のテキストに置き換えたりできます: =IFERROR(FORMULA(),”ここにエラー メッセージ”)
注:
この時点で何を行うか、どのようなヘルプが必要かわからない場合は、 Microsoft コミュニティで同様の質問を検索したり、独自の質問を投稿したりできます。
このエラーの修正に関するヘルプが必要な場合は、次のチェックリストを使用して、数式で問題が発生した可能性のある問題を特定するためのトラブルシューティング手順を示します。
参照値とソース データのデータ型が異なります。 たとえば、VLOOKUP で数値を参照しようとしているが、ソース データが文字列として保存されている場合などです。
解決方法:データ型が同じになるようにします。 セルまたはセルの範囲を選択して右クリックし、[セルの書式設定]、[表示形式] の順に選択し (または Ctrl キーを押しながら 1 キーを押し)、必要に応じて、数値の書式設定を変更します。
ヒント: 強制的に列全体の書式設定を変更する場合は、最初に目的の書式設定を適用して、[データ]、[区切り位置]、[完了] の順に選択します。
TRIM 関数を使って、先頭または末尾のスペースを削除することができます。 次の例では、TRIM をネストした VLOOKUP 関数を使用して、A2:A7 内の名前から余分な先頭のスペースを削除し、部署名を返しています。
=VLOOKUP(D2,TRIM(A2:B7),2,FALSE)
注: 動的配列数式 - 現在のバージョンの Microsoft 365 をお持ちで、Insiders Fast リリース チャネルにいる場合、出力範囲の左上のセルに数式を入力し、[Enter] キーを押すと、数式を動的配列数式として確定することができます。 それ以外の場合、最初に出力範囲を選択し、出力範囲の左上のセルに数式を入力し、Ctrl + Shift + Enter キーを押して確定し、従来の配列数式として数式を入力する必要があります。 Excel によって、数式の先頭と末尾に中かっこが挿入されます。 配列数式の詳細については、「配列数式のガイドラインと例」を参照してください。
既定では、テーブル内の情報を検索する関数は、昇順で並べ替える必要があります。 ただし、VLOOKUP および HLOOKUP ワークシート関数には、テーブルが並べ替えされていない場合でも完全一致を検索するように関数に指示する range_lookup 引数が含まれています。 完全一致を検索するには、range_lookup 引数を FALSE に設定します。 TRUE に設定すると、関数が近似一致を検索するため、エラー値 #N/A が返されるだけでなく、次の例のように結果自体もエラーになる場合があります。
この例では、“Banana” がエラー値 #N/A を返しているだけでなく、“Pear” の価格も正しくありません。 これは、VLOOKUP に完全一致でなく近似一致を検索するように指示する TRUE 引数を使用していることが原因です。 “Banana” に近い一致がなく、アルファベット順で “Pear” が “Peach” よりも前にあります。 この場合、VLOOKUP を FALSE 引数とともに使用すると「[Pear」 には正しい価格を返しますが、やはり 「Banana」 はエラー値 N/A になります。これは参照リストに対応する 「Banana」 がないためです。
MATCH 関数を使っている場合は、match_type 引数の値を変更して、テーブルの並べ替え順序を指定してみてください。 完全一致を検索するには、match_type 引数を 0 (ゼロ) に設定します。
これを修正するには、配列数式で参照されている範囲に、配列数式が入力されたセルの範囲と同じ数の行と列があることを確認するか、配列数式を入力するセルの数を増減して、数式の範囲参照と一致させます。
この例では、セル E2 の参照範囲が一致していません。
=SUM(IF(A2:A11=D2,B2:B5))
数式が正しく計算されるようにするには、両方の範囲が行 2-11 を反映するように数式を変更する必要があります。
=SUM(IF(A2:A11=D2,B2:B11))
注: 動的配列数式 - 現在のバージョンの Microsoft 365 をお持ちで、Insiders Fast リリース チャネルにいる場合、出力範囲の左上のセルに数式を入力し、[Enter] キーを押すと、数式を動的配列数式として確定することができます。 それ以外の場合、最初に出力範囲を選択し、出力範囲の左上のセルに数式を入力し、Ctrl + Shift + Enter キーを押して確定し、従来の配列数式として数式を入力する必要があります。 Excel によって、数式の先頭と末尾に中かっこが挿入されます。 配列数式の詳細については、「配列数式のガイドラインと例」を参照してください。
この例では、May-December に #N/A の値があるため、Total を計算できず、代わりにエラー値 #N/A を返します。
これを修正するには、使っている関数の数式構文を確認し、エラーを返す数式のすべての必須引数を入力します。 関数を確認するために Visual Basic エディター (VBE) を使用しなければならない場合があります。 VBE には [開発] タブから、または Alt キーを押しながら F11 キーを押してアクセスします。
これを修正するには、ユーザー定義関数を含むブックが開いており、関数が正しく機能していることを確認します。
これを修正するには、関数内で正しい引数が正しい位置に指定されていることを確認します。
これを修正するには、Ctrl キー、Alt キー、F9 キーを同時に押して、シートの再計算を実行します。
適切な引数がわからない場合のために関数ウィザードを使用することができます。 対象の数式を含むセルを選択し、[数式] タブに移動し、[関数の挿入] を押します。
ウィザードが自動的に読み込まれます。
各引数をクリックすると、その引数に適した情報が表示されます。
#N/A は便利な場合もあります。 #N/A はグラフ上にプロットされないため、次のようなグラフのデータを使用する場合に、#N/A はよく使用されます。 0 (ゼロ) を使用したグラフと #N/A を使用したグラフを比較した例を次に示します。
上の例では、0 (ゼロ) の値がプロットされ、グラフの下部に平らな線で表示されていますが、グラフは急上昇して合計を表示しています。 下の例では、0 (ゼロ) の値が #N/A で置き換えられています。
Python オブジェクトには、定義された Excel 表現がありません。 Python オブジェクトは Excel に対して不明です。
補足説明
Excel Tech Communityで、いつでも専門家に質問できます。また、コミュニティでは、サポートを受けられます。