跳至主要内容

Excel公式:检查单元格是否包含多个值中的一个但排除其他值

Author: Sun Last Modified: 2025-07-31

假设有两个值列表,您想检查单元格B3是否包含范围E3:E5中的某个值,但同时不包含范围F3:F4中的任何值,如下截图所示。本教程将提供一个公式来快速处理此任务,并解释公式的参数。
doc check if contain one of things but exclude 1

通用公式:

=(SUMPRODUCT(--ISNUMBER(SEARCH(include,text)))>0) *(SUMPRODUCT(--ISNUMBER(SEARCH(exclude,text)))=0)

参数

Text:要检查的文本字符串。
Include:要检查的参数text中是否包含的值。
Exclude:要检查的参数text中是否不包含的值。

返回值:

公式返回1或0。当单元格包含需要包含的值之一且不包含任何需要排除的值时,返回1,否则返回0。在此公式中,1和0被视为逻辑值TRUE和FALSE。

公式工作原理

假设您要检查单元格B3是否包含范围E3:E5中的某个值,但同时排除范围F3:F4中的值,请使用以下公式:

=(SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))>0)*(SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))=0)

按下 Enter 键以获取检查结果。
doc check if contain one of things but exclude 2

解释

第一部分:(SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))>0) 检查单元格是否包含E3:E5中的值

SEARCH函数:SEARCH函数返回一个文本字符串在另一个文本字符串中的第一个字符的位置。如果SEARCH函数找到匹配的文本,则返回相对位置;如果没有找到,则返回#VALUE! 错误。例如,这里的公式SEARCH($E$3:$E$5,B3)将在单元格B3中搜索范围E3:E5中的每个值,并返回每个文本字符串在单元格B3中的位置。它将返回这样的数组结果:{1;7;12}

ISNUMBER函数:ISNUMBER函数在单元格为数字时返回TRUE。因此ISNUMBER(SEARCH($E$3:$E$5,B3))将返回数组结果{true,true,true},因为SEARCH函数找到了3个数字。

--ISNUMBER(SEARCH($E$3:$E$5,B3)) 将TRUE值转换为1,将FALSE值转换为0,因此该公式将数组结果更改为{1;1;1}

SUMPRODUCT函数:用于将多个范围相乘或将数组相加并返回乘积的总和。SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3))) 返回 1+1+1=3。

最后,比较左侧公式 SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3))) 与0进行比较,只要左侧公式的结果大于0,结果将为TRUE,否则返回FALSE。这里返回TRUE。
doc check if contain one of things but exclude 3

第二部分:(SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))=0) 检查单元格是否不包含F3:F4中的值

公式SEARCH($F$3:$F$4,B3)将在单元格B3中搜索范围E3:E5中的每个值,并返回每个文本字符串在单元格B3中的位置。它将返回这样的数组结果:{#VALUE!;#VALUE!}

ISNUMBER(SEARCH($F$3:$F$4,B3)) 将返回数组结果{false;false},因为SEARCH函数未找到任何数字。

--ISNUMBER(SEARCH($F$3:$F$4,B3)) 将TRUE值转换为1,将FALSE值转换为0,因此该公式将数组结果更改为{0;0}。

SUMPRODUCT函数:用于将多个范围相乘或将数组相加并返回乘积的总和。 SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3))) 返回 0+0=0。

最后,比较左侧公式 SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3))) 与0进行比较,只要左侧公式的结果等于0,结果将返回TRUE,否则返回FALSE。这里返回TRUE。
doc check if contain one of things but exclude 4

第三部分:将两个公式相乘

=(SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))>0)*(SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))=0)

=TRUE*TRUE

=1

在此公式中,1和0被视为逻辑值TRUE和FALSE。

示例文件

doc sample点击下载示例文件


相关公式


最佳的办公生产力工具

Kutools for Excel - 助您脱颖而出

🤖 Kutools AI 助手:基于智能执行革新数据分析:智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数
热门功能查找、高亮或标记重复项  |  删除空行  |  合并列或单元格而不丢失数据  |  无需公式四舍五入 ...
超级 VLookup多条件  |  多值  |  跨多表  |  模糊查找...
高级下拉列表简易下拉列表  |  级联下拉列表  |  多选下拉列表...
列管理器添加指定数量的列  |  移动列  |  切换隐藏列的可见状态  比较列以 选择相同和不同单元格 ...
特色功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿与工作表管理器 | 资源库(自动文本)  |  日期提取  |  合并工作表  |  加密/解密单元格  |  按列表发送电子邮件  |  超级筛选  |  特殊筛选(筛选粗体/斜体/删除线...) ...
排名前 15 的工具集12 个文本工具添加文本删除特定字符 ...)  |  50+ 种图表 类型甘特图 ...)  |  40+ 实用 公式基于生日计算年龄 ...)  |  19 个插入工具插入二维码从路径插入图片 ...)  |  12 个转换工具小写金额转大写汇率转换 ...)  |  7 个合并和拆分工具高级合并行拆分 Excel 单元格 ...)  |  ... 更多功能
使用您偏好的语言来操作 Kutools - 支持英语、西班牙语、德语、法语、中文等 40 多种语言!

Kutools for Excel 拥有超过 300 项功能,确保您所需的一切都仅需一键之遥...


Office Tab - 在 Microsoft Office(包括 Excel)中启用标签式阅读和编辑

  • 一秒内在数十个打开的文档之间切换!
  • 每天为您减少数百次鼠标点击,告别鼠标手。
  • 在查看和编辑多个文档时,您的生产力可提升 50%。
  • 为 Office(包括 Excel)带来高效标签页,就像 Chrome、Edge 和 Firefox 一样。