vlookup函数的“反向”查找是怎么完成的?

众所周知,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(判断式,如果条件成立返回的值,如果条件不成立返回的值)

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

如:
IF(1,100,200)返回100
IF(0, 100,200)返回200

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

(1行2列),即:{100,200}

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

IF({1,0} ,B2:B6, A2:A6)
返回的将不是一组2个值,而是2列5行的一-组值。如果放在单元格区域中,应该是这样子的:

其实也可以这样理解
F({1,0} ,B2:B6,A2:A6), 
把B2:B6的值放在1的位置,把A2:A6的值放在0的位置。重构成一个2列5行的数组,只是原B列放在第1列,A列放在第2列了。

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

原文取自百度文库,附上原文链接:https://wenku.baidu.com/view/142fde96e43a580216fc700abb68a98271feac1b

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值