我如何获得选择Excel中所有非空白单元格的条件?


75

如何countifs选择所有非空白单元格?我还有其他两个条件,因此counta单独使用不是一种选择。

使用istext使结果始终为0。当<>"" 用作标准时,Excel会给出错误 。

Answers:


109

使用的条件"<>"。它将计数任何非空单元格,包括#NAME?#DIV/0!。至于它为什么起作用,我知道该死,但是Excel似乎能理解。

注:很好地工作在Google Spreadsheet


我自己尝试了一下,发现它可行,但正如您还指出的那样-excel为什么接受它没有意义。我必须添加另一个条件来避免vlookups显示的0。

1
哇!这个答案仍然是7年后的救命稻草-包含了我在Microsoft文档中找不到的信息。谢谢!!
AAT

7
请注意,这不适用于计算结果为空字符串的公式。例如,它将对包含=""为非空白的单元格进行计数。
elixenide

22

如果多个条件使用countifs

=countifs(A1:A10,">""",B1:B10,">""")

" >"" " 在大于是空的样子。此公式将查找两个条件,并且同一行中的任何一列都不能为空以进行计数。如果仅计算一列,则使用一个条件执行此操作(即在B1:B10不包括逗号之前使用所有内容)


这很有用,因为在某些情况下,显然空单元格不会被排除"<>",而是在使用时会排除">"""
Ryan DW

4
“>”“”解决方案是完美的。“ <>”的问题在于,即使结果为空(例如,如果您使用IFERROR),它也会计算其中包含公式的单元格,而“>”“”似乎可以用于计算值单元格而不是内容。
JoeP 2013年

这正是我一直在寻找的东西。“ <>”不适用于我。这很好。谢谢。
桑根公园

8

在Excel 2010中,您具有countifS函数。

如果我试图计算范围内具有非0值的单元格的数量,则会遇到问题。

例如,如果您有一个在A1:A10范围内的工作表具有值1,0,2,3,0,并且您想要答案3。

正常函数= COUNTIF(A1:A10,“ <> 0”)将为您提供8,因为它将空白单元格计数为0。

我对此的解决方案是使用具有相同范围但具有多个条件的COUNTIFS函数,例如

= COUNTIFS(A1:A10,“ <> 0”,A1:A10,“ <>”)

这可以有效地检查范围是否为非0且非空白。


6

如果您使用多个条件,并且想要计算特定列中非空白单元格的数量,则可能需要查看DCOUNTA。

例如

  A   B   C   D  E   F   G
1 Dog Cat Cow    Dog Cat
2 x   1          x   1
3 x   2 
4 x   1   nb     Result:
5 x   2   nb     1

E5中的公式:= DCOUNTA(A1:C5,“ Cow”,E1:F2)


1
这是一个比公认答案更好的选择。当您要计数时,为什么不使用带有IF的Vlookup的原因已经超出了我的范围。Dcount是你的朋友。不过,如果您喜欢大块的公式,请使用其他答案。
匿名类型

4

您可以尝试以下方法:

=COUNTIF(Data!A2:A300,"<>"&"")

这就是我所需要的。谢谢!
biggles

3

我发现最好的方法是改为使用SUMPRODUCT

=SUMPRODUCT((A1:A10<>"")*1)

如果您想提出更多标准,那就也很棒:

=SUMPRODUCT((A1:A10<>"")*(A1:A10>$B$1)*(A1:A10<=$B$2))

0

我发现最好的方法是结合使用“ IF”和“ ISERROR”语句:

=IF(ISERROR(COUNTIF(E5:E356,1)),"---",COUNTIF(E5:E356,1)

如果出现错误(如果单元格中没有要计数/平均/等的数据),则此公式将用三个破折号(---)填充该单元格;如果存在错误,则该公式将使用计数(如果单元格中有数据)

关于此逻辑查询的一个很好的部分是,它将通过使它们的文本值为“ ---”来排除完全空白的行/列,因此,如果您对行进行计数(或求平均值),然后将其计入(或求平均值)公式中的另一个位置,第二个公式将不会出现错误,因为它将忽略“ ---”单元格。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.