IF は Excel で最も汎用性が高く、よく使われる関数の 1 つであり、多くの場合、単一の数式および他の関数との組み合わせで複数回使用されます。 残念ながら、IF ステートメントの作成は複雑であるため、#VALUE! エラーが発生しやすくなります。 通常は、ISERROR、ISERR、または IFERROR のようなエラー処理の特定の関数を数式に追加することで、エラーを抑制できます。

問題:引数がエラー値を参照する

エラー値を参照するセルがあると、IF で #VALUE! エラーが表示されます。

解決方法:IF と共に ISERROR、ISERR、または IFERROR などのエラー処理数式を使用することができます。 以下のトピックでは、引数がエラー値を参照する場合に、数式で IF、ISERROR および ISERR、または IFERROR を使用する方法について説明します。

注: 

  • IFERROR は Excel 2007で導入され、ISERROR または ISERR よりもはるかに望ましいです。これは、数式を冗長に構築する必要はならないのでです。 ISERROR と ISERR では、数式を強制的に 2 回計算し、最初に数式がエラーに評価されるのを確認してから、もう一度結果を返します。 IFERROR は 1 回だけ計算します。

  • =IFERROR(Formula,0) は =IF(ISERROR(Formula,0,Formula)) よりはるかに効率的です。

問題: 構文が正しくない

関数の構文が正しく構築されていないと、#VALUE! エラーが返される場合があります。

解決方法:構文を正しく構築していることを確認します。 所得水準に基づいて控除額を計算するために IF 関数が別の IF 関数に入れ子になっていて、適切に構築された数式の例を以下に示します。

=IF(E2<31500,E2*15%,IF(E2<72500,E2*25%,E2*28%))

適切に構築された IF ステートメントの例

つまり、これはセル A5 内の値が 31,500 未満の場合は、値に 15% を乗算し、そうでない場合は、値が 72,500 未満であるかどうかを確認します。値が 72,500 未満の場合は、25% を乗算し、それ以外の場合は 28% を乗算する.

既存の数式で IFERROR を使用する場合は、以下のように IFERROR で完成した数式を囲むだけです。

=IFERROR(IF(E2<31500,E2*15%,IF(E2<72500,E2*25%,E2*28%)),0)

つまり、元の数式の一部がエラーと評価された場合は 0 を表示し、それ以外の場合は IF ステートメントの結果を返します。 一部のユーザーは、エラー処理を開始するために完全な数式を記述しますが、これはよい方法ではありません。エラー ハンドラーは潜在的なエラーを抑制します。そのため、数式が正しく動作しているかどうかは必ずしもわかりません。 エラー処理を追加する必要がある場合は、数式が正しく動作する場合は、追加する必要があります。

注: 数式の評価値にカンマはありません。 追加すると、IF 関数ではそれらを引数として使用しようとし、Excel によって通知されます。 一方、パーセンテージ乗数には % 記号があります。 これで、値をパーセンテージとして表示するように Excel に通知されます。 それ以外の場合は、"E2*0.25" のように、実際のパーセンテージ値として入力する必要があります。

値にコンマを追加した際の Excel メッセージ

特定の関数について質問がある場合

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

補足説明

Excel 技術コミュニテでは、いつでも専門家に質問できます。また、Answers コミュニティでは、サポートを受けられます。

関連項目

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

IF 関数

IFERROR 関数

IS 関数

IFS 関数 (Microsoft 365以降Excel 2016)

IF 関数 – 入れ子になった式と問題の回避

ビデオ: 入れ子になった IF 関数

Excel の数式の概要

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

数式のエラーを検出する

すべてのExcel関数 (アルファベット順)

全 Excel 関数 (機能別)

ヘルプを表示

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

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

翻訳品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?

フィードバックをお送りいただきありがとうございます!

×