google-sheets - Google Sheets Text Join 将行合并为列

标签 google-sheets transpose array-formulas string-concatenation textjoin

我在工作表中有一个“数据库”表,其中每一行是一个与公司和联系人角色相关联的人员/电子邮件。因此,一家公司将有多个不同角色(销售、营销等)的联系人,并且可以有多个人担任相同的角色。
我的目标是将公司中执行相同角色的所有人员合并到每个角色的列中。

enter image description here

目标是从每家公司有多行到每家公司只有一行,并且将联系人合并到列中。 “合作伙伴关系”行变成一列,“主要销售”行变成一列……等等。

红色的单元格有计算。这让我很接近,但我正在寻找完善它!

=TEXTJOIN(", ",TRUE,QUERY($A$2:$D,"SELECT C,D WHERE A = '"&$F3&"' AND B = '"&G$2&"'"))
  • 单元格 G3 中的单个计算是否可以为每个公司填充?
  • 人可以用 CR/LF 而不是逗号分隔,例如


  • enter image description here

    而不是
    enter image description here

    示例数据:https://docs.google.com/spreadsheets/d/17Nd6jYW_CkTb6Xju9JMDbRAGJnz-TXvcZOFU-lGQBdA/edit?usp=sharing
    在示例中,现有计算为红色。

    与往常一样,提前感谢您为我提供的任何帮助!

    最佳答案

    粘贴在 G3 并向右拖动:

    =ARRAYFORMULA(IFNA(VLOOKUP($F3:$F, SUBSTITUTE(REGEXREPLACE(REGEXREPLACE(
     TRIM(SPLIT(TRANSPOSE(QUERY(QUERY({$B3:$B, $A3:$A&"♦", $C3:$C&", "&$D3:$D&"♠"}, 
     "select max(Col3) where Col1 = '"&G2&"' group by Col3 pivot Col2")
     ,,999^99)), "♦")), "♠ ", "♠"), "♠$", ), "♠", CHAR(10)), 2, 0)))
    
    0
    spreadsheet demo

    关于google-sheets - Google Sheets Text Join 将行合并为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61809386/

    相关文章:

    javascript - Google Sheets 脚本日期比较未返回预期结果

    forms - 使用表单更新谷歌电子表格上的现有数据?

    excel - Google 表格中针对可变条件的条件格式自动填充

    performance - 如何测量 Excel 计算时间

    datetime - formatDate() 给出正确的日期 -1 天(Google Apps 脚本)

    在 proc 转置之后使用名称的 SAS 变量求和

    sql - 如何在 PostgreSQL 中转置二维数组

    mysql - MySQL 按查询转置组是否可优化?

    google-sheets - 作为数组公式的条件累积和

    excel - 使用单个标准的多个值