如何在Excel中使用VLOOKUP对句子或目录路径做部分匹配查询
Excel跨表关键词匹配实现方案
假设前提:Sheet2的关键词存储在A列的A2:A100区间(可根据你的实际数据范围调整),Sheet1的长字符串存储在A列从A2行开始,匹配结果可输出在B、C列对应位置。
方案1:仅判断是否匹配(输出Yes/No)
该方案兼容所有Excel版本:
- 在Sheet1的B2单元格输入公式:
=IF(SUMPRODUCT(--ISNUMBER(SEARCH(Sheet2!$A$2:$A$100,A2)))>0,"Yes","No"),下拉填充即可批量判断所有行。 - 若需要区分大小写匹配,把公式中的
SEARCH替换为FIND即可。
方案2:同时展示匹配到的具体关键词
Excel 365/2021及以上版本(支持动态数组函数)
可同时展示多个匹配到的关键词,用分隔符隔开:
- 在Sheet1的C2单元格输入公式:
=TEXTJOIN("、",TRUE,IF(ISNUMBER(SEARCH(Sheet2!$A$2:$A$100,A2)),Sheet2!$A$2:$A$100,"")),下拉填充即可。 - 若匹配不到时需要显示自定义提示,可套一层IF判断:
=IF(TEXTJOIN("、",TRUE,IF(ISNUMBER(SEARCH(Sheet2!$A$2:$A$100,A2)),Sheet2!$A$2:$A$100,""))="","无匹配",TEXTJOIN("、",TRUE,IF(ISNUMBER(SEARCH(Sheet2!$A$2:$A$100,A2)),Sheet2!$A$2:$A$100,"")))
Excel 2019及更早旧版本
仅支持返回第一个匹配到的关键词:
- 在Sheet1的C2单元格输入公式:
=IFERROR(LOOKUP(1,0/ISNUMBER(SEARCH(Sheet2!$A$2:$A$100,A2)),Sheet2!$A$2:$A$100),"无匹配"),下拉填充即可。
注意:公式中的
Sheet2!$A$2:$A$100需要替换为你Sheet2中关键词的实际存储范围,务必保留$符号锁定区间,避免下拉填充时范围偏移。
内容的提问来源于stack exchange,提问作者Ringtail Lemur
相关产品推荐
相关产品推荐

