IF は Excel で最も汎用性が高く、よく使われる関数の 1 つであり、多くの場合、単一の数式および他の関数との組み合わせで複数回使用されます。 残念ながら、IF ステートメントの作成は複雑であるため、#VALUE! エラーが発生しやすくなります。 通常は、ISERROR、ISERR、または IFERROR のようなエラー処理の特定の関数を数式に追加することで、エラーを抑制できます。
問題:引数がエラー値を参照する
エラー値を参照するセルがあると、IF で #VALUE! エラーが表示されます。
解決方法:IF と共に ISERROR、ISERR、または IFERROR などのエラー処理数式を使用することができます。 以下のトピックでは、引数がエラー値を参照する場合に、数式で IF、ISERROR および ISERR、または IFERROR を使用する方法について説明します。
注
- IFERROR was は、数式を冗長に構築する必要がないため、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 技術コミュニティの専門家にいつでも質問するか、コミュニティでサポートを受けることができます。