我有以下功能:
=IF(B4<5, "優秀", IF(OR(B4>5, B4<7), "良好", IF(B4>=7, "滿意")))
如果單元格值小於 5%,我想給出優秀;如果單元格值在 5% 到 7% 之間,我想給出良好;如果單元格值大於 7%,我想給出滿意。
此函數引用的儲存格值 (B4) 以百分比形式表示。有人看到出了什麼問題嗎?
答案1
顯示為%是格式化;該值儲存為實際(十進位)值,而不是整數百分比。要測試 <5%,請使用 <.05 等。
順便說一句,如果您想測試 5% 到 7% 之間的值,請使用 AND 而不是 OR。 OR 對於 3% 來說是正確的,因為它小於 7%,或者對於 8% 是正確的,因為它大於 5%。
另外,如果您僅測試 < 和 >,那麼您的範圍中將會有漏洞;當這些值完全相等時,您需要做好準備。弄清楚你想要 <= vs. >,還是 < vs. >=。
您也可以儲存 IF。您的前兩個 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%