实现逆向查询很难吗?使用IF,{0,1} 让你的VLookup提升一个层次!

2018-09-27 12:42:15 31点赞 350收藏 12评论

“当有同伴问我,Vlookup能不能从右往左进行查询匹配时,我的回答是:不可以,但今天我们使用一种办法,通过IF, {0,1}让你的Vlookup提升一个层次,完成不可能的任务”

大家都知道Vlookup的匹配是有从左到右的限制的,例如下面的这个例子,我们需要从右侧的表里面查找左侧的这些名称对应的ID,直接使用Vlookup 实际上是行不通的。

从右往左从右往左


在Excel里面有很多中方法可以解决它:

比如,我们增加辅助列--- 调换了查找的左右次序,这样就可以使用Vlookup 来做匹配了。

辅助列辅助列

还可以利用 INDEX+MATCH, CHOOSE, ADDRESS 等引用和查找函数来实现。


今天我们要讲的是利用另外一个小技巧来实现 --- IF & {0,1}

如图,我们利用 IF {0,1} 等于是在内存中对需要查找的区域中的列做了左右顺序的变换。这样就可以套用vlookup来匹配了

直接Vlookup直接Vlookup

注意IF + {0,1} 的位置和使用方法 (这里的数组 {0,1}限定了先False,再True的逻辑判定,因此也会先返回判定为False的结果,实现顺序变换)

IF  0,1IF 0,1


IF {0,1} 的更多功能应用

除了调换顺序的功能, IF {0,1} 还可以解决多列匹配的问题,如下面这个例子,我们需要通过【产品】和【日期】两列来做匹配

实现逆向查询很难吗?使用IF,{0,1} 让你的VLookup提升一个层次!

一般方法我们可以创建辅助列合并两列数据成为新的列,然后再利用Vlookup 来做匹配:

增加辅助列增加辅助列

而如果利用IF {1,0} 直接在内存中做了上面的事情,我们就不需要再实际的添加两个辅助列了:

辅助列辅助列

这里特别需要注意的是引入了数组,所以需要确定函数输入的时候按下Ctrl+Shift+Enter,而不只是Enter:

数组公式数组公式

好啦,今天主要的知识点是 通过 IF + {0,1} 的应用从而改变Vlookup中查找区域的构成和顺序。这样能让我们更效率更直接地获得想要的结果。当中还涉及到一点点的其他函数组合和数组的概念,我们会在以后的文章中给大家讲述的。谢谢!


大家如果有任何问题请在下方留言,我们会尽力解答!如果觉得有帮助也请分享给你的同事朋友,让大家一起进步!




展开 收起
12评论

  • 精彩
  • 最新
  • 直接用index+match就可以了呀

    校验提示文案

    提交
    对的,不过文中的也算一种思路吧

    校验提示文案

    提交
    收起所有回复
  • Lookup 高大上

    校验提示文案

    提交
  • 不错啊,解决了我工作中遇到的问题,以前都是用笨办法的。我现在还有个难题,对已经筛选过的那列粘贴数据,总是会把没有筛选到的一起粘贴上了,有没有什么办法能一劳永逸的设置好,不用每次都ctrl+;再去做复制粘贴?

    校验提示文案

    提交
    你确认你用的是excel不是wps?筛选后不会把没筛选的复制上的

    校验提示文案

    提交
    这个是设置问题,我也遇到过,百度一下方法,设置好就没问题

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 搬砖技能赞一个

    校验提示文案

    提交
  • 签到了。。。。

    校验提示文案

    提交
  • 希望此类实用文章更多的发布。

    校验提示文案

    提交
  • 哈哈收藏大于评论系列

    校验提示文案

    提交
  • index + match不是更好学

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
350
扫一下,分享更方便,购买更轻松