在Excel中,如果引用的单元格为空,我需要返回值1
如果值为zero
,我可以这样做,但如果它为空,我该怎么做?
答案 0 :(得分:73)
您可以使用:
=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)
。你会看到前者是真的而后者是假的。
答案 1 :(得分:8)
P4是我测试的细胞:
=IF(ISBLANK(P4),1,0)
答案 2 :(得分:7)
Paxdiablo的回答绝对正确。
为避免两次写入返回值'communication."office".email'
,我会改为使用它:
1
答案 3 :(得分:2)
=if(a1="","1","0")
在此公式中,如果单元格为空,则结果为1
,否则为0
答案 4 :(得分:2)
将单元格与“”(空行)进行比较:
=IF(A1="",1,0)
答案 5 :(得分:0)
如果你有一个充满空格或空格的单元格,你可以使用:
=Len(Trim(A2)) = 0
如果您测试的细胞是A2
答案 6 :(得分:0)
在您在单元格中查找数字值的某些情况下,您可能必须使用=IF(ISNUMBER(A1),A1,1)
。
答案 7 :(得分:0)
由于经常需要,它可能也很简短:
pq
如果单元格显示为空但包含一个空格或=1*(A1="")
1
=IF(B1=3,"Yes","")
不包含B1
的公式,则不会返回3
。
=A1=""
将返回TRUE
或FALSE
,但等式中的那些将分别视为1
和0
,因此将TRUE
乘以1
会返回1
。
使用双一元--
可以达到同样的效果:
=--(A1="")
当A1为空时,一个减号将TRUE
否定为-1而另一个否定{}为1
(仅+
代替--
但是不会改变{ {1}}到TRUE
)。
答案 8 :(得分:0)
当心:
还有一些看似blank
,但不是真正为空的单元格,但包含“”或在其他语言中称为NULL
的单元格。例如,当某个公式的结果为“”或将这样的结果复制到单元格时,该公式
ISBLANK(A1)
返回FALSE
。这意味着该单元格并非真正为空。
去那里的方法是使用enter code here
COUNTBLANK(A1)
找到真正的空单元格和包含“”的单元格。另请参见这个很好的答案here