作者:小北童鞋
来源:芒种学院(ID:lazy_info)
各位小伙伴早上好呀,今天小北来和大家分享一组使用频率非常高的数据处理技巧「另类汇总」。
例如下图是某公司部门员工的年终奖记录表:

为了缩减提交报告的长度,我们需要将各个部门的人员和金额进行汇总,将表格转换成这种格式:

乍得一看好像并不是很难,细细一想好像又处理不了,最怕的就是这种尴尬的场景。
因为像这种专门针对文字的汇总,普通的透视表就非常弱了。
本着给大家提升效率的想法,今天小北给大家分享 函数 + PQ 两种快速解决另类汇总的小技巧~
365新函数解决需求
首先是利用函数来解决,这里我们使用了三个365的新函数FILTER、TEXTJOIN和UNIQUE。
FILTER/UNIQUE自然不多说,前面介绍过。
而TEXTJOIN是将传入的数据以某个字符进行合并。
知道了使用什么函数,接下来整理下汇总的思路:
- 部门列使用
UNIQUE进行快速区中; - 姓名列使用
FILTER快速进行筛选; - 配合
TEXTJOIN将筛选的结果快速进行合并; - 年终奖求和使用
SUMIF条件求和函数;
总共有 4 步,首先我们将部门列快速提取去重,输入公式。
=UNIQUE(A2:A17)Code language: Excel (excel)
现在部门的数据就被一键去重提取出来了,操作如下。

接下来在姓名列输入FILTER+TEXTJOIN的组合公式:
=TEXTJOIN("、",TRUE,FILTER($B$2:$B$17,$A$2:$A$17=E2))Code language: Excel (excel)
现在就汇总完姓名列了,操作结果如下。

接下来利用SUMIF函数将所有的年终奖按条件求和即可。

好啦,现在我们就利用函数将这个需求解决了,步骤略多。
不过兼容性并不是很好,如果你使用的并不是365版本。
那么函数有极大的概率会失效,接下来我们看下更简单的方法。
PowerQuery另类汇总
使用PowerQuery来解决这个问题就轻松很多了,首先我们将数据导入到 PQ 编辑器中,如下。

接着我们点击「主页」选项卡下的「分组依据」。
按照如下步骤将部门对姓名、年终奖依次求和。

可以看到「年终奖」的结果计算是正确的。
但是「姓名列」发生了错误,这个时候我们只需要点击「姓名列」。
将List.Sum更改成Text.Combine即可。

现在就轻松搞定这个复杂的需求了,是不是比函数简单太多了。
导出到Excel中的时候,数据如果更新了,直接刷新即可。

是不是非常强呢?这次使用的技巧还是 Text 系列的函数,关于这个函数的其他用法,昨天也分享了一种,可以去看下哦~
好了,那么今天的「PQ另类汇总」技巧就分享到这里了,你学会了么?
© 版权声明
文章版权归作者所有,未经允许请勿转载。





感觉UNIQUE遇到空行就会崩,有没有人试过过滤空值的?
PQ这功能看着简单,点错一次就得重来
之前自己写VBA合并,结果半天不如人家一键刷新
我们公司还在用WPS,能用吗?求答
FILTER条件那个$到底放哪儿啊,老是错
部门空值咋办啊?直接报错没法搞
这方法比手动快多了,省得天天加班
部门有空值直接炸,有没处理空值的骚操作?
分组那里点错了两次才成功
这个能用在WPS上吗?
之前手动合并累死了
公司电脑太老跑不动😭
我这台也卡,换了新机后这招顺滑多了
感觉这方法挺实用的
PQ改完聚合方式直接起飞
试了下确实比手动快多了
部门有空值会不会报错啊?
365版用不了咋办?
这招可以偷懒了
看着简单,实操点错好几次,手残党哭晕
手残别怕,多练几次就稳了,别被报错吓哭
FILTER条件里$符号位置老写错,谁来救救
之前搞过类似汇总,折腾三天,早看到就好了
Text.Combine能加顿号分隔吗?还是得靠TEXTJOIN?
部门空值直接炸,有没处理空值的骚操作?
这比VBA快多了,刚试完省了两小时