查找函数用了这么多年,vlookup 的老毛病一直没变:数列号、不能往左查、插列就崩。
一、三个参数讲清楚
查找值:要找什么。
查找区域:在哪一列里找。
返回区域:找到之后,返回哪一列的值。
注意第三个参数是「列区域」而不是「第几列」,这是和 vlookup 最直观的区别。
二、两个可选参数
找不到时的返回值:写上两个引号表示返回空白,表格会干净很多。不写就显示错误值。
匹配方式:默认精确匹配,一般不用改。
三、和 vlookup 的四处差异
不用数列号:插列删列不会导致结果跑偏。
可以向左查:源数据里目标列在查找列左边时,vlookup 无能为力。
默认精确匹配:不会因为排序问题悄悄算错。
写法更短:少一个参数,长公式也更易读。
四、双向查找
行和列都要匹配时,把两个查找函数嵌套使用:先用一个找到所在行,再用另一个在那一行里找目标列。
数据量不大时这种方式很稳,数据量大时考虑用索引类函数提速。
五、多条件匹配
把多个条件用连接符拼成一个字符串作为查找值,查找区域也拼一次,就能按多条件匹配。
这种做法不需要辅助列,公式略长但可读性还可以。
六、版本不支持的替代
老版本没有这个函数,可以用索引加匹配的组合:用匹配函数找到位置,再用索引函数取值。
效果一致,只是公式长一些。写一次存成模板,后面直接改区域就行。
七、一句经验
查找类函数的稳妥做法是:先把源数据的格式清理干净,再写公式。空格、全半角、文本与数值混用,任何一种都会让匹配失败。
八、迁移建议
旧表里的 vlookup 不必全换,新写的公式优先用新函数。
需要向左查找、需要默认空白、需要插列不崩时,换过来收益最明显。