如何用Excel检查SH1.A列值是否存在于SH2.B列?
跨工作表值存在性检查实现方案
可以直接通过Excel内置函数实现需求,以下是两种常用的操作方法:
方法一:使用COUNTIF+IF组合公式
- 打开目标工作簿,切换到
SH1工作表,插入新列(比如C列,用于存放结果) - 在C2单元格输入以下公式:
=IF(COUNTIF(SH2!B:B, A2)>0, "contained", "not contained") - 选中C2单元格,鼠标拖动单元格右下角的填充柄,向下填充至所有需要检查的行
公式说明:COUNTIF(SH2!B:B, A2)统计SH2工作表B列中与A2值匹配的单元格数量,若数量大于0则说明存在匹配项,返回"contained",否则返回"not contained"。
方法二:使用MATCH+IF组合公式
- 同样在SH1的新列(如C列)C2单元格输入公式:
=IF(ISNUMBER(MATCH(A2, SH2!B:B, 0)), "contained", "not contained") - 向下填充公式至目标行
公式说明:MATCH(A2, SH2!B:B, 0)查找A2值在SH2.B列中的精确匹配位置,找到则返回对应的行号(数字),ISNUMBER判断返回值是否为数字,是则说明存在匹配,输出对应文本。
额外注意事项
- 若SH1.A列由公式生成的值存在前后空格,可能导致匹配失败,可在公式中加入
TRIM函数处理:=IF(COUNTIF(SH2!B:B, TRIM(A2))>0, "contained", "not contained") - SH2.B列的手动输入值无需特殊格式处理,函数会自动识别文本、数值等类型的匹配
内容的提问来源于stack exchange,提问作者user975561
相关产品推荐
相关产品推荐

