计算满足条件的非空单元格数

计算满足条件的非空单元格数

这是一些应该是基本的东西,但我无法弄清楚。

因此,我在 A:G 列中有信息。B:G 列中的一些单元格是空的,其他单元格则不是。

在下面的电子表格中,如果在 A:A 列中填写了条件“John”,那么如何找出区域 B:G 中有多少个单元格是非空的?

我的尝试,但没有效果:
=COUNTIFS(A:A, "John", B:G, "*")

+----+-------+---------+---------+---------+-------+-----------+--------+
|    |   A   |    B    |    C    |    D    |   E   |     F     |   G    |
+----+-------+---------+---------+---------+-------+-----------+--------+
|  1 | John  | bla     | blaba   | fsdfs   |       | sdfsdfdsf | sdfsdf |
|  2 | Bill  | sfsdf   |         | sdfsdf  |       | sdfsdsd   |        |
|  3 | Tim   |         |         |         |       |           |        |
|  4 | John  | sdfsdf  | ssdfsdf |         |       | sdfsdf    | sdfsd  |
|  5 | Rick  | egerreg | g       | gergerg |       | g         |        |
|  6 | Steve |         |         |         | ergrg |           |        |
|  7 | Rick  | ergerg  | er      | gergerg |       |           |        |
|  8 | John  |         | reger   |         |       |           | erge   |
|  9 | Tim   |         | erg     |         | erg   |           |        |
| 10 | Rick  | ergerg  |         |         |       | ergerg    | erge   |
+----+-------+---------+---------+---------+-------+-----------+--------+

答案1

你说得对。相当基础。你可以这样做:

=SUMPRODUCT((A1:A10="John")*(NOT(ISBLANK((B1:G10)))))

或者

{=SUM((A1:A10="John")*(NOT(ISBLANK((B1:G10)))))}

当然,第二个公式是数组输入的。

请注意,虽然使用整列时公式仍然有效,但不建议这样做,因为公式将需要很长时间来计算。

答案2

根据Microsoft Office 帮助中心关于COUNTIFS

重要提示:每个附加范围必须具有与criteria_range1参数相同的行数和列数。范围不必彼此相邻。

这就是您失败的原因COUNTIFS:该参数B:G的列数与第一个参数的列数不一样A:A


实现此目的的一种方法是使用SUMPRODUCT,它没有此大小限制。

您可以按照 RobinCTS 的建议使用以下公式:

=SUMPRODUCT((A1:A6="John")*(NOT(ISBLANK(B1:E6))))

然而,如果单元格有内部0,它就不会被视为空的。


Robin 的答案的另一种解决方案是利用这样一个事实:在测试这些条件时,空单元格和包含的单元格0都会返回:和。TRUE<>0<>""

=SUMPRODUCT((A1:A6="John")*(B1:E6<>0))
=SUMPRODUCT((A1:A6="John")*(B1:E6<>""))

根据您的需要以及工作簿中包含的数据类型,这两种解决方案之一应该可以起作用。

下面的例子说明了这一点:

在此处输入图片描述

相关内容