如何用公式判断B2:B10区域值是否存在于A2:A6区域?
在Excel中提取B列中存在于A列的值到C列
当然可以用查找函数实现这个需求,下面是几种常用的公式方案,适配不同Excel版本:
方案1:使用XLOOKUP(Excel 365/2021及以上版本)
XLOOKUP是较新的查找函数,用法更直观:
- 在C2单元格输入公式:
=XLOOKUP(B2,A:A,B2,"",0) - 选中C2单元格,下拉填充到所有需要计算的行
公式说明:
- 第一个参数
B2:要查找的目标值 - 第二个参数
A:A:查找的数据源区域(A列) - 第三个参数
B2:找到匹配值后要返回的内容(这里直接返回B列对应的值) - 第四个参数
"":找不到匹配时返回空字符串 - 最后一个参数
0:启用精确匹配
方案2:使用VLOOKUP(兼容所有Excel版本)
如果你的Excel版本不支持XLOOKUP,用VLOOKUP配合IFERROR也能实现:
- 在C2单元格输入公式:
=IFERROR(VLOOKUP(B2,A:A,1,FALSE),"") - 下拉填充公式
公式说明:
VLOOKUP(B2,A:A,1,FALSE):在A列精确查找B2的值,找到后返回A列对应位置的值(和B2一致)IFERROR(...):捕获查找失败的错误,返回空字符串替代错误值
方案3:使用INDEX+MATCH组合
这是经典的查找组合,灵活性更高:
- 在C2单元格输入公式:
=IFERROR(INDEX(B:B,MATCH(B2,A:A,0)),"") - 下拉填充公式
公式说明:
MATCH(B2,A:A,0):找到B2在A列中的精确匹配位置INDEX(B:B, 位置):根据找到的位置返回B列对应的值IFERROR:处理无匹配的情况,返回空白
示例效果参考
| A列(数据源) | B列(待匹配值) | C列(结果) |
|---|---|---|
| Apple | Banana | |
| Banana | Cherry | Banana |
| Orange | Apple | Apple |
| Grape | Grape | Grape |
内容的提问来源于stack exchange,提问作者Kishore
相关产品推荐
相关产品推荐

