这是网友的一个求助案例:如何将一列数据表每 3 行合并到一个单元格中,文本中间用分隔符间隔。
这个事情看大家的 Excel 是什么版本吧,如果是 365 的,可以用公式,如果 2016,那就用 Power Query。
今天先照顾低版本的同学。
案例:
将下图 1 中每 3 个名字合并到一个单元格中,中间用“、”隔开。
效果如下图 2 所示。
解决方案:1. 选中数据表的任意单元格 --> 选择菜单栏的“数据”-->“从表格”
2. 在弹出的对话框中保留默认设置 --> 点击“确定”
表格已经上传至 Power Query。
3. 选择菜单栏的“添加列”-->“索引列”-->“自定义”
4. 在弹出的对话框中按以下方式设置 --> 点击“确定”:
起始索引:输入“3”
增量:输入“1”
5. 按以下方式修改公式:
在公式后面输入 , {"索引", each Number.IntegerDivide(_ , 3), type number}
Number.IntegerDivide 函数的作用是将参数中的两个数字相除,再将余数向下舍入取整;相当于 Excel 中 MOD 和 INT 函数的组合;
第一个参数为分子,第二个参数为分母;
整个公式外面再包上 Table.TransformColumns()
Table.TransformColumns 的作用是对列进行批处理
6. 选择菜单栏的“主页”-->“分组依据”
7. 在弹出的对话框中按以下方式设置 --> 点击“确定”:
在第一个下拉菜单中选择“索引”
新列名:输入“姓名”
操作:选择“求和”
柱:选择“姓名”
8. 按以下方式修改公式:
将 List.Sum 修改为 Text.Combine
在上述函数的原有参数后面加上 ,"、"
9. 删除“索引”列。
10. 选择菜单栏的“主页”-->“关闭并上载”-->“关闭并上载至”
11. 在弹出的对话框中选择“表”--> 选择“现有工作表”及所需上传至的位置 --> 点击“加载”
如此讲解一番,就发现分解开来一点都不难。