Google表格中的过滤器功能-多列

时间:2019-06-28 06:30:08

标签: google-sheets array-formulas

我有一张桌子,上面有表演者的名字和他们在哪些城市进行的活动。现在,我正在尝试使用过滤器公式找出谁在哪个城市都进行过表演-检查下表中的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,我会看到一些不正确的输出。

  • (a)我想要从C列一直到G列在芝加哥演出的演员的名字。
  • (b)即使我将其保留为C11,它也仅给出了第一位表演者的名字。.但并非在C列中所有在芝加哥表演的人的名字。

仅在芝加哥,输出应为:

  

尼尔斯,汤姆在 F15
  Nstrong,Tom,Jack,Amanda,Sam在 C15

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

=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,)))

enter image description here

答案 1 :(得分:0)

您可以使用类似这样的内容:

=join(", ",transpose(filter(A2:A11,REGEXMATCH(C2:C11&D2:D11&E2:E11&F2:F11&G2:G11,"Chicago"))))