分享

深入理解vlookup函数反向查找公式

 木子六一 2015-05-18

众所周知,vlookup只能从左向右查找,而不能从右至左的反向查找。为此高手们设计了一个让无数新手迷惑的公式。今天兰色将彻底帮同学们解开这个迷团。

【例】如下图所示要求根据姓名反查工号


公式:

=VLOOKUP(A9,IF({1,0},B2:B6,A2:A6),2,0)

公式中最难理解的就是IF({1,0},B2:B6,A2:A6),这也是今天兰色要讲解的要点。

{1,0}是什么?它是一个由两个数字构成的常量数组。如果放在单元格里,相当于2列1行的数据范围(数组中列用','逗号分隔)。

IF函数的用法是

IF(判断式,如果条件成立返回的值,如果条件不成立返回的值)

判断式是可以返回truefalse的表达式,也可以是返回非零的数字0的表达式或值。非零数字如1表示条件成立,0表示条件不成立。

如:

IF(1,100,200) 返回100

IF(0,100,200) 返回200

IF({1,0},100,200)呢?由一个数替换成一组数。IF会分别用10作为第1个参数进行计算,也就是说会进行2次计算,返回2个结果,分别是 100 和200。返回的2个数也会按{1,0]的格式摆放(1行2列),即:{100,200}

如果100和200不是一个值,而各为一组值呢?如本例中

IF({1,0},B2:B6,A2:A6)

返回的将不是一组2个值,而是2列5行的一组值。如果放在单元格区域中,应该是这样子的:


其实也可以这样理解

IF({1,0},B2:B6,A2:A6),

把B2:B6的值放在1的位置,把A2:A6的值放在0的位置。重构成一个2列5行的数组,只是原B列放在第1列,A列放在第2列了。

两列数调换了位置,就可以用VLOOKUP的从左向右查找了。

兰色说:说到底,并不是vlookup函数可以实现反向查找,而是if({1,0}把两列数调换了位置而已。今天兰色讲的你明白了吗?做个小调查


书也买了一大堆,没心思看。教程也下载了好多,越看越迷糊。excel到底该怎么学?其实,通过视频学习才是最好的学习途径,点左下角'阅读原文' 查看兰色幻想+小妖录制的超全的290集excel视频教程。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多