通配符单元格引用索引匹配车牌对应地区的技术问题求助
解决方案
先解决硬编码返回错误的问题
你用的公式里MATCH第三个参数是1(近似匹配),这个模式要求查找区域必须升序排序,而且只会返回小于等于查找值的最后一项,显然不符合精确匹配地区代码的需求。把参数改成0(精确匹配)就对了:
=INDEX(REGIONREF!B:B, MATCH("LE", REGIONREF!A:A, 0), 1)
通配符不生效的原因及修复
你之所以得到字符串*34LB12*,是因为直接把单元格写在了引号里(比如"*A1*"),Excel会把A1当成普通文本,不会解析成单元格引用。正确的做法是用&把通配符和单元格拼起来:"*"&A1&"*"
匹配车牌对应地区的两种实用方法
方法1:反向通配符匹配(适合代码位置不固定的情况)
让地区代码去匹配车牌里的子串,用数组公式实现:
=INDEX(REGIONREF!B:B, MATCH("*"®IONREF!A:A&"*", LICENCEPLATES!A1, 0))
- 注意:Excel旧版本需要按
Ctrl+Shift+Enter触发数组计算,365/2021及以后版本会自动识别。
方法2:提取代码后精确匹配(适合代码位置固定的情况)
如果车牌格式是「数字+2位代码+数字」,直接提取中间两位代码再匹配,效率更高:
=INDEX(REGIONREF!B:B, MATCH(MID(LICENCEPLATES!A1,3,2), REGIONREF!A:A, 0), 1)
MID(LICENCEPLATES!A1,3,2):从车牌单元格的第3位开始取2个字符,得到LB这类地区代码- 再用精确匹配找到对应地区名称
内容的提问来源于stack exchange,提问作者emmy
相关产品推荐
相关产品推荐

