在日常数据处理中,我们经常需要对数据进行分组汇总,比如按采购方式统计总金额、按部门统计平均工资。传统做法是用透视表,或者用SUMIF/COUNTIF等函数组合。现在,Excel推出了一个全新的强大函数——GROUPBY函数,它把分类汇总、排序、筛选功能融为一体,堪称“缝合怪”中的战斗机。本文将详细介绍GROUPBY函数的语法、参数和实际应用,帮助你快速掌握这个Excel新神器。

什么是GROUPBY函数?

GROUPBY函数是Excel 365最新推出的动态数组函数。它的作用是根据指定的字段对数据进行分组、聚合(汇总)、排序和筛选。简单来说,一个公式就能完成原本需要透视表或多函数嵌套才能实现的任务。

GROUPBY函数的语法如下:

=GROUPBY(row_fields, values, function, [field_headers], [total_depth], [sort_order], [filter_array])

参数一共有7个,但别被吓到。只有前三个参数是必选的,后面的都可以省略,使用默认值即可。

参数 含义 是否必填
row_fields 按哪一列进行分组(类别列) 必填
values 对哪一列进行计算(数值列) 必填
function 汇总方式(SUM、AVERAGE、COUNT等) 必填
field_headers 数据是否包含表头(0/1/2/3) 可选
total_depth 是否显示总计及显示方式 可选
sort_order 排序方式 可选
filter_array 筛选条件 可选

基础用法:分类汇总

以一份采购数据为例,A列是“采购方式”(如APP、门店),C列是“采购总价”。我们想要按采购方式汇总总金额。

公式写法

=GROUPBY(A1:A10, C1:C10, SUM)

参数解释

  • 第一参数 A1:A10:按“采购方式”这一列分组

  • 第二参数 C1:C10:对“采购总价”这一列进行计算

  • 第三参数 SUM:汇总方式为求和

结果:Excel会自动返回一个两列的表,第一列是唯一的采购方式(app、门店),第二列是对应的总金额。

GROUPBY函数怎么用?分类汇总+排序+筛选一键搞定-趣帮office教程网
GROUPBY函数分类汇总

常用的汇总函数(第三参数)

GROUPBY函数的第三参数支持多种汇总方式,常见的有:

函数 作用
SUM 求和
AVERAGE 平均值
COUNT 计数(含空值)
COUNTA 计数(不含空值)
MAX 最大值
MIN 最小值
PRODUCT 乘积
STDEV.S 样本标准差
VAR.S 样本方差

你可以根据需要选择,比如 =GROUPBY(A1:A10, C1:C10, AVERAGE) 就是按采购方式求平均价格。

进阶用法:添加表头、总计和排序

1. 显示表头(第四参数)

如果你的数据区域包含表头行(比如第一行是“采购方式”“采购总价”),可以设置第四参数为 3(表示表头在区域内,且结果中也显示表头)。

=GROUPBY(A1:C10, C1:C10, SUM, 3)

第四参数的常用值:

  • 0 或省略:无表头

  • 1:数据有表头,结果显示表头

  • 2:数据无表头,但结果生成表头(如“行字段”“汇总值”)

  • 3:数据有表头,结果也有表头

GROUPBY函数怎么用?分类汇总+排序+筛选一键搞定-趣帮office教程网
GROUPBY函数显示表头

2. 显示总计(第五参数)

第五参数 total_depth 用于控制是否显示总计行:

  • 0 或省略:不显示总计

  • 1:显示总计

  • 2:显示总计和分类小计(多级分组时)

3. 排序(第六参数)

第六参数可以指定按哪一列、升序还是降序排序。例如,按汇总结果降序排列:

=GROUPBY(A1:A10, C1:C10, SUM, , , -2)

-2 表示按第二列(汇总列)降序排序。正数表示升序,负数表示降序。

4. 筛选(第七参数)

第七参数 filter_array 可以在分组前先筛选数据。例如,只汇总金额大于1000的记录:

=GROUPBY(A1:A10, C1:C10, SUM, , , , C1:C10>1000)

常见问题解答(问答模块)

问题1:我的Excel没有GROUPBY函数怎么办?

GROUPBY函数目前仅适用于 Excel 365(Beta版或已更新到最新版本)以及 Excel 2024。如果你使用的是 Excel 2019、2021 或更早版本,或者 WPS,暂时无法使用该函数。可以考虑升级到 Microsoft 365 或者用透视表替代。

问题2:GROUPBY和SUBTOTAL、FILTER、SORT有什么区别?为什么说它是“缝合怪”?

:传统上,要实现分组汇总后再排序筛选,需要嵌套使用 SORT(FILTER(SUBTOTAL(...))) 等多个函数,写法复杂。GROUPBY函数把这些功能整合在一起,一个公式搞定,所以被戏称为“缝合怪”。它本质上是一个专门为分组聚合设计的超级函数。

问题3:第三参数除了SUM、AVERAGE,还能用自定义LAMBDA函数吗?

:可以。GROUPBY函数支持使用 LAMBDA 定义复杂的聚合逻辑。例如,你想计算每个组内数值的标准差再乘以2,可以写 =GROUPBY(A1:A10, C1:C10, LAMBDA(x, STDEV(x)*2))。这极大扩展了它的灵活性。

总结

GROUPBY函数把分类汇总、排序、筛选三大常用功能融为一体,语法简洁、结果动态更新。核心三参数:

  • 第一参数:按哪列分组

  • 第二参数:对哪列计算

  • 第三参数:用什么函数汇总(SUM、AVERAGE、COUNT……)

学会 GROUPBY函数,你就能告别繁琐的透视表操作和多函数嵌套,用一行公式轻松搞定复杂的数据分组统计。

相关文章推荐:

GROUPBY函数用法教程:去重汇总销售记录+按条件合并单元格