【subtotal万能函数公式】在Excel中,`SUBTOTAL` 函数是一个非常实用的函数,尤其在处理数据清单、筛选数据或汇总数据时,它能够根据当前可见单元格进行计算,而不受隐藏行的影响。因此,`SUBTOTAL` 被称为“万能函数”之一,其功能强大且灵活。
一、SUBTOTAL 函数的基本结构
`SUBTOTAL` 函数的语法如下:
```
SUBTOTAL(function_num, ref1, [ref2], ...)
```
- function_num:表示要执行的计算类型,可以是1到11之间的数字(包括11),也可以是101到111之间的数字。
- 数字1-11:包含隐藏行的计算。
- 数字101-111:忽略隐藏行的计算。
- ref1, ref2...:需要进行计算的数据区域。
二、常用 function_num 对应的功能
下面是 `SUBTOTAL` 函数中常用的 `function_num` 值及其对应的计算方式:
| function_num | 计算方式 | 是否包含隐藏行 |
| 1 | AVERAGE | 是 |
| 2 | COUNT | 是 |
| 3 | COUNTA | 是 |
| 4 | MAX | 是 |
| 5 | MIN | 是 |
| 6 | PRODUCT | 是 |
| 7 | STDEV | 是 |
| 8 | STDEVP | 是 |
| 9 | SUM | 是 |
| 10 | VAR | 是 |
| 11 | VARP | 是 |
| 101 | AVERAGE | 否 |
| 102 | COUNT | 否 |
| 103 | COUNTA | 否 |
| 104 | MAX | 否 |
| 105 | MIN | 否 |
| 106 | PRODUCT | 否 |
| 107 | STDEV | 否 |
| 108 | STDEVP | 否 |
| 109 | SUM | 否 |
| 110 | VAR | 否 |
| 111 | VARP | 否 |
三、SUBTOTAL 的使用场景与优势
1. 数据筛选后仍可正确计算
当你对数据进行了筛选后,`SUBTOTAL` 会自动忽略被隐藏的行,只对可见单元格进行计算,而普通的 `SUM` 或 `AVERAGE` 函数会将隐藏行也纳入计算范围。
2. 适用于动态数据表
在数据表中,如果经常添加或删除行,`SUBTOTAL` 可以更稳定地跟踪变化,不会因为行数变化而影响结果。
3. 结合筛选和排序功能
使用 `SUBTOTAL` 结合 Excel 的筛选功能,可以快速得到当前显示数据的统计结果,非常适合做报表分析。
四、实际应用示例
假设有一个销售数据表,如下所示:
| 日期 | 销售额 |
| 2024/1/1 | 100 |
| 2024/1/2 | 200 |
| 2024/1/3 | 300 |
| 2024/1/4 | 400 |
| 2024/1/5 | 500 |
若只显示前3行,那么使用以下公式:
```
=SUBTOTAL(9, B2:B6)
```
则结果为 `600`(即100+200+300)。
若使用:
```
=SUBTOTAL(109, B2:B6)
```
同样结果为 `600`,但该公式在筛选时会忽略隐藏行。
五、注意事项
- `SUBTOTAL` 不支持多维区域(如多个不连续的区域),除非用逗号分隔。
- 如果数据中有错误值,`SUBTOTAL` 会返回错误。
- 避免在 `SUBTOTAL` 中使用整个列(如 `A:A`),否则可能导致性能问题。
六、总结
`SUBTOTAL` 是一个非常强大的 Excel 函数,尤其适合用于处理筛选后的数据集。它可以根据是否包含隐藏行来选择不同的计算方式,具有很高的灵活性和实用性。掌握 `SUBTOTAL` 的使用方法,可以帮助用户更高效地进行数据分析和报表制作。
| 功能 | 公式示例 | 说明 |
| 求和 | =SUBTOTAL(9, B2:B6) | 包含隐藏行 |
| 求和(忽略隐藏) | =SUBTOTAL(109, B2:B6) | 忽略隐藏行 |
| 平均值 | =SUBTOTAL(1, B2:B6) | 包含隐藏行 |
| 平均值(忽略隐藏) | =SUBTOTAL(101, B2:B6) | 忽略隐藏行 |
| 最大值 | =SUBTOTAL(4, B2:B6) | 包含隐藏行 |
| 最小值(忽略隐藏) | =SUBTOTAL(105, B2:B6) | 忽略隐藏行 |
以上就是【subtotal万能函数公式】相关内容,希望对您有所帮助。


