Google Sheets Text Join 以将行合并为列

Google Sheets Text Join to consolidate rows into columns

我在工作表中有一个 "database" table,其中每一行都是与公司和联系人角色关联的 person/email。因此,一家公司将有多行联系人担任各种角色(销售、营销等),并且可以有多个人担任同一角色。 我的目标是将公司中执行相同角色的所有人员合并到每个角色的列中。

目标是从每家公司有多行到每家公司只有一行,并将联系人合并到列中。 "Partnership" 行变成一列,"Primary Sales" 行变成一列...等等

红色的单元格有计算。这让我接近了,但我正在努力完善它!

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


这个


而不是

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

一如既往地感谢您能给我的任何帮助!

好吧,我至少可以回答你的一个问题。 google张中的回车return字符可以通过CHAR(10)访问;这意味着你可以用 CHAR(10) 替换你的 ", " 并且它会在条目之间换行:

=TEXTJOIN(CHAR(10),TRUE,QUERY($A:$D,"SELECT C,D WHERE A = '"&$F3&"' AND B = '"&G&"'"))

粘贴到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)))

spreadsheet demo