如何检查单元格是否包含通配符星号(*)字符

22

考虑以下两个公式:

=IF(SEARCH("*", A1), "true", "false")

=IF(SEARCH(CHAR(42), A1), "true", "false")

我在尝试使用这个方法来检测单元格中是否包含*字符,但是它会返回所有单元格的“true”。我猜测Excel可能将*视为通配符。

如何在Excel中检测*的存在?


6
我认为你可以使用波浪线“~”字符来在搜索中转义星号。 - zack.lore
2
Zack的答案是正确的。 - wahwahwah
1个回答

37
根据这个微软的参考文献,您应该能够使用~

Microsoft Excel将波浪号(~)用作标记,指示下一个字符是文字。 当您使用“查找和替换”对话框查找或替换某些字符,例如波浪号(~),星号(*)或问号(?)时,必须在“查找内容”框中在字符前添加波浪号(~)。

所以将=IF(SEARCH("*", A1), "true", "false")更改为=IF(SEARCH("~*", A1), "true", "false"),它应该可以工作。

5
不是吹毛求疵,但因为大小写敏感对结果没有影响,所以使用FIND函数可能会更有效一些。例如:=ISNUMBER(FIND("~*", A1))。如果不匹配会显示#VALUE!,而不是FALSE - user4039065

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