数式では、予期しない結果が返されたり、エラー値が表示されることがあります。 これらのエラーの原因を検出および調査し、解決方法を決定するために使用できるいくつかのツールを紹介します。
注: このトピックでは、数式エラーの修正に役立つ手法について説明します。 予想されるすべての数式エラーを修正するための方法がすべて記載されているわけではありません。 個々のエラーに関するヘルプが必要な場合は、Excel のコミュニティ フォーラムで、類似する質問を検索するか、自分で質問を投稿することができます。
簡単な数式を入力する方法を学ぶ
数式とは、ワークシートの値を計算する等式のことです。 数式は、等号 (=) で始まります。 たとえば、次の数式は 3 を 1 に加算します。
=3+1
数式には、関数、セル参照、演算子、定数のいずれか、またはすべてを含めることもできます。

数式のパーツ
-
関数: Excel に組み込まれている関数は、特定の計算を実行するために開発された数式です。 たとえば、PI() 関数は円周率の値 (3.142...) を返します。
-
参照: 個々のセルまたはセルの範囲を参照します。 A2 はセル A2 の値を返します。
-
定数: 数式に直接入力される数値や文字列の値です (例: 2 など)。
-
演算子: ^ (キャレット) 演算子はべき算を実行し、* (アスタリスク) 演算子は乗算を実行します。 値の加算と減算には + と - を使用し、除算には / を使用します。
注: 一部の関数は、引数と呼ばれるものを必要とします。 引数は、その関数が計算を実行するために使用する値です。 引数が必要な場合、関数名の後のかっこ "()" 内に指定します。 PI 関数は引数を必要としないので、かっこ内は空白です。 一部の関数は 1 つ以上の引数を必要とし、引数を追加するための余地を残しておくことができます。 引数は、場所の設定に応じてコンマまたはセミコロン (;) で区切る必要があります。
たとえば、SUM 関数の場合、必須の引数は 1 つのみですが、合計 255 個の引数を指定できます。

=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 の値に3100を追加するときに、数式「 = sum (3100, a3)」を入力すると、 Excel 数値3と100が加算され、その合計が a3 の値に加算されます。これは、 = SUM (3100, a3)のように、3100に a3 を追加します。 または、= ABS (-2134 Excel ) という数式を入力すると、ABS 関数は1つの引数のみを受け取り、 = abs (-2134)というエラーが表示されます。 |
一般的な数式エラーを修正する
特定のルールを実装して数式のエラーを確認することができます。 これらのルールは、ワークシートにエラーがないことを保証するものではありませんが、一般的なエラーの検出には非常に役立ちます。 使用するルールは、個別にオンまたはオフにすることができます。
エラーを検出して修正するには、2 通りの方法があります。エラーを一度に 1 つずつ修正する方法 (スペル チェックなど) と、ワークシートにデータを入力したときにその場でチェックする方法です。
エラーに対して、表示されるオプションを使って解決することも、[エラーを無視する] をクリックして無視することもできます。 特定のセルでエラーを無視すると、そのセルと同じエラーは以降のエラー チェックで表示されなくなります。 ただし、無視したエラーのすべてをリセットして、もう一度チェックすることもできます。
エラー チェック ルールをオンまたはオフにする
-
Windows 版 Excel の場合はFileOptionsFormulas
、[ファイル > オプション > 数式] をクリックします。 Excel on Mac の場合は、[ excel] メニューの [> 環境設定 > エラーチェック] をクリックします。Excel 2007で、Microsoft Office ボタン
、[Excel のオプション]、[数式] をクリックします。
-
[エラー チェック] で、[バックグラウンドでエラー チェックを行う] チェック ボックスをオンにします。 見つかったエラーにはすべて、セルの左上隅に三角形が付けられます。
-
エラーが発生したセルを示す三角形の色を変更するには、[次の色でエラーを示す] ボックスで、目的の色を選びます。
-
[エラー チェック ルール] で、以下のルールのチェック ボックスをオンまたはオフにします。
-
エラーになる数式を含むセル: 数式で、予期される構文、引数、またはデータ型が使われていない。 エラー値は #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つの隣接した数式の例では、セル D4 の数式「= SUM (A10: C10)」の横にエラーが表示されます。隣接する数式は1行ずつ増加し、1つは8行ずつ増加するため、Excel では数式 = SUM (A4: C4) と見なされます。
数式で使用されている参照が、隣接する数式の参照と一致しない場合、エラーが表示されます。
-
[領域内のセルを除いた数式]: データの元のセル範囲と数式を格納するセルの間に挿入したデータへの参照が、数式に自動的に組み込まれていない可能性があります。 このルールは、数式内の参照と、数式を格納するセルに隣接したセルの実際の範囲を比較します。 隣接したセルに追加の値が格納されていて空白ではない場合、Excel は、数式の横にエラーを表示します。
たとえば、このルールを適用した場合、Excel は、数式 =SUM(D2:D4) の横にエラーを挿入します。これは、セル D5、D6、D7 が、数式で参照されるセルと数式を格納するセル (D8) に隣接しており、データを格納するそれらのセルを数式で参照する必要があるためです。
-
数式を含むロックされていないセル: 数式は、保護のためにロックされていません。 既定では、ワークシートを保護すると、ワークシートのすべてのセルはロックされ、変更できなくなります。 これは、数式の偶発的な削除や変更など、不注意によるミスを回避するのに役立ちます。 このエラーは、セルがロックを解除するように設定されているが、シートは保護されていないことを示します。 このチェック ボックスをオンにすると、セルをロックする必要があるかどうかを確認できます。
-
[空白セルを参照する数式]: 数式に空白セルへの参照が含まれています。 次の例で示すように、これにより、意図しない結果が発生する場合があります。
次のセルの列内にある数値の平均を計算するとします。 3 番目のセルが空の場合、このセルは計算に含まれないため、結果は 22.75 になります。 3 番目のセルに 0 が格納されている場合、結果は 18.2 になります。
-
[テーブルに入力されたデータが無効]: テーブル内に入力規則のエラーがあります。 [データ] タブ、[データ ツール] グループ、[データの入力規則] の順に移動して、セルの入力規則の設定を確認します。
-
一般的な数式エラーを一度に 1 つずつ修正する
-
エラーをチェックするワークシートを選びます。
-
計算方法に手動での計算が設定されている場合、F9 キーを押して再計算を実行します。
[エラー チェック] ダイアログが表示されない場合、[数式] タブ、[ワークシート分析]、[エラー チェック] ボタンの順にクリックします。
-
以前にエラーを無視した場合、[ファイル]、[オプション]、[数式] の順にクリックすると、それらのエラーをもう一度確認できます。 Excel on Mac の場合は、[ excel] メニューの [> 環境設定 > エラーチェック] をクリックします。
[エラー チェック] セクションの [無視したエラーのリセット]、[OK] の順にクリックします。
注: 無視したエラーをリセットすると、作業中のブック内のすべてのシートのすべてのエラーがリセットされます。
ヒント: [エラー チェック] ダイアログ ボックスを数式バーのすぐ下に移動すると、操作しやすくなる場合があります。
-
ダイアログ ボックスの右側にある処理ボタンの 1 つをクリックします。 使用できる処理は、エラーの種類によって異なります。
-
[次へ] をクリックします。
注: [エラーを無視する] をクリックすると、以後チェックを行わないエラーとして設定されます。
一般的な数式エラーを個別に修正する
-
セルの横に表示される [エラー チェック] ボタン
をクリックして、必要なオプションをクリックします。 使用できるコマンドはエラーの種類によって異なり、最初の項目にエラーの説明が表示されます。
[エラーを無視する] をクリックすると、以後チェックを行わないエラーとして設定されます。
# エラー値を修正する
数式によって結果が正しく評価されない場合は、# # # # #、#DIV/0!、#N/A、#NAME?、#NULL!、#NUM!、#REF!、#VALUE!] などのエラー値が表示されます。 それぞれのエラーの種類には、さまざまな原因と解決策があります。
次の表では、このエラーの詳細が記載されている記事へのリンクと、作業を開始するための簡単な説明を示します。
トピック |
説明 |
---|---|
このエラーは、セルのすべての文字を表示するのに列幅が足りないか、またはセルで負の日付か時刻が使用されている場合に表示されます。 たとえば、=2008/06/15-2008/07/01 のように、過去の日付から将来の日付を減算する数式では、負の日付が返されます。 ヒント: 列見出しの間をダブルクリックして、セルを自動配置してみてください。 Excel がすべての文字を表示できないために ### が表示される場合、この操作により、そのエラーが修正されます。 ![]() |
|
このエラーは、数値をゼロ (0) または値が含まれていないセルで除算した場合に表示されます。 ヒント: 次の例で示すように、エラー ハンドラー (=IF(C2,B2/C2,0)) を追加します。 ![]() |
|
このエラーは、関数または数式に使用できない値の場合に表示されます。 VLOOKUP などの関数を使用している場合、ルックアップしようとしているものと一致するものがルックアップの範囲内にありますか。 ほとんどの場合、ありません。 #N/A が表示されないようにするために IFERROR を使用してみてください。 ここでは、次の数式を使用しています。 =IFERROR(VLOOKUP(D2,$D$6:$E$8,2,TRUE),0) ![]() |
|
このエラーは、数式の文字列が認識されない場合に表示されます。 たとえば、範囲名または関数の名前が正しく入力されていない場合があります。 注: 関数を使用している場合、関数名のスペルが正しいことを確認します。 次の場合、SUM のスペルが正しくありません。 "e"を削除すると、Excel はこれを修正します。 ![]() |
|
このエラーは、指定した 2 つのセル範囲に共通部分がない場合に表示されます。 共通部分を参照する場合は、演算子として数式の参照間にスペースを入力します。 注: 範囲が正しく区切られていることを確認します。領域 C2: C3 と E4: E6 は交差しないので、数式 = SUM (C2: C3 E4: e6) を入力すると、#NULL が返されます。 エラーが表示されます。 C と E の範囲の間にカンマを入力すると、値 = SUM (C2: C3, E4: E6)が修正されます。 ![]() |
|
このエラーは、数式または関数に無効な数値が含まれている場合に表示されます。 IRR または RATE など、反復処理する関数を使用しているかどうかを確認する その場合は、#NUM。 エラーの原因として考えられるのは、関数が結果を見つけることができないためです。 解決手順については、ヘルプトピックを参照してください。 |
|
このエラーは、セル参照が無効な場合に表示されます。 たとえば、他の数式が参照しているセルが削除されている場合や、他の数式が参照しているセルに別のセルが貼り付けられている場合などです。 行や列を誤って削除したことはありますか。 列 B を削除すると、数式 =SUM(A2,B2,C2) はどうなるでしょうか。 [元に戻す] (Ctrl+Z) を使用して削除を取り消して、数式を再作成するか、連続する範囲の参照を使用します。たとえば、=SUM(A2:C2) は、列 B が削除されると、自動的に更新されます。 ![]() |
|
異なるデータ型を含むセルが数式に含まれている場合、Excel はこのエラーを表示することがあります。 さまざまなデータ型で算術演算子 (+、-、*、/、^) を使用していますか? その場合は、代わりに関数を使ってみてください。 この場合は = SUM (F2: F5) で問題が修正されます。 ![]() |
ウォッチ ウィンドウを使用して数式と計算結果を確認する
セルがワークシート上に表示されていない場合でも、そのセルと入力されている数式をウォッチ ウィンドウのツール バーで確認できます。 ウォッチ ウィンドウは、大きなワークシートで数式の計算と結果を検査、分析、確認するときに便利です。 ウォッチ ウィンドウを使用すると、ワークシートを何度もスクロールしたり、ワークシートのさまざまなパーツに移動したりする必要がなくなります。

このツール バーも他のツールバーと同様、移動または固定することができます。 たとえば、ウィンドウの下部に固定することができます。 このツール バーは、セルのプロパティ 1) ブック、2) シート、3) 名前 (セルに対応する名前付き範囲がある場合)、4) セル アドレス、5) 値、および 6) 数式を追跡します。
注: 1 つのセルについて、記録できるウォッチ式は 1 つだけです。
ウォッチ ウィンドウにセルを追加する
-
確認するセルを選びます。
ワークシートで、数式が入力されているすべてのセルを選択するには、[ホーム] タブの [編集] グループで、[検索と選択] (または Ctrl + G キー、Mac の場合は Control + G キー)、[選択オプション]、[数式] の順にクリックします。
-
[数式] タブの [ワークシート分析] で [ウォッチ ウィンドウ] をクリックします。
-
[ウォッチ式の追加] をクリックします。
-
確認するすべてのセルを選択したことを確認し、[追加] をクリックします。
-
ウォッチ ウィンドウの列幅を変更するには、列見出しの右の境界をドラッグします。
-
ウォッチ ウィンドウのツール バーにある参照元のセルを表示するには、その項目をダブルクリックします。
注: 他のブックへの外部参照が含まれているセルは、そのブックが開いている場合にのみウォッチ ウィンドウのツール バーに表示されます。
ウォッチ ウィンドウからセルを削除する
-
ウォッチ ウィンドウのツール バーが表示されない場合、[数式] タブの [ワークシート分析] グループで、[ウォッチ ウィンドウ] をクリックします。
-
削除するセルを選びます。
複数のセルを選ぶには、Ctrl キーを押しながら、セルをクリックします。
-
[ウォッチ式の削除] をクリックします。
ネストした数式を 1 レベルずつ検証する
ネストされた数式では、中間の計算や論理テストが複数あるため、最終的な計算結果がどのように算出されたかを理解することが難しい場合があります。 ただし、[数式の検証] ダイアログ ボックスを使用すると、ネストされた数式の各部分を数式が計算される順序で確認できます。 たとえば、数式 =IF(AVERAGE(F2:F5)>50,SUM(G2:G5),0) は、次の中間結果を表示すると理解しやすくなります。
![[数式の検証] は、ネストされた数式のさまざまな部分の検証結果を確認するのに役立ちます](https://support.content.office.net/ja-jp/media/9b4b1c73-8a77-4489-839d-ac4afed5548f.png)
[数式の検証] ダイアログ ボックス内 |
説明 |
=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 つのセルのみが検証できます。
-
[数式] タブ、[ワークシート分析]、[数式の検証] の順に選択します。
-
[検証] をクリックし、下線が表示されている参照の値を確認します。 検証結果は斜体で表示されます。
数式の下線が表示されている部分が他の数式への参照の場合、[ステップ イン] をクリックすると、その数式が [検証] ボックスに表示されます。 [ステップ アウト] をクリックすると、前のセルと数式に戻ります。
同じ参照が数式で二度目に表示されるとき、または数式で他のブックのセルが参照されている場合、[ステップ イン] ボタンは使用できません。
-
数式の各パーツが検証されるまで、[検証] のクリックを繰り返します。
-
検証結果を再確認するには、[再び開始] をクリックします。
-
検証を終了するには、[閉じる] をクリックします。
注:
-
IF 関数と CHOOSE 関数を使用する数式には、検証できないレベルがあり、その場合は[検証] ボックスに "#N/A" が表示されます。
-
参照が空白の場合、[検証] ボックスに 0 (ゼロ) 値が表示されます。
-
ワークシートが変更されるたびに再計算される関数では、[数式の検証] ダイアログ ボックスに表示される検証結果がセルの表示内容とは異なる場合があります。こうした関数には、RAND、AREAS、INDEX、OFFSET、CELL、INDIRECT、ROWS、COLUMNS、NOW、TODAY、RANDBETWEEN があります。
補足説明
Excel Tech Community では、いつでも専門家に質問できます。Microsoft コミュニティでは、サポートを受けられます。また、Excel User Voice では、新機能についての提案や改善案を送信することができます。