VLOOKUP通配符无法匹配查找数组内容的问题求助
匹配模式参数设置错误
使用通配符时,VLOOKUP的第4个参数必须设为FALSE(精确匹配)。如果参数为TRUE或省略,Excel会启用近似匹配模式,此时通配符规则不会生效,只会匹配范围中的近似值而非包含关键词的文本。
错误示例:=VLOOKUP("*"&A2&"*", 查找数组, 2)
正确示例:=VLOOKUP("*"&A2&"*", 查找数组, 2, FALSE)通配符拼接位置错误
若要匹配Description列中包含查找数组关键词的文本,需将通配符加在查找关键词的两侧,而非Description列的单元格引用上。比如查找数组存于B列,公式应写为=VLOOKUP("*"&B2&"*", Description列范围, 1, FALSE),而非反向拼接。存在多余空格或隐藏字符
查找数组或Description列的文本若带有前导/尾随空格、换行符等隐藏字符,会导致通配符匹配失败。可使用TRIM()函数清理空格:
示例:=VLOOKUP("*"&TRIM(B2)&"*", TRIM(Description列范围), 1, FALSE)
注:旧版Excel处理数组范围时需按Ctrl+Shift+Enter触发数组公式,365/2021版本可直接使用。查找范围列顺序错误
VLOOKUP要求查找值必须在查找范围的第一列。若查找数组的关键词不在范围首列,通配符匹配会失效。此时可调整范围列顺序,或改用INDEX+MATCH组合(MATCH支持通配符且无列位置限制):
示例:=INDEX(分类结果列, MATCH("*"&A2&"*", 关键词列, 0))文本格式不统一
若Description列与查找数组的文本格式不一致(比如一方为文本、一方为数字),通配符无法跨格式匹配。需用TEXT()函数统一格式:
示例:=VLOOKUP("*"&TEXT(A2, "@")&"*", 查找数组, 2, FALSE)
内容的提问来源于stack exchange,提问作者Damo

