Excel条件计算公式求助:无法实现预期计算结果
Excel公式错误分析及修正
错误公式问题拆解
第一个公式:=IF(L9>=1000,L9-100,L9)*OR(L9<999,L9*80%,L9)
- 误用
OR函数:OR是逻辑判断工具,仅返回TRUE(等价于1)或FALSE(等价于0),不能用来做分支计算。你把IF的返回值和OR的结果相乘,逻辑完全混乱,必然得不到正确结果。 - 结构冗余:IF本身就是双分支判断,不需要额外嵌套OR画蛇添足。
第二个公式:=IF(OR(L9>1000,L9<1000),L9-100,L9*80%)
- 条件逻辑颠倒:
OR(L9>1000,L9<1000)覆盖了除L9=1000之外的所有数值,意味着只要不是1000,都会执行L9-100,和你要的“<999时乘80%”完全相反,这是核心错误。
正确公式
根据你的需求,分情况处理(注:你未说明L9=999时的规则,以下公式默认该情况返回原数值,若需调整可自行修改):=IF(L9>=1000, L9-100, IF(L9<999, L9*0.8, L9))
如果你的需求是笔误,实际是“<1000时乘80%”(即999也按80%计算),可简化为:=IF(L9>=1000, L9-100, L9*0.8)
内容的提问来源于stack exchange,提问作者Terri Griffiths
相关产品推荐
相关产品推荐

