Excel VLOOKUP匹配特殊格式查找值返回#N/A错误求解
Excel VLOOKUP跨文件类型不匹配报错解决方案
核心出错原因:
MID(A2,13,3)返回的是文本类型的"000",而查找表中Code列存储的是数值类型的0,仅通过单元格自定义格式显示为"000",二者数据类型不一致导致匹配失败。你之前的公式逻辑为把查找值转为文本格式的"000",完全搞反了转换方向,因此无效。
- 方案1:查找值转数值(适用于所有Code均为纯数字的场景,最简方案)
直接对MID提取的文本做数值转换即可,公式如下:
=VLOOKUP(VALUE(MID(A2,13,3)),'[New Variant Name.xlsx]Legend for New Variant Number'!$K$5:$L$49,2,FALSE)
也可以用双负号简化转换,--MID(A2,13,3)和VALUE效果完全一致。
- 方案2:查找列转统一三位文本(适用于Code包含非数字字符的场景,兼容性更好)
使用INDEX+MATCH数组公式,将查找表的Code统一转为三位文本格式后再匹配,公式如下:
=INDEX('[New Variant Name.xlsx]Legend for New Variant Number'!$L$5:$L$49,MATCH(MID(A2,13,3),TEXT('[New Variant Name.xlsx]Legend for New Variant Number'!$K$5:$K$49,"000"),0))
注意:如果使用Excel 2019及更早版本,输入完公式后需要按Ctrl+Shift+Enter触发数组计算,365/2021及之后版本直接回车即可。
内容的提问来源于stack exchange,提问作者Allwyn P
相关产品推荐
相关产品推荐

