如何搜索一个单词是否包含几个单词

如何搜索一个单词是否包含几个单词

我有一份电子邮件列表,例如

[email protected]
[email protected]
[email protected]

在上面的中,我试图获取不包括“免费”域名的计数。

尽管我上面的例子很简单,而且通过 company.com 来计算会更容易,但这不是我想要的。

我希望的逻辑是

如果单元格的内容包含“aol”或“gmail”或“yahoo”或“icloud”,则返回 FALSE。其他内容均为 TRUE

我的努力奏效了,但似乎很笨拙。有没有更好的方法

IF(ISNUMBER(SEARCH("gmail",C2)),FALSE,IF(ISNUMBER(SEARCH("icloud",C2)),FALSE,IF(ISNUMBER(SEARCH("yahoo",C2)),FALSE,IF(ISBLANK(C2),FALSE,TRUE)))))

答案1

对于单元格中的电子邮件地址A2和范围内的免费域列表,D2:D5请使用公式=OR(ISNUMBER(FIND($E$2:$E$5,A2))),如下例所示:

在此处输入图片描述

Ctrl-Shift-Enter如果你使用的是 Excel 365 以外的 Excel 版本,请通过点击而不是直接输入公式Enter(参见https://support.microsoft.com/en-us/office/video-array-formulas-8ff8257a-b28e-4e81-b4f8-30f793412dfa

答案2

基于您可以尝试以下操作:

=SUM(1-(MMULT(--(ISNUMBER(SEARCH("@"&{"aol";"gmail";"yahoo";"icloud"},A1:A3))),{1,1,1,1})>0))

或者:

=COUNTA(A1:A3)-SUM(--(ISNUMBER(SEARCH("@"&{"aol";"gmail";"yahoo";"icloud"},A1:A3))))

在 O365 以外的 Excel 版本中,您可能希望使用SUMPRODUCT()而不是SUM()

相关内容