统计包含任何文本的单元格数量

203

我想统计一个范围内包含任何内容的单元格数量。 任何包含文本、数字或其他信息的单元格都应在结果单元格中加一。

我找到了这个函数,

countif(range; criteria)

但这对我不起作用,因为我不知道要在条件中输入什么。 我该怎么做?

8个回答

302
你可以将 "<>" (包括引号)作为criteria参数传递。这基本上是说,只要不是空/空白,就进行计数。我认为这就是你想要的。
=COUNTIF(A1:A10, "<>") 
否则,您可以像Scott建议的那样使用CountA

6
没什么"否则"的。 CountA 是完成它的方法。 - Stephen
9
如果您计算生成的单元格,countA 不是正确的方法,因为它将空白单元格也计算为1。 - Eugene Kaurov
6
统计 A1 到 A10 中非空单元格的数量。 - Eugene Kaurov
10
这段代码的翻译是:=计数(A1:A10)-计算空单元格数量(A1:A10)。 - Eugene Kaurov
4
@paulvs,这取决于语言环境。 - Qwertiy
显示剩余3条评论

34

COUNTIF函数仅会计算指定范围内包含数字的单元格。

COUNTA(range)将计算参数列表中的所有值。即使它们包含长度为0的空字符串,文本条目和数字也都会被计数。

示例: 在A7中的函数 =COUNTA(A1:A6)

范围:

A1 a

A2 b

A3 banana

A4 42

A5

A6

A7 4 -> 结果

Google电子表格函数列表包含所有可用函数的列表以供参考https://support.google.com/drive/table/25273?hl=en


在我的测试中,COUNTA 不会计算空单元格(即没有内容)。因此,你的说法是不正确的。 - hazrpg
一个长度为0的空字符串并不一定等同于一个空白单元格。一个空白单元格的值为NULL(或类似的,取决于系统);而包含长度为0的字符串的单元格则有其内容。 - Canned Man
@hazrpg,但它会计算带有 ="" 的单元格。 - Qwertiy

7
标准应该是"?*"而不是"<>",因为后者也会计算包含空结果的公式,例如""。
所以最简单的公式将是:
=COUNTIF(Range,"?*")

3

{{链接1:示例文件}}

enter image description here

注意:

  • 尝试找到计算非空单元格( ="" 是一个空单元格)的公式,而不需要两次使用 data 的解决方案:=ARRAYFORMULA(SUM(IFERROR(IF(data="",0,1),1)))。对于={SUM(IFERROR(IF(data="",0,1),1))}应该可以工作(在公式中按 Ctrl + Shift + Enter )。

2

如果你有一些内容为空、类似于=""的单元格,不希望将其计算在内,你需要通过公式将空单元格数量从总单元格数量中减去,例如:

=row(G101)-row(G4)+1-countblank(G4:G101)

在2维数组的情况下,它会是这样:
=(row(G101)-row(A4)+1)*(column(G101)-column(A4)+1)-countblank(A4:G101)

在谷歌文档上进行了测试。


1

COUNTIF函数可以计算满足特定条件的单元格数量,而COUNTA将计算包含任何值的所有单元格。

示例:在A7中的函数:=COUNTA(A1:A6)

范围:

A1| a

A2| b

A3| banana

A4| 42

A5|

A6|

A7| 4 (result)

1

这个有效。

=ArrayFormula(SUM(IF(ISTEXT(放入你的文本与任何其他内容混合的范围),1,0),1))

  1. IsText(range)检查您的数据并返回每个单元格是否为文本,对于每个是文本的单元格返回True,否则返回False。我认为这些值会被返回到一个数据表/数组中。请参阅步骤4。
  2. If(IsText(range),1,0)从步骤1中由IsText返回的数组/表中获取True/False值,并将True转换为1,将False转换为0,作为真正的整数而不是字符串。
  3. Sum(range)然后总计1(True/完全是文本的单元格),并忽略0(False/不完全是文本的单元格)。
  4. 由于某种原因,需要ArrayFormula将所有单元格的总和返回到一个单元格中,而不是将所有单元格的总和返回到一个相同大小的表中。不知道为什么。如果有知识渊博的人能够补充一下,将不胜感激。

祝好运。


0

要计算任何单元格中的内容(包括任何文本或数字值,以及具有文本、数字或空白结果的公式),请使用:

=COUNTIF(A1:A10, "<>")

或者

=COUNTA(A1:A10)

只计算具有非空值的单元格(包括文本或数值,或带有数值或文本值的公式,但不包括结果为空白的公式),即单元格值长度大于零个字符,则使用:

=SUMPRODUCT(--(LEN(A1:A10)>0))

或者

=COUNTA(FILTER(A1:A10, A1:A10 <> ""))

只计算具有文本(包括字母和数字)值的单元格,请使用:

=COUNTIF(A1:A10,"?*")

只计算具有数值的单元格,请使用以下方法:

=COUNT(A1:A10)

要计算任何空单元格(包括没有值的单元格和公式结果为空的单元格),请使用:

=COUNTBLANK(A1:A10)

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