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