Excel的过滤功能使您可以轻松地仅显示数据表中所需的信息。 _ExcelTips的其他问题中已经讨论了如何使用过滤。_将过滤器应用于数据后,您可能希望使用一个函数来显示在过滤范围内显示的单元格数。

如果只需要快速了解计数,请突出显示已过滤的范围,右键单击状态栏上的任意位置,然后从出现的上下文菜单中选择计数。 Excel在状态栏中显示所选范围内显示的单元格数。

如果您需要可以在公式中使用的解决方案,则应考虑SUBTOTAL函数。此功能提供了许多不同的“小计”结果,但仅对显示的数据起作用。这意味着由自动筛选器过滤掉的信息将不计入SUBTOTAL返回的内容。

SUBTOTAL函数的一般语法如下:

=SUBTOTAL(type,range)

您需要做的就是指定_type_和_range_。范围部分应该很容易:它只是一个标准范围。 _type_说明符可以是1到11之间的数字,如下所示:

Type

Function Performed

1

AVERAGE

2

COUNT

3

COUNTA

4

MAX

5

MIN

6

PRODUCT

7

STDEV

8

STDEVP

9

SUM

10

VAR

11

VARP

请注意,您使用的_type_说明符指示将哪些Excel函数应用于显示的结果。因此,如果要确定F3:F27范围内的过滤结果的计数,请使用2的_type_说明符,如下所示:

=SUBTOTAL(2,F3:F27)

当然,这种用法将计算指定范围内的数值。

如果要计算文本值,则应使用_type_说明符3,以便Excel改为依赖COUNTA函数。

您还应该知道,可以在101到111的范围内使用_type_说明符。它们与上面列出的说明符相同,但仅添加了100个。区别在于值1到11在所有单元上都起作用,而值101到111仅在非隐藏单元上起作用。 Excel 2003支持该次要说明符范围,但某些早期版本的Excel也可能支持。 (找出答案的最佳方法?尝试一下,看看该函数是否为您崩溃。)

如果您是喜欢基于宏的解决方案的人,那么您可能希望参考Microsoft知识库文章213330进行更全面的讨论:

http://support.microsoft.com/kb/213330

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(1955)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: