我使用 Google Sheets/Excel 将与独特角色相关的所有独特位置与一封电子邮件结合起来。
示例
结果
我只是想不出一个方法来开始这个。我想也许我可以做类似 D 列的事情
=if(a2=a1,concatenate(c1, ", ", 2))
清除 E 列等上的内容,但认为它不适用于以下文件:拥有超过 10,000 行。
如有任何建议,我们将不胜感激!
最佳答案
如果您有 Office 365,我建议:
- 根据原始数据创建表格(主页=>格式化为表格)
F1: Email G1: Role H1: Location
F2: =UNIQUE(INDEX(emails,SEQUENCE(ROWS(emails)),{1,2}))
G2: =TEXTJOIN(", ",TRUE,FILTER(emails[Location],((F2=emails[Email])*(G2=emails[Role]))))
选择 G2 并根据需要向下填充。
这也可以使用 Windows Excel 2010+ 和 Excel 365(Windows 或 Mac)中提供的 Power Query 来完成
使用 Power Query
- 选择数据表中的某个单元格
Data => Get&Transform => 从表/范围
或从工作表内
- 当 PQ 编辑器打开时:
Home => Advanced Editor
- 记下第 2 行中的表名称
- 将下面的 M 代码粘贴到您所看到的位置
- 将第 2 行中的表名称更改回最初生成的名称。
- 算法按电子邮件和角色分组;然后返回 位置作为串联列表
M代码
let
Source = Excel.CurrentWorkbook(){[Name="emails"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{
{"Email", type text}, {"Role", type text}, {"Location", type text}}),
group = Table.Group(#"Changed Type",{"Email","Role"},{
{"Locations", each Text.Combine([Location],", "), type text}
})
in
group
关于excel - 在Excel中将多行滚动为一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71711020/