参考: 数式エラー
エラー | ノート |
|---|---|
#DIV/0! | 数値が 0 で除算されようとしています。例: セルの値や結果が予期せず 0 または空白になっており、数式でこうした数値による除算が行われようとしています。 |
#ERROR! | あまり発生しないエラーです。ほとんどのエラー メッセージは内容が非常に具体的ですが、#ERROR は単に、構文エラーが存在するか、不明な理由により数式を送信できないことを示している場合があります。 |
#FIELD! | データ タイプ エラーが存在します。 |
#GETTING_DATA! | 実際のエラーではありませんが、大規模な計算や複雑な計算の処理中や、ライブ データのリフレッシュの実行中に、ワークブックのセルに一時的に表示される場合があります。計算が完了するか、ライブ データのリフレッシュが完了すると、このメッセージは表示されなくなります。 |
#N/A! | 関数または数式で値を使用できません。以下に例を示します。
|
#NAME! | 存在しない定義名または関数を参照しました。 |
#NULL! | 次のような状況が考えられます。
|
#NUM! | 演算のタイプに対して無効な数値データが数式に含まれています。 例: データ範囲に複数の通貨単位が含まれている場合、ピボット テーブルでは計算がサポートされません。給与を含むピボット テーブルがあり、一部の給与が USD で、他の給与が CAD である場合、データに対して SUM や AVERAGE などの計算を行うことはできません。エラー セルにカーソルを合わせると、"単位換算に問題があります" と表示されます。この場合、有効な関数は COUNTA のみです。 単位数の問題である可能性のある #NUM エラーのトラブルシューティングに役立てるために、を選択すると単位設定を表示できます。 |
#REF! | 参照が無効です。 |
#SPILL! | このエラーの最も一般的な原因は、配列数式の結果が既存のデータと重複しているために、配列数式の結果をワークブックに配置できないことです。 数式によって入力領域の境界を越えてデータが配置される場合に #SPILL が発生します。 通常は、スペース文字の後に Enter、Tab、または矢印キーを入力して、セルを「クリア」できます。これでは、セルは実際にはクリアされません。空白文字が 1 つ残り、数式が正しく動作しなくなる可能性があります。例: 空でない呼び出しは、配列数式を計算する際にスルールスペースを含むセルには視覚的なインジケータがないため、不明な場合は、手動でセルをクリアしてください。 |
#VALUE! | オペランドまたは関数の引数のタイプを間違えています。例: 数値が想定されるところで、スペース、文字、またはテキストが検出された場合、#VALUE が表示されます。 |
####### | 実際にはエラーではありません。列の幅が不十分で値を表示できません。 |
数式エラーのヒント
配列数式を送信する際は、適切なキーボード ショートカットを使用する必要があります。制約付き配列数、制約のない配列数式などの詳細については、「概念: ワークブックの配列数式」を参照してください。
循環参照に関連するエラーが表示された場合は、Worksheets ユーザー ガイドの「概念: 循環参照」を確認することをお勧めします。
で自動または手動の再計算が設定されていることに注意してください。
複雑な数式は以下のように簡素化してみてください。
- 数式に入れ子関数が多数含まれている場合は、1 つ以上の関数を分離して、その結果を別の範囲に配置し、元の数式の残りの部分でこの範囲を参照するようにします。
- 数式に解決できない外部参照がある場合は、ワークブックをマージして、参照がワークブックではなく別のシートのみになるようにするか、すべてのデータを 1 つのシートに配置します。
エラー コードの代わりにわかりやすいテキストを表示
セルの値に基づいて計算を行う数式を使用することがありますが、それらの値の 1 つが予期しない値になると、#DIV/0 エラーなどのエラーが発生します。エラーが発生する可能性を考慮し、よりわかりやすいメッセージをワークブック ユーザーに表示する場合は、以下を使用できます。
- IFERROR 関数または ISERROR 関数。
- IFEMPTY 数式: 結果が空の配列となる、制約のない配列数式に対応します。
例: ある四半期の営業担当者の平均賞与を示すワークブックがあります。営業担当者が賞与を得るには、特定の月に 5,000 ドルを超える商品を販売する必要があります。Matt には賞与がなかったため、"平均賞与額" のセルには #DIV/0 のエラーが表示されます。このわかりにくいエラーが表示されないようにするには、IFERROR 内に AVERAGEIF 関数をネストしてください。F2 に次の数式を設定します。
=IFERROR(AVERAGEIF(B2:D2,">5000",B2:D2),"賞与なし")
A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
1 | 氏名 | 1 月の売上 | 2 月の売上 | 3 月の売上 | 賞与数 | 平均賞与 |
2 | Matt Bond | $1500 | $3275 | $2900 | ゼロ | 賞与なし |
ISERROR 関数は IFERROR に似ていますが、エラーの有無に基づいて TRUE または FALSE の結果を返します。