Google Sheet上的REGEXMATCH上的FILTER

q0qdq0h2  于 2023-06-25  发布在  Go
关注(0)|答案(1)|浏览(95)

我有一个谷歌电子表格。图纸中的一列列出了行的标记。工作表中的每一行都将有一个或多个标记。
我想过滤电子表格,以匹配特定的标签,同时排除还包含另一个特定标签的匹配。
为了简单起见,假设我想匹配列I中包含BREAD标签的所有行,但不匹配包含MILK标签的行,即使该行也包含BREAD标签。
我使用了下面的公式,但它不起作用。事实上,它导致了一个谷歌表单错误。

FILTER(I2:P,REGEXMATCH(I2:I, "BREAD|^(?!.*MILK).*$")

我知道当我忽略负的前瞻时,公式是有效的。

FILTER(I2:P,REGEXMATCH(I2:I, "BREAD")

1.这可以在Google表单上完成吗?2.如果是,如何进行?
任何帮助都将不胜感激

r7s23pms

r7s23pms1#

Google的Filter文档在这里:https://support.google.com/docs/answer/3093197?sjid=11303190860980604116-AP
为什么不利用函数的多个条件?

=FILTER(I2:P,REGEXMATCH(I2:I, "BREAD"), NOT(REGEXMATCH(I2:P, "Milk")))

注意NOT()函数。
可以将REGEXMATCH替换为Find(区分大小写)或Search(忽略大小写),这可能会更高效。

=FILTER(I2:P,REGEXMATCH(I2:I, "BREAD"), IFERROR(NOT(FIND("Milk", I2:P)), FALSE()))

查找:https://support.google.com/docs/answer/3094126?hl=en&sjid=11303190860980604116-AP

=FILTER(I2:P,REGEXMATCH(I2:I, "BREAD"), NOT(IFERROR(SEARCH(I2:P, "Milk")), FALSE()))

搜索:https://support.google.com/docs/answer/3094154?hl=en&sjid=11303190860980604116-AP
未测试。

相关问题