【问题标题】:Google Sheets Text Join to consolidate rows into columnsGoogle Sheets Text Join 将行合并到列中
【发布时间】:2020-08-31 16:44:36
【问题描述】:

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

我们的目标是从拥有多行的每个公司变为拥有单行的每个公司,并将联系人合并到列中。 “合作”行变成一列,“主要销售”行变成一列……等等。

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

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


这个


代替

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

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

【问题讨论】:

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


【解决方案1】:

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

【讨论】:

  • 这很好用。正是我所希望的。我只是希望我能理解它!
【解决方案2】:

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

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

【讨论】:

  • 不幸的是不完全;这也会在姓名和电子邮件地址之间换行,而不仅仅是在每个人之间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-16
  • 1970-01-01
  • 2020-05-19
  • 2023-03-12
  • 2017-02-15
  • 1970-01-01
相关资源
最近更新 更多