Excel のネストされた IF 関数の何が問題なのか、誰か教えてもらえますか?

Excel のネストされた IF 関数の何が問題なのか、誰か教えてもらえますか?

次の機能があります:

=IF(B4<5, "優秀", IF(OR(B4>5, B4<7), "良好", IF(B4>=7, "満足")))

セル値が 5% 未満の場合は「優秀」、5% から 7% の間の場合は「良好」、7% より大きい場合は「満足」と評価したいと思います。

関数が参照するセル値 (B4) はパーセンテージです。何が間違っているのか分かる人はいますか?

答え1

% として表示するのは書式設定です。値はパーセントの整数ではなく、実際の (小数) 値として保存されます。<5% をテストするには、<.05 などを使用します。

ちなみに、5% から 7% の間の値をテストする場合は、OR ではなく AND を使用します。たとえば、3% の場合は 7% 未満なので OR が真になり、8% の場合は 5% を超えるので OR が真になります。

また、< と > のみをテストすると、範囲に穴があいてしまいます。値が正確に等しい場合も考慮する必要があります。<= と >、または < と >= のどちらが必要かを判断してください。

IF を保存することもできます。最初の 2 つの IF はすべて <.07 をテストするため、偽の条件は >=.07 になります。IF の一般的な形式は IF(条件、真の結果、偽の結果) です。したがって、数式は次のようになります。

=IF(B4<.05, "Excellent", IF(AND(B4>=.05, B4<=.07), "Good", "Satisfactory"))

答え2

パーセンテージ形式は 0 から 1 の間なので、if 関数を B4<0.05 のように書き直す必要があります。次のようになります。

=IF(B4<0.05, "Excellent", IF(OR(B4>0.05, B4<0.07), "Good", IF(B4>=0.07, "Satisfactory")))

IF関数を見ると、関数内で5%を定義するのを忘れているようです

関連情報