在我只返回完全匹配项的地方使用FILTER吗?

时间:2019-09-05 05:12:09

标签: regex google-sheets filter google-sheets-formula google-sheets-query

我有一个Google表格电子表格,其外观如下:

enter image description here

结合使用FILTER和SEARCH:

=FILTER(RawData!A2:D5546, SEARCH(B1, RawData!A2:A5546), 
 SEARCH(C1, RawData!A2:A5546), 
 SEARCH(D1, RawData!A2:A5546), 
 SEARCH(E1, RawData!A2:A5546)
)

我可以搜索原始列表(黄色)并获取输出(蓝色)。但是,上面的公式将同时返回A2和A3。

我要尝试的是:

  • 给出一组搜索输入(绿色)
  • 它将搜索原始列表(黄色)
  • 仅返回与以下内容完全匹配的列表(蓝色):
  • a)相同的项目顺序为绿色到黄色
  • b)每个列表中的所有项目(黄色)均在搜索参数中找到(绿色)

因此,上面的示例蓝色是预期的结果,即只有A2(不是A1和A2)。谁能给我一些有关如何使用公式完成此操作的建议?虽然我可以用脚本编写它,但我希望尽可能避免这种情况。

1 个答案:

答案 0 :(得分:0)

尝试一下:

=FILTER(RawData!A2:A, 
 REGEXMATCH(TRIM(TRANSPOSE(QUERY(TRANSPOSE(IFERROR(
 REGEXEXTRACT(SPLIT(RawData!A2:A, CHAR(10)), "[a-zA-Z]+"))),,999^99))), 
 "^"&TEXTJOIN(" ", 1, B1:E1)&"$"))

0