首页 > 解决方案 > 使用表格查询组合文本的行和列

问题描述

我正在尝试使用一个数组函数,该函数将选择多行和多列数据,并在单个单元格中干净地呈现数据。橙色标题块中的数据对于每个 ID(会话)具有多行(发言者)。蓝色块中的数据是我试图获取格式化输出的唯一 ID(会话)列表。理想的输出将是 (name) - (title) 由 cf/lf 分隔,因此多个扬声器将整齐地堆叠在同一个单元格中。

这给出了一个不完美的结果,所有内容都由破折号分隔:

=TEXTJOIN(" - ",1,QUERY(A2:D17,"select B,C where A matches '"&F4&"' and D = 'T1'",0))

这应该更接近我正在寻找的内容,但会吐出一个行不匹配错误:

=QUERY({A:A,B:B&" - "&C:C&char(10),D:D},"select Col2 where Col1 matches '"&F4&"' and Col3 ='T1'",0)

当然,这些都不是数组,我试图避免在添加会话和演讲者时维护工作表。我为查询功能的复杂性而苦苦挣扎,因此您可以提供的任何帮助/说明将不胜感激!

例子

示例数据

标签: arraysgoogle-sheetsgoogle-sheets-formulatextjoin

解决方案


尝试:

=ARRAYFORMULA(TEXTJOIN(CHAR(10), 1, QUERY({A:A, B:B&" - "&C:C, D:D},
 "select Col2
  where Col1 matches '"&F4&"' 
    and Col3 ='T1'", 0)))

推荐阅读