当引用的单元格为空时,返回值为“1”。

47

在Excel中,如果一个参考单元格为空,我需要返回一个值为1

如果它是,我可以这样做,但是如果它是空的,我该怎么办?

9个回答

74
你可以使用:

你可以使用:

=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。


2
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
@Zarremgregarrok 实际上应该缩短为:=--(TRIM(A1)="") 但是CLEAN比TRIM更好,所以:=--(CLEAN(A1)="") - Excel Hero

8

P4是我测试的单元格:

=IF(ISBLANK(P4),1,0)

7

Paxdiablo的答案是完全正确的。

为了避免两次写入返回值1,我会改用以下方法:

=IF(OR(ISBLANK(A1),TRIM(A1)=""),1,0)

2

将单元格与“”(空行)进行比较:

=IF(A1="",1,0)

2
=if(a1="","1","0")

在这个公式中,如果单元格为空,则结果为1,否则为0


0

由于这个经常被需要,因此可以简短明了:

=1*(A1="")

如果单元格为空但包含空格或类似于=IF(B1=3,"Yes","")的公式,其中B1不包含3,则此操作将不会返回1

=A1=""将返回TRUEFALSE,但在等式中被视为10,因此将TRUE乘以1将返回1

双重否定--也可以实现相同的效果:

=--(A1="")  

当A1为空时,一个减去否定TRUE为-1,另一个否定它为1(仅使用+代替--不会将TRUE更改为1)。


0
如果你有一个填满了空格或空白的单元格,你可以使用以下方法:
=Len(Trim(A2)) = 0

如果你正在测试的单元格是A2


0

在某些情况下,您可能需要使用=IF(ISNUMBER(A1),A1,1)来查找单元格中的数字值。


0
谨防: 有些单元格看似为空,但实际上不是真的空白而是包含了 "" 或其他语言中称为 NULL 的内容。例如,当公式的结果为 "" 或这样的结果被复制到单元格中时,该公式。
ISBLANK(A1) 

返回 FALSE。这意味着单元格并非真正为空。

解决方法是使用 enter code here

COUNTBLANK(A1)

它可以找到真正的空单元格和那些包含“”的单元格。请参见这个非常好的答案这里


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