Google sheets 基于另一行上的条件,在一行中获取多个值

Google sheets 基于另一行上的条件,在一行中获取多个值,google-sheets,transpose,google-sheets-formula,array-formulas,google-sheets-query,Google Sheets,Transpose,Google Sheets Formula,Array Formulas,Google Sheets Query,我有一张从谷歌表单填充的表格。它附带了一列公司名称和员工姓名。“公司”列可以具有相同或重复的值,但“员工”列不能。那么,我如何才能在一行中获得所有员工姓名的公司名称 如果您使用的是谷歌电子表格,那么您可以查看和使用这些功能。以下是一个例子: D2中的公式: =UNIQUE(A2:A) E2中的公式: 选择1 选项2,上述情况会很快变得迟钝,因此可以改用: 选项3,甚至可以使用: 选项4,仅在E2中使用单个公式的方法: 这样,当您将数据添加到列A:B时,公式将自动更新所需的输出

我有一张从谷歌表单填充的表格。它附带了一列公司名称和员工姓名。“公司”列可以具有相同或重复的值,但“员工”列不能。那么,我如何才能在一行中获得所有员工姓名的公司名称

如果您使用的是谷歌电子表格,那么您可以查看和使用这些功能。以下是一个例子:


D2中的公式

=UNIQUE(A2:A)

E2中的公式

  • 选择1

  • 选项2,上述情况会很快变得迟钝,因此可以改用:

  • 选项3,甚至可以使用:

  • 选项4,仅在
    E2
    中使用单个公式的方法:

这样,当您将数据添加到列
A:B
时,公式将自动更新所需的输出:

单电池解决方案:

它工作完美无瑕,我只需要学习谷歌应用程序脚本就可以做到这一点。还是找不到办法。感谢you@randuwe很高兴它对你有用!我用在网上找到的东西编辑了答案。这样,您只需输入一次公式。因为我对GS没有经验,所以可能还有更好的方法:)
=TRANSPOSE(FILTER(B:B,A:A=D2))
=TRANSPOSE(FILTER(B$2:INDEX(B:B,COUNTA(B:B)),A$2:INDEX(A:A,COUNTA(A:A))=D2))
=TRANSPOSE(QUERY({$A$2:INDEX($B:$B,COUNTA(B:B))},"Select Col2 where Col1='"&D2&"'"))
=ARRAYFORMULA(ARRAY_CONSTRAIN(TRIM(SPLIT(TRIM(TRANSPOSE(QUERY(IF(TRANSPOSE(D2:INDEX(D:D,COUNTA(D:D)))=A2:INDEX(A:A,COUNTA(A:A)),B2:INDEX(B:B,COUNTA(B:B))&"|",),,9^99))),"|")),COUNTA(D2:INDEX(D:D,COUNTA(D:D))),100))
=ARRAYFORMULA({SORT(UNIQUE(INDIRECT("A2:A"&COUNTA(A2:A)+1))), 
 SPLIT(TRIM(TRANSPOSE(QUERY(TRANSPOSE(IF(ISNUMBER(QUERY(QUERY(A2:B, 
 "select count(A) where A is not null group by A pivot B", 0), 
 "offset 1", 0)), QUERY(QUERY(A2:B, 
 "select count(A) where A is not null group by A pivot B", 0), 
 "limit 0", 1)&"♦", )),,999^99))), "♦")})