IF(B4-40<0,0,(B4-40))
以上是我的公式,用于在给定单元格中仅显示 40 以上的正数。如果我的小时数是 35,我不希望值为 -5;我希望单元格值为 0。为什么这不起作用?
答案1
以上是我的公式,用于在给定单元格中仅显示 40 以上的正数。如果我的小时数是……比如说 35,我不希望值为 -5,我希望单元格值为 0。为什么这不起作用?
我认为该公式没有理由起作用。确保存储在 B4 中的值是整数而不是字符串。运算顺序可能被误解:如所写,IF(B4-40<0,0,(B4-40))
可能检查 -40 是否小于零;话虽如此,我怀疑情况并非如此,因为公式应该在比较之前评估算术运算。尝试在B4-40
术语周围添加额外的括号(最重要的是简洁):
=IF( (B4-40) < 0, 0, (B4-40) )
我已经验证了上述公式以及原始公式确实可以在 Windows 下的 MS Excel 2007 以及 Linux 下的 Gnumeric 上正常运行。
答案2
=
公式前面缺少一个。如果没有它,Excel 会将其解释为文本。
=IF((B4-40)<0,0,(B4-40))
答案3
您显示的原始公式在公式开头缺少“=”(等号)。如果没有“=”符号,公式将显示为文本。
我也不明白为什么这个公式对你不起作用,假设你在公式开头有“=”符号。我会写得稍微不一样一点:
=IF(B4>40,(B4-40),0)
or
=IF((B4>40),(B4-40),0)
您可以像这样测试 B4 是否实际上是一个数字(而不是字符串):
=IF(ISNUMBER(B4),IF((B4>40),(B4-40),0),"B4 is Not a number")
请注意,如果您使用的是 Open-Office Calc 而不是 Microsoft Excel,则需要使用分号 (;) 而不是逗号 (,),如下所示:
=IF((B4>40);(B4-40);0)
=IF(ISNUMBER(B4);IF((B4>40);(B4-40);0);"Not a number")
答案4
它对我有用,对于小于 35 或 35 的值,我得到 0,你使用的是什么版本的 excel?你还可以检查每个可能导致潜在问题的单元格的类型。