我有一个包含 2 列的 Excel,每列有 665 个单元格。格式化并找到重复值后,我创建了一个过滤器,以便仅显示重复值。
这是打印屏幕。
在本例中,我想找到对 A 列或 B 列中的单元格进行计数(格式化和过滤后)的公式,如打印屏幕中所示。
如您所见,我尝试将 =COUNTA(A1:A5000)
放入 H 列的单元格中,但不起作用。谁能帮我吗?
最佳答案
如果需要计算筛选列表中可见项目的数量,请使用 SUBTOTAL 函数,该函数会自动忽略被筛选器隐藏的行。
SUBTOTAL 函数可以执行 COUNT、SUM、MAX、MIN、AVERAGE、Product 等计算(请参见下表)。它会自动忽略过滤列表或表格中不可见的项目。这使得它非常适合显示列表中可见的项目数、可见行的小计等。它还提供手动隐藏的控制行。
您问题的解决方案是计算过滤器处于事件状态时 A 列和 B 列中可见的非空白行数,使用:
=SUBTOTAL(103,$A:$A)
应用 SUBTOTAL 公式时要记住的要点:
- 当 function_num(第一个参数)介于 1-11 之间时,SUBTOTAL 包含手动隐藏但忽略过滤器隐藏的值。
- 当 function_num 介于 101-111 之间时,SUBTOTAL 会排除所有类型的隐藏值。
- 在过滤列表中,SUBTOTAL 始终忽略隐藏行中的值,无论 function_num 为何。
- SUBTOTAL 忽略引用中存在的其他小计,以防止 重复计算
- SUBTOTAL 仅适用于垂直排列的垂直数据值。
- 在水平隐藏列中,值始终包含在内且绝不会被忽略。
关于Excel:格式化和过滤后对列中的单元格进行计数的公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43303843/