一、subtotal函数的基本概念

subtotal函数是一种流行的Excel函数类型,主要用于计算数值列表中符合指定条件的值(如求和、平均值等),可以方便地实现快速计算。以前要进行类似的计算,通常要自己手动选择列表中的数据,然后再使用”求和”、”计数”等函数进行计算,而使用subtotal函数可以很大程度上简化这个过程。

使用subtotal函数需要指定两个参数:函数编号及数据区域。函数编号是一个整数,用于指定Excel进行哪种计算,而数据区域则是要进行计算的数据范围。

subtotal函数的函数编号有11种,不同的函数编号实现不同的计算。以下是函数编号的说明:

  • 1:计算指定区域中的值之和
  • 2:计算指定区域中的值之平均数
  • 3:计算指定区域中的值之数量(包括文本和空单元格)
  • 4:计算指定区域中的值之数量(不包括文本和空单元格)
  • 5:计算指定区域中的最大值
  • 6:计算指定区域中的最小值
  • 7:计算指定区域中的计数值(区别在于函数编号为3的计算方式是包括空单元格和文本,而函数编号为7的计算方式则只包括数字)
  • 8:计算指定区域中的所有单元格都为数字的数量
  • 9:计算指定区域中的所有单元格不都为数字的数量
  • 10:计算指定区域中的排名为K的值
  • 11:计算指定区域中的所有数值的乘积

二、subtotal函数的使用方法

以下是subtotal函数的基本语法:

=subtotal(function_num, range)

其中,function_num是指定的函数编号,可以是以上提到的11个函数编号之一;range是要进行计算的数据范围。需要注意的是,range必须是一个单一的范围,不能是多个范围的集合。

以下是一个简单的示例,用于演示如何使用subtotal函数求一个数列的和:

=subtotal(9, A1:A10)

上述公式中,函数编号为9,表示计算指定范围中,不是数字的单元格数目(即文本单元格和空单元格的数量),而A1:A10则是数据范围。

如果使用函数编号1,则可以求数据范围中的数字总和。继续以上述示例为例:

=subtotal(1, A1:A10)

上述公式将返回A1到A10单元格的总和。

三、subtotal函数在筛选数据时的应用

subtotal函数还有一个很好用的应用场景,那就是在数据筛选后,计算筛选后数据范围中的数字总和。例如下面这个示例:

假如我们有一个日期列、一个销售额列及一个销售员列,其中日期&销售员用于筛选数据。(前提是实际有数据,往范围内填充样例数据)

日期 销售额 销售员
2021-01-01 100 小林
2021-01-02 200 小王
2021-01-03 300 小陈
2021-01-04 400 小刘

我们可以使用”筛选”功能过滤出特定日期的销售额,例如筛选出在2021年1月1日及之后的销售数据。

在筛选结果的下方,使用subtotal函数可以计算出筛选后销售额的和。我们可以先选中”销售额”列及筛选结果,然后在下方填写公式:

=subtotal(9, B2:B5)

其中,B2:B5为筛选后的数据范围。上述公式将返回在筛选结果中销售额的数量。

四、subtotal函数的使用注意事项

在使用subtotal函数时,需要注意以下几点:

  • subtotal函数只对当前筛选后的数据范围进行计算,而不是整个范围,因此需注意数据范围的选择
  • 若计算结果会影响数据筛选的结果,应该在计算完成后取消筛选,避免计算结果不准确
  • 数据范围一定要使用绝对引用,以保证数据范围不随单元格的移动而改变

五、总结

subtotal函数是一个Excel中非常实用的函数类型,可以在数据筛选、数据汇总等工作中提升效率。在使用过程中,需要注意函数编号的不同含义、数据范围的选择以及计算结果可能会影响数据筛选结果等方面。

注意到数据范围的选择非常重要,必须确保区间不会移动,所以需要使用绝对引用。

=subtotal(1, $A$1:$A$10)