聚热点 juredian

解析VLOOKUP逆向查找解决方法之if({1,0})

使用VLOOKUP函数的时候有没有遇到所要求返回的结果在前面时就会出问题,比如下面的情况,结果会返回错误#N/A

这是因为VLOOKUP函数查找结果时,要求返回的结果区域必须在查找的条件区域的后方,也就是右边,否则无法查找到相应的结果。

一般人到这里的时候会选择加一个辅助列,比如在返回结果的那一列前面插入一列,将条件区域的那一列复制过去,比如下面的方式,这个方式的缺点就是会破坏表的结构:

还有些人会选择其他方式比如用INDEX函数来实现,这里我就不做演示了,重点说一下,在不改变表的结构下使用VLOOKUP函数如何实现的问题。

我在G3单元格输入 =VLOOKUP(E3,IF({1,0},B2:B6,A2:A6),2,FALSE),就可以得到相应的结果:

那可以实现的关键点就是{1,0},之前提到过大括号{}就是数组,而这个地方都是固定数字,也就是常量数组。

具体介绍之前我先给大家演示一下,我使用的365版本,如果是2019等低版本是没有这个效果的,365版本可以有助于我们理解数组。我分别输入={1,2,3,4}和={1;2;3;4},我们可以看到={1,2,3,4}是横向排列的4个数据,={1;2;3;4}则是纵向排列的四个数据,其实就是间隔的符号不一样就有不同的结果,横向的用逗号, 纵向 就使用分号,如果在低版本的EXCEL中使用只返回结果1,这个大家可以不用太在意,实际在公式应用中是不受影响的。

通过上面的演示我们可以知道数组我们需要用{1,0},而不是使用{1;0},接下来我们理解下1和0的含义,1,0在这里其实是逻辑值,相当于TRUE和FALSE,我们可以用之前分享的最短的函数N函数来计算TRUE和FALSE的结果,我们输入=N(TRUE)和=N(FALSE)可以得到结果1和0。

if(如果为TRUE,TRUE返回结果,FALSE)返回结果,这里通过数组{1,0},我们知道这个数组是横向的,而B2:B6和A2:A5明显是纵向的,我们利用365版本做下数组的演示,我输入={1,1}+{1;2;3;4},我们可以得到一个结果,就是两列的结果,那就是说{1,1}两个都与{1;2;3;4}进行了求和,所以得到了两列数据。如果是两个横向的数组或两个纵向的数组求和则不会。

横向数组与纵向数组求和

相同方向数组的求和

通过上面的演示想必大家应该有一定感觉了吧,还是回到IF({1,0},B2:B6,A2:A6),我做下演示:

我觉得可以理解为{1,0},1的情况下if(TRUE,返回了B2:B6)在前面一列,0的情况下if(FALSE,返回了C2:C6)

搜索建议:
热文

 如何做茄子健康

大家好,这里是【刘一手美食】,关注老刘,每天分享一道好吃又实用的家常菜1、茄(学名:Solanum melongenaL.)茄科,茄属植物。茄直立分枝草本至亚灌...(展开)

热文

 办港澳通行证要多久,需要多少钱

办理港澳通行证需要十个工作日也就是两个礼拜,港澳通行证是一百块钱的工本费,签注一次是二十元,如果签注过期是不可以港澳通行的。所以下面是法律知识网小编为大家带来办...(展开)

热文

 《路人甲》

《路人甲》 我是一路人名叫路人甲穿梭在这纷繁杂乱城市里我害怕被这社会同化 我是一路人碰见路人甲在外面的世界里用伪装包裹着一颗颤动的心我害怕被他人触碰 我是一路人...(展开)