如何识别不包含任何其他字符串列表的字符串

如何识别不包含任何其他字符串列表的字符串

我有包含文本的 A 列和 B 列。我想将 A 列复制到 C 列,并删除等于或包含B 列中的值。

我有这个公式,但它不会删除包含的行,只删除匹配的行:

=ARRAYFORMULA(IF(ISNA(MATCH(A:A,B:B,0)),A:A,""))

有这个公式/查询吗?

截屏

(请注意,我希望C2为空白,因为A2,,sevdaa包含 sevdaB3)。)

答案1

类型

=IF(AND(A1<>"", PRODUCT(--ISERROR(FIND(B$1:B$3,A1)))>0), A1, "")

C1并输入+ Ctrl+ ShiftEnter然后向下拖动/填充。

  • FIND(B$1:B$3,A1)B1检查单元格 到中的每个单词/名称是否B3 在单元格 中的单词/名称内找到A1。如果匹配,则计算为整数偏移量,#VALUE!如果不匹配,则计算错误。
  • ISERROR(…)如果内部公式有错误(即,如果不存在匹配项),则计算结果为 TRUE,否则计算结果为 FALSE(即,如果存在匹配项)。
  • --将 TRUE 转换为 1,将 FALSE 转换为 0。因此,如果不包含、或,则--ISERROR(FIND(B$1:B$3,A1))全为 1 ,但如果中有出现在中的字符串,则将保留一些 0 。A1B1B2B3B1:B3A1
  • PRODUCT(…)如果所有数字都是 1,那么结果为 1;如果其中任何一个数字是 0,那么结果为 0。
  • 因此,如果A1不是空白,但它不包含任何字符串B,则在 Column 中显示该单词/名称C

相关内容