如何使用GROUPBY()函数对多列数据按项分组求和?
用GROUPBY()函数实现多列分组求和
样本数据集
| Item | Value1 | Value2 |
|---|---|---|
| a | 5 | 15 |
| b | 10 | 20 |
| c | 5 | 15 |
| d | 10 | 20 |
| a | 5 | 15 |
| b | 10 | 20 |
| c | 5 | 15 |
| d | 10 | 20 |
| a | 5 | 15 |
| b | 10 | 20 |
| c | 5 | 15 |
| d | 10 | 20 |
期望输出
| Item | Value1总和 | Value2总和 |
|---|---|---|
| a | 15 | 45 |
| b | 30 | 60 |
| c | 15 | 45 |
| d | 30 | 60 |
当前实现公式
你目前使用的公式可以得到正确结果:
=LET(x,UNIQUE(B4:B15),HSTACK(x,SUMIFS(C4:C15,B4:B15,x),SUMIFS(D4:D15,B4:B15,x)))
使用GROUPBY()函数实现相同结果
完全可以用GROUPBY()函数实现多列分组求和,只需将需要求和的多列区域作为第二个参数传入即可,无需拆分多次求和。
对应的公式为:
=GROUPBY(B4:B15,C4:D15,SUM)
这个公式会自动按B列的唯一Item值分组,对C、D列的数据分别执行求和操作,最终输出结果和你当前的实现完全一致。
内容的提问来源于stack exchange,提问作者Harun24hr
相关产品推荐
相关产品推荐

