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
你需要测试一下任何的Include
s 存在,并且没有任何的Exclude
s 存在。
我Named Ranges
过去常常简化事情并使公式更容易理解,但如果您愿意,您可以使用正常寻址。
=IF(OR(ISNUMBER(FIND(Include,A2)))*AND(NOT(ISNUMBER(FIND(Exclude,A2)))),TRUE,"")
其中Include
和Exclude
是命名范围。
例如在 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", "")
我没有验证其他公式。