Excel IF()公式用于检查数字字符

3

我在这里想表达的是:如果C4单元格中的值为数字且大于等于1,则要将该值乘以300并加到C10*.26上;如果C4不是数字或者为0,则只需要在该单元格中显示C10*.26。

以下是我拥有的公式:

=if(C4<>"", (300*C4)+(C10*.26),(C10*.62))

如果输入的不是数字,则此公式会出错,出现#VALUE!错误。

最好的解决方法是将公式包含在IFERROR()函数中,还是Excel 2016有一种内置的方法来检查单元格值是否为数字?


如果它是零,你应该像问题中所说的那样乘以0.26还是像公式中所示的那样乘以0.62? - Forward Ed
2个回答

4

使用ISNUMBER尝试一下。

=if(AND(ISNUMBER(C4), IFERROR(VALUE(C4), FALSE)), (300*C4)+(C10*.26), (C10*.62))

在AND()语句中添加内容会导致#Value!错误。 - BellHopByDayAmetuerCoderByNigh
1
出于好奇,@Jeeped,你为什么需要isnumber检查呢?=IF(IFERROR(VALUE(C4),0),(C300*C4)+(C10*0.26),(C10*0.62))不会给出相同的结果吗?“0是假,其他都是真”- JEEPED - Forward Ed
@ForwardEd - 你不需要这样做。零乘以任何数都是零,但我将公式错误读作是乘号而不是加号,并且在意识到错误之前已经编辑了几次。 - user4039065

1
你可以尝试:

你可以尝试:

=IF(AND(ISNUMBER(C4),C4>=1), (300*C4)+(C10*0.26),(C10*0.62))

希望这有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接