首页 > 解决方案 > 从一个单元格中查找多个值

问题描述

试图E:G从显示的数据中获得所需的输出A:C。我可以写一个公式

JOIN(", ", FILTER($B$2:$B,$C$2:$C=E2,$A$2:$A=F2))

如果有一个值,F2我可以从 B 列中获取逗号分隔的输出项。但是我需要对单元格中的多个值执行此操作F2并获得 G 列中显示的输出。如何编写一个可以生成的公式G列是否需要?

欢迎任何帮助。

在此处输入图像描述

标签: google-sheets

解决方案


如果您对公式拖动每个单元格感到满意,根据您在 cell 中的示例F2,那么G2可能是:

=join(",",unique(filter({$A:$A&"("&$B:$B&")"},$C:$C=$E2)))

在此处输入图像描述

有更复杂的公式可以用arrayformula.

在 中filter,有{}用于构建数据数组的括号。数组由Col Athen (then Col Bthen组成)

然后它的工作方式与您在 cell 中的示例相同F2filter查找数组中 Col C 与 Col E 中的值匹配的每一行,并Uniquejoin相同的方式获得结果。

当您向下拖动公式时,textjoin可能比忽略空单元格更有帮助join

在单元格中使用它F2

=textjoin(",",true,filter(A:A,C:C=E2))

这在单元格中G2

=textjoin(",",true,unique(filter(if($A:$A<>"",{$A:$A&"("&$B:$B&")"},),$C:$C=$E2)))

在 Google 表格中使用数组

https://support.google.com/docs/answer/6208276/using-arrays-in-google-sheets?hl=en-GB


推荐阅读