在Excel中,如果一个参考单元格为空,我需要返回一个值为1
。
如果它是零
,我可以这样做,但是如果它是空的,我该怎么办?
你可以使用:
=IF(ISBLANK(A1),1,0)
但是你应该注意清楚空单元格的含义。我以前就因此被卡住过。如果你想知道一个单元格是否真正为空白,上面提到的isblank
会起作用。不幸的是,有时你还需要知道它是否只是不包含有用数据。
表达式:
=IF(ISBLANK(A1),TRUE,(TRIM(A1)=""))
如果单元格完全为空或只包含空格,则此函数将返回true。
当列A包含不同数量的空格、列B包含长度(以便您知道有多少个空格),列C包含上述表达式的结果时,以下是结果:
<-A-> <-B-> <-C->
0 TRUE
1 TRUE
2 TRUE
3 TRUE
4 TRUE
5 TRUE
a 1 FALSE
<-A-> <-B-> <-C->
如果单元格为空或只包含空格,则返回1,否则返回0:
=IF(ISBLANK(A1),1,if(TRIM(A1)="",1,0))
这个技巧在检查的单元格实际上是Excel函数的结果时非常有用。许多Excel函数(例如trim)将返回空字符串而不是空单元格。
您可以在新工作表中看到此操作。将单元格A1
保持不变,将A2
设置为=trim(a1)
。
然后将B1
设置为=isblank(a1)
,并将B2
设置为isblank(a2)
。您会发现前者为true,而后者为false。
P4是我测试的单元格:
=IF(ISBLANK(P4),1,0)
将单元格与“”(空行)进行比较:
=IF(A1="",1,0)
=if(a1="","1","0")
在这个公式中,如果单元格为空,则结果为1
,否则为0
。
由于这个经常被需要,因此可以简短明了:
=1*(A1="")
如果单元格为空但包含空格或类似于=IF(B1=3,"Yes","")
的公式,其中B1
不包含3
,则此操作将不会返回1
。
=A1=""
将返回TRUE
或FALSE
,但在等式中被视为1
和0
,因此将TRUE
乘以1
将返回1
。
双重否定--
也可以实现相同的效果:
=--(A1="")
当A1为空时,一个减去否定TRUE
为-1,另一个否定它为1
(仅使用+
代替--
不会将TRUE
更改为1
)。
=Len(Trim(A2)) = 0
如果你正在测试的单元格是A2
在某些情况下,您可能需要使用=IF(ISNUMBER(A1),A1,1)
来查找单元格中的数字值。
NULL
的内容。例如,当公式的结果为 "" 或这样的结果被复制到单元格中时,该公式。ISBLANK(A1)
返回 FALSE
。这意味着单元格并非真正为空。
解决方法是使用 enter code here
。
COUNTBLANK(A1)
它可以找到真正的空单元格和那些包含“”的单元格。请参见这个非常好的答案这里
TRIM(A1)
on blank cell seems to return""
anyway, so the To return1 if the cell is blank of whitespace and 0 otherwise can be shortened to just=IF(TRIM(A1)="",1,0)
- Zarremgregarrok=--(TRIM(A1)="")
但是CLEAN比TRIM更好,所以:=--(CLEAN(A1)="")
- Excel Hero