我们在实际工作中,经常会出现这种情况,查找结果列在前,查找对象列在后,用vlookup始终报错,找不到所要结果。
其实,这不是我们的错误,而是Vlookup本身的局限性,微软在开发Vlookup时,并未考虑到这种情况。
如果遇到这种情况应该如何处理呢?
下面分享一下几种解决方案。
案例
如下图,我们要查找李家成的年薪。
查询结果列年薪在C列,而查询对象列姓名在后面的E列。如果直接在K2输入公式
=VLOOKUP(J2,C:E,3,0),会显示#N/A。

第一种方案。添加辅助行
在姓名列后面插入一列F列,并将年薪列复制到F列。

然后在L2输入公式=VLOOKUP(K2,E:F,2,0),就能找到我们所有的结果。

第二种方案。Vlookup+if组合。不需要添加辅助行。
如果我们不想改变原数据的结构,或者想给老板展示一下自己高超的Excel技能,就不能用第一种方案。那么就不得不用到第二种方案, vlookup+if组合。
思路是创建一个新数组,姓名在前,年薪在后。
IF({1,0},E:E,C:C)
IF({1,0},E:E,C:C)
按Ctrl+Shift+Enter组合键。旧版Excel需要按这个组合键。新版Excel不需要按这个组合键,就可以查到结果。

第三种方案。Vlookup+choose组合。不需要添加辅助行。
使用方法和vlookup+if类似,
CHOOSE({1,2},E:E,C:C)
CHOOSE({1,2},E:E,C:C)
按Ctrl+Shift+Enter组合键。旧版Excel需要按这个组合键。新版Excel不需要按这个组合键,就可以查到结果。

除了以上三种方案,还有其他方案吗?
以后用到上,欢迎收藏,关注,点赞。