oracle 同一列数据不同条件分组求和_Excel – 将同类别的文本汇总到同一个单元格中...

按类别汇总是一个挺简单的需求,最常规的用数据透视表就能实现。

但是!如果要把同一类别的文本汇总在同一个单元格中,数据透视表是搞不定的。那怎么办呢?

幸好 Excel 2016 以后有了 PowerQuery。看似挺多步骤,实际跟着操作非常简单。

案例:

将下表 1 汇总为下表 2,要点:

  • 同一班级的所有同学汇总在同一个单元格中,用“、”隔开
  • C 列汇总班级总分
4a5d8336e92c2dd6e5b21e4a93556231.png
238a6267c991ab53f1d290252a92bd86.png

解决方案:

1. 选中表格的任何区域 --> 选中菜单栏的 Data(数据)--> From Table/Range(自表格/区域)

636242d78140056b30513f414b935442.png

2. 在弹出的对话框中会自动选中整个表格区域,并且包含标题 --> 点击 OK:

4bb157fe66dfb800b1bee4cabfc5a0f3.png

3. 接着就会进入数据查询编辑器,选择菜单栏的 Transform(转换)--> Group By(分组依据)

41efb85fc202ff35bd906440564a8561.png

4. 在弹出的对话框中进行以下设置 --> OK:

  • 选择“高级”单选钮
  • 在New column name(新列名)区域分别对“班级”和“高考总分”两列求和,详见红框内的设置
2762cef69bee6815c5219bd303d51db6.png

5. 现在可以看到,3 列数据已经汇总,但是人名这一列显示的是错误值。这还是比较容易理解的,对文字求和,自然会出错。

接下来划重点,如何把错误值变成人名汇总:

  • 选中“姓名”列,在上方的公式编辑栏中找到 List.Sum,将它替换成 Text.Combine
  • 同时在 [姓名] 后面加上 "、",用英文逗号“,”隔开
2963bd8be88e416b854f69796ee9bd9d.png
b6bc11c61bdf10664844421afe3a2775.png

公式释义:

  • List.Sum 和 Text.Combine 都是 M 函数
  • M 函数是 PowerQuery 专用的函数,它可以帮我们自由灵活地完成数据导入、整合、加工处理等任务
  • 跟 Excel 数据表类似,PowerQuery 的界面操作只能发挥 20% 的能力,剩余 80% 的功能都要通过 M 函数来实现
  • 函数区分大小写
  • List.Sum 的作用是对数据求和
  • Text.Combine 的作用是将字符集 list 列表合并成字符串

6. 最后选择菜单栏的 Home(开始)--> Close & Load(关闭并上载)即已完成

b571e4d8a210d7e17d1c2be247d28a75.png
238a6267c991ab53f1d290252a92bd86.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值