可扩展的正则表达式匹配公式。

3

我需要帮助解决以下公式:

IF(REGEXMATCH(LOWER(B3), JOIN("|",Keywords!H$2:H$13)),"unqualified","qualified")

在此情况下,B3 是字符串 “I need help”。我的问题是,我想使用以下公式:

IF(REGEXMATCH(LOWER(B3), JOIN("|",Keywords!H$2:H)),"unqualified","qualified")

这样我就不再需要匹配关键字行。否则,如果 join 公式中存在空格,则结果始终为 "unqualified"。

有没有人有什么办法可以将此公式重写为更 "可扩展的版本"?

我希望我所解释的一切都是可以理解的。


你能分享一份电子表格的样本或副本,以便我们可以尝试解决问题并为您提供经过测试的解决方案吗?请参考以下链接了解如何创建一个最小可重现示例:https://stackoverflow.com/help/minimal-reproducible-example。如果有敏感数据,请将其删除。 - Logan
使用表格来展示你的数据结构。如果你分享电子表格,请注意你的电子邮件地址可能会被公开访问。你也可以尝试使用这里的空白表格制作工具 - TheMaster
2个回答

2

试试这个。你可以删除LOWER并使正则表达式不区分大小写。

=ARRAYFORMULA(
  IF(ISBLANK(B3:B),,
   IF(
    REGEXMATCH(
     B3:B, 
     "(?i)"&TEXTJOIN("|",TRUE,Keywords!H2:H13)),
    "unqualified",
    "qualified")))

1
我用这个公式解决了我的问题:
IF(REGEXMATCH(LOWER(B3), JOIN("|",QUERY(G$2:G,"select G Where G is not null"))),"unqualified","qualified")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接