当我使用 Excel 文档时,我注意到,如果我想检查一个或多个单元格是否非空,以下内容似乎会给出相同的输出。
使用 ISBLANK()
=IF(ISBLANK(B2)=FALSE,1,0)
=IF(ISBLANK(B2),0,1)
仅使用单元格本身,B2
=IF(B2,1,0)
看起来,如果单元格不为空,则输出 1,如果为空,则输出 0。我认为单元格本身会输出单元格本身,因此如果是数字,则应为真,如果为空,则为假,而 ISBLANK() 返回布尔值。
我相信如果它们用于 IF 语句中,那么它们是等效的吗?我也不确定其中一个是否使用了更多的计算能力。
答案1
我刚刚意识到有区别,主要区别在于,如果单元格的值是“0”。
然后 ISBLANK() 函数将输出 TRUE,但 B2 单元格函数只会输出 0,这相当于 IF() 语句中的 FALSE。
似乎单元格函数本身非常适合对数字进行求和/平均,当您不想计算函数中存在“0”的异常值时,因此对于 IF 语句来说,它似乎等同于此:
IF(AND(ISBLANK(B2)=FALSE,B2<>0),1,0)
如果有错误请告诉我