首页 > 解决方案 > Google Sheet 中的过滤功能 - 多列

问题描述

我有一张表,上面有表演者的名字以及他们在哪些城市进行的活动。现在,我正在尝试使用过滤器公式找出谁在哪个城市执行过 - 检查下表中的 C15。

https://docs.google.com/spreadsheets/d/19U0vjtABXQ-MltxZoW7v0vjt1L6gM2Lc2VP3Z-BuKwE/edit?usp=sharing

我尝试使用的公式是:

=join(", ",transpose(iferror(filter(A2:A11,REGEXMATCH(C2:G11,"Chicago")))))

如果我在上面的公式中将 G11 更改为 C11,我可以看到一些不正确的输出。

对于芝加哥,输出应该是:

尼尔斯,汤姆在F15
尼尔斯,汤姆,杰克,阿曼达,山姆在C15

任何帮助将不胜感激。

标签: google-sheetsarray-formulas

解决方案


=join(", ",transpose(iferror(filter(A2:A11,REGEXMATCH(B2:B11,"Chicago")))))

为我工作,我在 F15 中得到 Nils,Tom。

在所有列中获取匹配项的一种方法是获取这样的行总计,并且它们不为零以连接第一列中的值:

=ArrayFormula(textjoin(",",true,if(mmult(n(regexmatch(B$2:G$11,A15)),transpose(column(B:G))),A$2:A$11,)))

在此处输入图像描述


推荐阅读