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

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

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

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

注: 

  • IFERROR は 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 Tech Communityで、いつでも専門家に質問できます。また、コミュニティでは、サポートを受けられます。

関連項目

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

IF 関数

IFERROR 関数

IS 関数

IFS 関数 (Microsoft 365 または Excel 2016 以降)

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

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

Excel の数式の概要

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

数式のエラーを検出する

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

全 Excel 関数 (機能別)

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。