数式のエラーを検出する

数式では、予期しない結果が返されたり、エラー値が表示されることがあります。これらのエラーの原因を検出および調査し、解決方法を決定するために使用できるいくつかのツールを紹介します。

注: このトピックでは、数式エラーの修正に役立つ手法について説明します。予想されるすべての数式エラーを修正するための方法がすべて記載されているわけではありません。個々のエラーに関するヘルプが必要な場合は、Excel のコミュニティ フォーラムで、類似する質問を検索するか、自分で質問を投稿することができます。

Excel コミュニティ フォーラムへのリンク

簡単な数式を入力する方法を学ぶ

数式とは、ワークシートの値を計算する等式のことです。 数式は、等号 (=) で始まります。 たとえば、次の数式は 3 を 1 に加算します。

=3+1

数式には、関数、セル参照、演算子、定数のいずれか、またはすべてを含めることもできます。

数式のパーツ

数式のパーツ

  1. 関数: Excel に組み込まれている関数は、特定の計算を実行するために開発された数式です。たとえば、PI() 関数は円周率の値 (3.142...) を返します。

  2. 参照: 個々のセルまたはセルの範囲を参照します。A2 はセル A2 の値を返します。

  3. 定数: 数式に直接入力される数値や文字列の値です (例: 2 など)。

  4. 演算子: ^ (キャレット) 演算子はべき算を実行し、* (アスタリスク) 演算子は乗算を実行します。値の加算と減算には + と - を使用し、除算には / を使用します。

    注: 一部の関数は、引数と呼ばれるものを必要とします。引数は、その関数が計算を実行するために使用する値です。引数が必要な場合、関数名の後のかっこ "()" 内に指定します。PI 関数は引数を必要としないので、かっこ内は空白です。一部の関数は 1 つ以上の引数を必要とし、引数を追加するための余地を残しておくことができます。引数は、場所の設定に応じてコンマまたはセミコロン (;) で区切る必要があります。

たとえば、SUM 関数の場合、必須の引数は 1 つのみですが、合計 255 個の引数を指定できます。

SUM 関数

=SUM(A1:A10) は、引数が 1 つのみの場合の例です。

=SUM(A1:A10, C1:C10) は、引数が複数の場合の例です。

次の表は、ユーザーが数式を入力するときに最も多く発生するエラーの一部と、その修正方法をまとめたものです。

確認事項

詳細情報

すべての関数が等号 (=) で始まっている

等号を省略すると、入力した内容が文字列または日付として表示される場合があります。たとえば、「SUM(A1:A10)」と入力すると、Excel は、"SUM(A1:A10)" という文字列を表示し、数式の計算を実行しません。「11/2」と入力すると、Excel は、11 を 2 で割る計算を実行しないで、日付 "11 月 2 日" (セルの書式が [標準] の場合) を表示します。

すべてのかっこを正しく組み合わされている

すべてのかっこに、対応するかっこ (左かっこと右かっこ) が存在することを確認します。数式で関数を使用する場合、関数が正しく機能するためには、各かっこが正しく配置されていることが重要です。たとえば、数式 =IF(B5<0),"Not valid",B5*1.05) は、右かっこが 2 つあり、左かっこが 1 つしかないため機能しません (必要な左かっこと右かっこはそれぞれ 1 つのみです)。正しい数式は、=IF(B5<0,"Not valid",B5*1.05) となります。

セル範囲の指定にコロンが使用されている

セル範囲を参照する場合、範囲内の最初のセルへの参照と範囲内の最後のセルへの参照をコロン (:) で区切ります。たとえば、=SUM(A1:A5) と指定します。=SUM(A1 A5) と指定すると、#NULL! エラーが返されます。

必要な引数がすべて入力されている

一部の関数には必須の引数があります。 また、引数の数が多すぎないかを確認します。

正しい型の引数が入力されている

SUM 関数などの一部の関数は、数値の引数を必要とします。また、REPLACE 関数のように、1 つ以上の文字列の引数を必要とする関数もあります。誤ったデータ型の引数を使用すると、Excel は、予期しない結果を返したり、エラーを表示したりすることがあります。

ネストされた関数が 64 レベルを超えていない

関数内に、64 レベルを超える関数を入力またはネストすることはできません。

他のシートの名前が単一引用符で囲まれている

数式内で他のワークシートやブックの値またはセルを参照し、そのワークシートやブックの名前にスペースまたは英数字以外の文字が含まれている場合、その名前を単一引用符 (') で囲む必要があります。たとえば、='Quarterly Data'!D3, or =‘123’!A1 と指定します。

数式内でワークシート名を参照する場合、その名前の後に感嘆符 (!) が付けられている

たとえば、同じブック内の "四半期データ" というシートのセル D3 から値を返すには、='四半期データ'!D3 という数式を使用します。

外部参照に参照先のブックへのパスが含まれている

それぞれの外部参照に、ブック名とそのブックへのパスが含まれていることを確認します。

ブックへの参照にはブックの名前が含まれており、角かっこで囲む必要があります (例: [Workbookname.xlsx])。参照には、ブック内のワークシートの名前も含まれている必要があります。

参照するブックが Excel で開かれていなくても、参照を数式に含めることができます。=ROWS('C:\My Documents\[Q2 Operations.xlsx]Sales'!A1:A8) のように、ファイルへの完全なパスを指定します。この数式は、他のブックのセル A1 から A8 までを含む範囲内の行数 (8) を返します。

注: 前の例のようにフル パスにスペース文字が含まれている場合は、パスを単一引用符で囲む (パスの先頭およびワークシート名と感嘆符の間に単一引用符を挿入する) 必要があります。

数値が書式なしで入力されている

数式に指定する数値に書式を設定することはできません。たとえば、"¥1,000" という数値を指定する場合、数式には「1000」と入力します。数値の一部としてコンマを入力すると、Excel はそのコンマを区切り記号と見なします。数値が桁区切り記号または通貨記号を表すように表示するには、数値を入力した後にセルの書式を設定します。

たとえば、セル A3 の値に 3,100 を加算する場合、数式「=SUM(3,100,A3)」と入力すると、Excel は、3100 を A3 に加算しないで、数値 3 と 100 を加算した後、その合計を A3 の値に加算します (3100 を A3 に加算するには、「=SUM(3100,A3)」と入力します)。また、数式「=ABS(-2,134)」を入力すると、ABS 関数は引数を 1 つしか受け付けないので、Excel はエラーを表示します。正しくは、「=ABS(-2134)」となります。

特定のルールを実装して数式のエラーを確認することができます。これらのルールは、ワークシートにエラーがないことを保証するものではありませんが、一般的なエラーの検出には非常に役立ちます。使用するルールは、個別にオンまたはオフにすることができます。

エラーを検出して修正するには、2 通りの方法があります。エラーを一度に 1 つずつ修正する方法 (スペル チェックなど) と、ワークシートにデータを入力したときにその場でチェックする方法です。

エラーに対して、表示されるオプションを使って解決することも、[エラーを無視する] をクリックして無視することもできます。 特定のセルでエラーを無視すると、そのセルと同じエラーは以降のエラー チェックで表示されなくなります。 ただし、無視したエラーのすべてをリセットして、もう一度チェックすることもできます。

  1. [ファイル]、[オプション]、[数式] の順にクリックします。

    Excel 2007で、Microsoft Office ボタン Office ボタンの画像 、[Excel のオプション]、[数式] をクリックします。

  2. [エラー チェック] で、[バックグラウンドでエラー チェックを行う] チェック ボックスをオンにします。見つかったエラーにはすべて、セルの左上隅に三角形が付けられます。

    数式にエラーがあるセル
  3. エラーが発生したセルを示す三角形の色を変更するには、[次の色でエラーを示す] ボックスで、目的の色を選びます。

  4. [エラー チェック ルール] で、以下のルールのチェック ボックスをオンまたはオフにします。

    • [エラー結果となる数式を含むセル]: 数式の構文、引数、またはデータ型に誤りがあります。エラー値には、#DIV/0!、#N/A、#NAME?、#NULL!、#NUM!、#REF!、#VALUE! などがあります。原因と解決方法は、これらのエラー値によって異なります。

      注: セル内にエラー値を直接入力すると、そのエラー値がそのまま格納され、エラーとして表示されません。 ただし、別のセルの数式がそのセルを参照している場合、数式はそのセルのエラー値を返します。

    • [テーブル内の矛盾した集計列の数式]: 集計列に、マスター列の数式とは異なる個別の数式が含まれている可能性があります。その場合、例外が発生します。次のいずれかの操作を行うと、集計列の例外が発生します。

      • 集計列のセルに数式以外のデータを入力する。

      • 集計列のセルに数式を入力し、Ctrl + Z キーを使用するか、クイック アクセス ツール バーの [元に戻す] ボタンの画像 をクリックする。

      • 1 つ以上の例外が既に含まれている集計列に新しい数式を入力する。

      • 集計列の数式と一致しないデータを集計列にコピーする。コピーするデータに数式が含まれている場合、この数式で集計列のデータが上書きされます。

      • 集計列の行の 1 つによって参照されている別のワークシート領域にあるセルを移動または削除する。

    • [2 桁の年が含まれるセル]: 世紀を誤って解釈される可能性のある 2 桁の日付文字列が数式に含まれています。たとえば、数式 =YEAR("1/1/31") の日付は、1931 年または 2031 年のどちらにも解釈できます。このルールは、あいまいな日付文字列の確認に使用します。

    • [文字列形式の数値、またはアポストロフィで始まる数値]: セルに文字列として保存されている数値が含まれることを示します。これは一般的に、データを他のソースからインポートした場合に発生します。数値を文字列として保存すると、並べ替えの結果が予想どおりにならないことがあります。そのため、こうした文字列は数値に変換することをお勧めします。‘=SUM(A1:A10) は文字列と見なされます。

    • [領域内の他の数式と矛盾する数式]: 数式が、その周辺にある他の数式のパターンと一致しないことを示します。多くの場合、他の数式に隣接した数式は、使用されるセル参照のみが異なります。次の 4 つの隣接した数式の例では、Excel は、数式 =SUM(A10:C10) の横のセル D4 にエラーを表示します。これは、隣接した数式は 1 行ずつ増分しているのに対し、この数式は 8 行増分されているためです。Excel は、数式 =SUM(A4:C4) を想定します。

      数式が隣接した数式のパターンと一致しない場合、Excel はエラーを表示します

      数式で使用されている参照が、隣接する数式の参照と一致しない場合、エラーが表示されます。

    • [領域内のセルを除いた数式]: データの元のセル範囲と数式を格納するセルの間に挿入したデータへの参照が、数式に自動的に組み込まれていない可能性があります。このルールは、数式内の参照と、数式を格納するセルに隣接したセルの実際の範囲を比較します。隣接したセルに追加の値が格納されていて空白ではない場合、Excel は、数式の横にエラーを表示します。

      たとえば、このルールを適用した場合、Excel は、数式 =SUM(D2:D4) の横にエラーを挿入します。これは、セル D5、D6、D7 が、数式で参照されるセルと数式を格納するセル (D8) に隣接しており、データを格納するそれらのセルを数式で参照する必要があるためです。

      数式が範囲内のセルをスキップする場合、Excel エラーを表示します
    • 数式を含むロックされていないセル: 数式は、保護のためにロックされていません。既定では、ワークシートを保護すると、ワークシートのすべてのセルはロックされ、変更できなくなります。これは、数式の偶発的な削除や変更など、不注意によるミスを回避するのに役立ちます。このエラーは、セルがロックを解除するように設定されているが、シートは保護されていないことを示します。このチェック ボックスをオンにすると、セルをロックする必要があるかどうかを確認できます。

    • [空白セルを参照する数式]: 数式に空白セルへの参照が含まれています。次の例で示すように、これにより、意図しない結果が発生する場合があります。

      次のセルの列内にある数値の平均を計算するとします。3 番目のセルが空の場合、このセルは計算に含まれないため、結果は 22.75 になります。3 番目のセルに 0 が格納されている場合、結果は 18.2 になります。

      数式が空のセルを参照する場合、Excel はエラーを表示します
    • [テーブルに入力されたデータが無効]: テーブル内に入力規則のエラーがあります。[データ] タブ、[データ ツール] グループ、[データの入力規則] の順に移動して、セルの入力規則の設定を確認します。

  1. エラーをチェックするワークシートを選びます。

  2. 計算方法に手動での計算が設定されている場合、F9 キーを押して再計算を実行します。

    [エラー チェック] ダイアログが表示されない場合、[数式] タブ、[ワークシート分析]、[エラー チェック] ボタンの順にクリックします。

  3. 以前にエラーを無視した場合、[ファイル]、[オプション]、[数式] の順にクリックすると、それらのエラーをもう一度確認できます。

    [エラー チェック] セクションの [無視したエラーのリセット]、[OK] の順にクリックします。

    エラー チェック

    注: 無視したエラーをリセットすると、作業中のブック内のすべてのシートのすべてのエラーがリセットされます。

    ヒント: [エラー チェック] ダイアログ ボックスを数式バーのすぐ下に移動すると、操作しやすくなる場合があります。

    [エラー チェック] ボックスを数式バーの下に移動する
  4. ダイアログ ボックスの右側にある処理ボタンの 1 つをクリックします。使用できる処理は、エラーの種類によって異なります。

  5. [次へ] をクリックします。

注: [エラーを無視する] をクリックすると、以後チェックを行わないエラーとして設定されます。

  1. セルの横に表示される [エラー チェック] ボタン エラー チェックのアイコン をクリックして、必要なオプションをクリックします。使用できるコマンドはエラーの種類によって異なり、最初の項目にエラーの説明が表示されます。

    [エラーを無視する] をクリックすると、以後チェックを行わないエラーとして設定されます。

    [エラー チェック] ボックスを数式バーの下に移動する

数式で結果が正しく評価されない場合、#####、#DIV/0!、#N/A、#NAME?、#NULL!、#NUM!、#REF!、#VALUE! などのエラー値が表示されます。 これらの種類のエラーは、それぞれ原因が異なり、解決方法も異なります。

次の表では、このエラーの詳細が記載されている記事へのリンクと、作業を開始するための簡単な説明を示します。

トピック

説明

#### エラーを修正する

このエラーは、セルのすべての文字を表示するのに列幅が足りないか、またはセルで負の日付か時刻が使用されている場合に表示されます。

たとえば、=2008/06/15-2008/07/01 のように、過去の日付から将来の日付を減算する数式では、負の日付が返されます。

ヒント: 列見出しの間をダブルクリックして、セルを自動配置してみてください。Excel がすべての文字を表示できないために ### が表示される場合、この操作により、そのエラーが修正されます。

# エラー

エラー値 #DIV/0! を修正する

このエラーは、数値をゼロ (0) または値が含まれていないセルで除算した場合に表示されます。

ヒント: 次の例で示すように、エラー ハンドラー (=IF(C2,B2/C2,0)) を追加します。

IF などのエラー処理関数を使用してエラーに対処することができます

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

このエラーは、関数または数式に使用できない値の場合に表示されます。

VLOOKUP などの関数を使用している場合、ルックアップしようとしているものと一致するものがルックアップの範囲内にありますか。ほとんどの場合、ありません。

#N/A が表示されないようにするために IFERROR を使用してみてください。ここでは、次の数式を使用しています。

=IFERROR(VLOOKUP(D2,$D$6:$E$8,2,TRUE),0)

#N/A エラー

エラー値 #NAME? を修正する

このエラーは、数式の文字列が認識されない場合に表示されます。 たとえば、範囲名または関数の名前が正しく入力されていない場合があります。

注: 関数を使用している場合、関数名のスペルが正しいことを確認します。次の場合、SUM のスペルが正しくありません。"e"を削除すると、Excel はこれを修正します。

関数名に入力エラーがある場合、Excel は #NAME? エラーを表示します

エラー値 #NULL! を修正する

このエラーは、指定した 2 つのセル範囲に共通部分がない場合に表示されます。 共通部分を参照する場合は、演算子として数式の参照間にスペースを入力します。

注: 範囲が正しく区切られていることを確認します。C2:C3 と E4:E6 は隣接しないので、数式「=SUM(C2:C3 E4:E6)」を入力すると、#NULL! エラーが返されます。C の範囲と E の範囲の間にコンマを挿入すると、数式は =SUM(C2:C3,E4:E6) に修正されます。

#NULL! エラー

エラー値 #NUM! を修正する

このエラーは、数式または関数に無効な数値が含まれている場合に表示されます。

IRR、RATE などの反復する関数を使用している場合、関数が結果を検出できないために #NUM! エラーが返される可能性があります。解決の手順については、ヘルプのトピックを参照してください。

エラー値 #REF! を修正する

このエラーは、セル参照が無効な場合に表示されます。 たとえば、他の数式が参照しているセルが削除されている場合や、他の数式が参照しているセルに別のセルが貼り付けられている場合などです。

行や列を誤って削除したことはありますか。列 B を削除すると、数式 =SUM(A2,B2,C2) はどうなるでしょうか。

[元に戻す] (Ctrl+Z) を使用して削除を取り消して、数式を再作成するか、連続する範囲の参照を使用します。たとえば、=SUM(A2:C2) は、列 B が削除されると、自動的に更新されます。

セル参照が無効の場合、Excel は #REF! エラーを表示します

エラー値 #VALUE! を修正する

異なるデータ型を含むセルが数式に含まれている場合、Excel はこのエラーを表示することがあります。

異なるデータ型で算術演算子 (+、-、*、/、^) を使用している場合、代わりに関数を使用してみてください。ここでは、=SUM(F2:F5) を使用して問題を修正します。

#VALUE! エラー

セルがワークシート上に表示されていない場合でも、そのセルと入力されている数式をウォッチ ウィンドウのツール バーで確認できます。ウォッチ ウィンドウは、大きなワークシートで数式の計算と結果を検査、分析、確認するときに便利です。ウォッチ ウィンドウを使用すると、ワークシートを何度もスクロールしたり、ワークシートのさまざまなパーツに移動したりする必要がなくなります。

ウォッチ ウィンドウでは、ワークシートで使用される数式を簡単に監視できます

このツール バーも他のツールバーと同様、移動または固定することができます。たとえば、ウィンドウの下部に固定することができます。このツール バーは、セルのプロパティ 1) ブック、2) シート、3) 名前 (セルに対応する名前付き範囲がある場合)、4) セル アドレス、5) 値、および 6) 数式を追跡します。

注: 1 つのセルについて、記録できるウォッチ式は 1 つだけです。

ウォッチ ウィンドウにセルを追加する

  1. 確認するセルを選びます。

    ワークシートで、数式が入力されているすべてのセルを選択するには、[ホーム] タブの [編集] グループで、[検索と選択] (または Ctrl + G キー、Mac の場合は Control + G キー)、[選択オプション]、[数式] の順にクリックします。

    [選択オプション] ダイアログ
  2. [数式] タブの [ワークシート分析] で [ウォッチ ウィンドウ] をクリックします。

  3. [ウォッチ式の追加] をクリックします。

    スプレッドシートにウォッチを追加するには [ウォッチ式の追加] をクリックする
  4. 確認するすべてのセルを選択したことを確認し、[追加] をクリックします。

    [ウォッチ式の追加] で、確認するセル範囲を入力する
  5. ウォッチ ウィンドウの列幅を変更するには、列見出しの右の境界をドラッグします。

  6. ウォッチ ウィンドウのツール バーにある参照元のセルを表示するには、その項目をダブルクリックします。

    注: 他のブックへの外部参照が含まれているセルは、そのブックが開いている場合にのみウォッチ ウィンドウのツール バーに表示されます。

ウォッチ ウィンドウからセルを削除する

  1. ウォッチ ウィンドウのツール バーが表示されない場合、[数式] タブの [ワークシート分析] グループで、[ウォッチ ウィンドウ] をクリックします。

  2. 削除するセルを選びます。

    複数のセルを選ぶには、Ctrl キーを押しながら、セルをクリックします。

  3. [ウォッチ式の削除] をクリックします。

    ウォッチ式の削除

ネストされた数式では、中間の計算や論理テストが複数あるため、最終的な計算結果がどのように算出されたかを理解することが難しい場合があります。ただし、[数式の検証] ダイアログ ボックスを使用すると、ネストされた数式の各部分を数式が計算される順序で確認できます。たとえば、数式 =IF(AVERAGE(F2:F5)>50,SUM(G2:G5),0) は、次の中間結果を表示すると理解しやすくなります。

[数式の検証] は、ネストされた数式のさまざまな部分の検証結果を確認するのに役立ちます

[数式の検証] ダイアログ ボックス内

説明

=IF(AVERAGE(D2:D5)>50,SUM(E2:E5),0)

ネストされた数式が最初に表示されます。この例では、AVERAGE 関数と SUM 関数が IF 関数内にネストされています。

セル範囲 D2:D5 には、55、35、45、25 の値があるため、AVERAGE(D2:D5) 関数の結果は 40 になります。

=IF(40>50,SUM(E2:E5),0)

セル範囲 D2:D5 には、55、35、45、25 の値があるため、AVERAGE(D2:D5) 関数の結果は 40 になります。

=IF(False,SUM(E2:E5),0)

40 は 50 より小さいため、IF 関数の最初の引数 (論理式引数) の式は False になります。

IF 関数が 3 番目の引数 (偽の場合の引数) を返します。 SUM 関数は、IF 関数の 2 番目の引数 (真の場合の引数) に当たり、式が True の場合しか結果が返されないため、この場合は評価されません。

  1. 数式を検証するセルを選びます。 一度に 1 つのセルのみが検証できます。

  2. [数式] タブ、[ワークシート分析]、[数式の検証] の順に選択します。

  3. [検証] をクリックし、下線が表示されている参照の値を確認します。 検証結果は斜体で表示されます。

    数式の下線が表示されている部分が他の数式への参照の場合、[ステップ イン] をクリックすると、その数式が [検証] ボックスに表示されます。 [ステップ アウト] をクリックすると、前のセルと数式に戻ります。

    同じ参照が数式で二度目に表示されるとき、または数式で他のブックのセルが参照されている場合、[ステップ イン] ボタンは使用できません。

  4. 数式の各パーツが検証されるまで、[検証] のクリックを繰り返します。

  5. 検証結果を再確認するには、[再び開始] をクリックします。

  6. 検証を終了するには、[閉じる] をクリックします。

注記: 

  • IF 関数と CHOOSE 関数を使用する数式には、検証できないレベルがあり、その場合は[検証] ボックスに "#N/A" が表示されます。

  • 参照が空白の場合、[検証] ボックスに 0 (ゼロ) 値が表示されます。

  • ワークシートが変更されるたびに再計算される関数では、[数式の検証] ダイアログ ボックスに表示される検証結果がセルの表示内容とは異なる場合があります。こうした関数には、RANDAREASINDEXOFFSETCELLINDIRECTROWSCOLUMNSNOWTODAYRANDBETWEEN があります。

質問がある場合

Excel のコミュニティ フォーラムに質問を投稿してください

Excel の機能を向上させるためのお願い

次のバージョンの Excel の改善に関して、ご提案はございませんか。提案がありましたら、Excel UserVoice (Excel ユーザー ボイス) のトピックをご覧ください。

関連項目

数式とセルの関係を表示する

ビデオ: 壊れている数式を修正する (Excel 2010)

壊れた数式のエラーを回避する方法

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×