用于过滤要包含和排除的子字符串列表的 Excel 函数

用于过滤要包含和排除的子字符串列表的 Excel 函数

Excel 函数,如果 A 列中的任何行值包含 D 列列表中的关键字,但不包含 E 列列表中的关键字,则写入 True,否则,不写入任何内容/保持空白。

尝试:

=IF(SUMPRODUCT(--(NOT(ISERR(SEARCH($D$2:$D$3, A2)))) * (ISERR(SEARCH($E$2:$E$3, A2)))) > 0, "True", "")

这不起作用,但如果排除是单数而不是列表,它会起作用:

=IF(SUMPRODUCT(--(NOT(ISERR(SEARCH($D$2:$D$3, A2)))) * (ISERR(SEARCH($E$2, A2)))) > 0, "True", "")

还尝试过:

=IF(SUMPRODUCT(--(NOT(ISERR(SEARCH($D$2:$D$3, A2)))) * (ISERR(SEARCH({"FFCD, "VVC"}, A2)))) > 0, "True", "")

但是花括号似乎没有任何作用,我更喜欢将关键字放在列表中以更容易更改。

副驾驶:

=IF(AND(ISNUMBER(SEARCH(N2:N18, B2)), NOT(ISNUMBER(SEARCH(O2, B2)))), "True", "")

这给了我希望,但很快又让我失去了希望。

聊天GPT:

=IF(AND(SUMPRODUCT(--ISNUMBER(SEARCH(D$2:D$4,A2))), SUMPRODUCT(--ISNUMBER(SEARCH(E$2:E$4,A2)))=0), "TRUE", "")

也没用

尝试引用,但迷失了方向。如果有人能弄清楚我应该把什么放入 TABLE1 空间,也就是粘贴他们的函数,那将会很有帮助。

价值观 包括 排除 预计
AMU命令 FF 氟化碳
FF_FMIT 维拉 可变电压电压 真的
氟化碳
维拉 真的
哈哈
TCID_VVC
罗米

答案1

你需要测试一下任何Includes 存在,并且没有任何Excludes 存在。

Named Ranges过去常常简化事情并使公式更容易理解,但如果您愿意,您可以使用正常寻址。

=IF(OR(ISNUMBER(FIND(Include,A2)))*AND(NOT(ISNUMBER(FIND(Exclude,A2)))),TRUE,"")

其中IncludeExclude是命名范围。

例如在 D2 中输入公式并向下填充。

在 Excel 2010 中,此公式可能需要数组输入


数组输入公式,在单元格或公式栏中输入公式后,按住 ctrl-shift并点击enter。如果操作正确,Excel 会{...}在公式周围放置括号。

您可以在365单个单元格中输入此公式,结果将会显示出来:

=BYROW(Values,LAMBDA(arr, IF(OR(ISNUMBER(FIND(Include,arr)))*AND(NOT(ISNUMBER(FIND(Exclude,arr)))),TRUE,"")))

请注意,这Values将是第一列的命名范围。

另请注意,该FIND函数区分大小写。如果您需要匹配大小写,敏感,则用函数替换它SEARCH

答案2

如果Include/Exclude对按行匹配,则第一个公式应该有效(对我来说有效)。它可以简化一点:

=IF(SUMPRODUCT(ISNUMBER(SEARCH($D$2:$D$3, $A2)) * ISERROR(SEARCH($E$2:$E$3, $A2))), "True", "")

我没有验证其他公式。

相关内容