经常用 Excel 的人,如果说从来没使用过 vlookup 函数,说实话这个可能性还是比较小的,除非你把 Excel 当 Word 用。
不过话说回来,会用 vlookup 和很会用,那又是两码事。比如,大家知道如何用 vlookup 对多个不同的数据表进行合并查询吗?这里有一个很巧妙的思路。
案例:
将下图 1 中的人员按部门分别放在了不同的数据表中,请在下方的数据表中根据指定的姓名,在多个数据表中查找后返回其对应的获客数。
效果如下图 2 所示。
解决方案:
1. 在 B14 单元格中输入要查询的人名 --> 在 C14 单元格中输入以下公式:
=IFERROR(VLOOKUP(B14,B2:C8,2,0),VLOOKUP(B14,F2:G7,2,0))
公式释义:
括号中的两个 vlookup 公式的作用是分别在两个不同的数据表中查找“王钢蛋”的获客数;
因为左边的数据表中并没有“王钢蛋”的记录,所以第一个 vlookup 公式会返回一个错误值;而第二个 vlookup 可以查找出数据;
iferror 函数大家不陌生,语法为 IFERROR(value, value_if_error);如果 value 没有错误,则返回该值;出错的话则返回 value_if_error 的值;
如果第一个 vlookup 查找到结果,则返回该结果;否则返回第二个vlookup 的查找结果;如果两个函数都没查到结果,则返回错误值
2. 如果将 B14 单元格的值改成第一个表中的姓名,同样也能正确查找出结果。
如果名单分成了三个数据表呢?这个公式就不管用了吧?因为 iferror 只能放两个参数,用三个 vlookup 公式就会出错了。
说得没错,的确不能直接这么用,但是可以变通一下呀,大家想想,多个条件判断是不是用 if 嵌套 if?那么此处同理,可以用 iferror 嵌套来解决这个问题。
3. 在 C10 单元格中输入以下公式:
=IFERROR(VLOOKUP(B10,B2:C6,2,0),IFERROR(VLOOKUP(B10,F2:G5,2,0),VLOOKUP(B10,J2:K5,2,0)))
公式释义:
IFERROR(VLOOKUP(B10,F2:G5,2,0),VLOOKUP(B10,J2:K5,2,0)):这一段跟上一案例的公式意思差不多,就是在第二和第三个数据表中查找匹配,如果没找到,会返回一个错误值;
IFERROR(VLOOKUP(B10,B2:C6,2,0),...):外面再嵌套一个 iferror 函数,这样就把三个查找函数嵌套成 2 层,每层 iferror 包含 2 个参数,就能正确查找了。
更换 B10 单元格的姓名,都能准确查找出对应的获客数。
Excel学习世界
转发、在看也是爱!
领取专属 10元无门槛券
私享最新 技术干货