如何创建公式判断单元格是否包含指定区域任意值并返回布尔值

需求说明
是否可以创建一个公式,用于查找单元格中是否存在指定区域内的任意值,并根据结果返回TRUE或FALSE?
示例场景
- 单元格
A1内容为"Some word to find in a longer text.",B列的4个单元格(B1:B4)内容分别为word、longer、shorter、closer,在C1应用公式后返回TRUE(因为A1至少包含B列中的一个值)。 - 单元格
A2内容为"Some text which doesn’t contain any.",在C2应用公式后返回FALSE(未包含B列任何值)。
可用公式方案
Excel 365/2021及以上版本(支持动态数组)
直接输入以下公式即可:
=OR(ISNUMBER(SEARCH(B1:B4,A1)))
SEARCH:在目标单元格(如A1)中查找指定区域(如B1:B4)内每个值的位置,找到返回对应位置数字,找不到返回错误值。ISNUMBER:将SEARCH的结果转换为布尔值,数字对应TRUE,错误值对应FALSE。OR:只要有一个结果为TRUE,最终返回TRUE;所有结果为FALSE时返回FALSE。
旧版Excel(不支持动态数组)
输入以下公式后,需按Ctrl+Shift+Enter组合键触发数组计算:
=OR(ISNUMBER(SEARCH(B1:B4,A1)))
区分大小写的查询版本
如果需要严格区分大小写,将SEARCH替换为FIND即可:
=OR(ISNUMBER(FIND(B1:B4,A1)))
内容的提问来源于stack exchange,提问作者friedman
相关产品推荐
相关产品推荐

