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