我在 J 列中使用的公式是=IFERROR(IF(B1>0,H1*I1,""),"")
。在 H 列和 I 列中,大多数条目为空白(非零),J 计算结果为 0。在第 23 行中,J 更改为计算“”,而 B 仍大于 0。如果我尝试将 H22 乘以 I23,则会出现错误,当我进行计算时,它会尝试乘以 (H22)“0”x (I23)“”。我不知道为什么它不再将该行中的空白单元格称为零,它们都是相同的数据类型(常规)。我尝试将它们全部更改为数字,但没有任何变化。
我知道空单元格与零值单元格不同,但两个单元格都是空白的,一个计算为空,另一个计算为零,我不知道为什么。
答案1
该值""
是文本,不能用作数字。尝试将其用于直接算术将导致可怕的#VALUE!
错误。但是,大多数函数都会忽略此类值。是的,这是不一致的。
因此,为了避免错误,您应该使用函数。例如, PRODUCT 函数。
当将数字与空值相乘时,PRODUCT 将忽略空单元格并返回另一个非空单元格作为其值。如果这不是您想要的,请使用类似于的 ISNUMBER 函数:
=IF(ISNUMBER(A1);A1*B1;0)
。