excel - 在Excel中将多行滚动为一行

标签 excel excel-formula

我使用 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 并根据需要向下填充。

enter image description here

这也可以使用 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/

相关文章:

excel - 如何从特定日期中减去并让它在工作日降落,同时在减法中计算周末天数?

python - python调用xll函数

excel - 从一定范围内选取前 5 个分数

c# - 与非线性 Excel 范围不同的列表 C#

php - 一个写入excel的表格

excel - 基于另一个单元格中的日期的条件格式Excel

vb.net - 在没有互操作的情况下将 xls 转换为 xlsx

java - 需要有关 apache poi api 中的数组公式实现的帮助

Excel 2016 : Issue with CHAR(10) i. e 新行

string - 使用通配符从字符串中删除几个字符