Excel中逆向Vlookup查找if(1,0)公式理解

Vlookup函数是工作中天天要用到的函数,但它在原始数据中只能正向查找,不能直接逆向查找,需通过IF({1,0})进行辅助,很多朋友不理解公式,... Vlookup函数是工作中天天要用到的函数,但它在原始数据中只能正向查找,不能直接逆向查找,需通过IF({1,0})进行辅助,很多朋友不理解公式, 展开
 我来答
环球青藤
2020-09-29 · 专注大学生职业技能培训在线教育品牌
环球青藤
环球青藤开设了就业、技能培训、职业资格考试、学历提升、外语培训、留学和兴趣类专业课程、为大学生提供考试/就业双重服务。
向TA提问
展开全部

Vlookup函数是工作中天天要用到的函数,但它在原始数据中只能正向查找,不能直接逆向查找,需通过IF({1,0})进行辅助,很多朋友不理解公式,便记不住。

如下所示: 需要查找值是英雄,返回值是定位,正常需要在原始数据库中返回值在查找值的右边,但现在原始数据库中的英雄在定位的后面。所以在E2使用的公式是:

=VLOOKUP(D2,IF({1,0},$B$1:$B$7,$A$1:$A$7),2,0)

大家不理解的是中间的IF({1,0},$B$1:$B$7,$A$1:$A$7)

正向查找匹配

当然,我们可以将原始数据进行复制剪切成正向的查找匹配=VLOOKUP(D2,$G$1:$H$7,2,0)

为了方便理解,不影响取消绝对引用,对比逆向和正向查找,发现IF({1,0},B1:B7,A1:A7)等同于G1:H7

我们对G1:H7公式进行框选按F9计算一次

得到的结果是:

我们看下对IF({1,0},B1:B7,A1:A7)的分解计算

对B1:B7和A1:A7进行F9一次计算

IF({1,0},数组1,数组2)可以转换成两个公式

IF(1,数组1,数组2) 返回的结果是竖向的数组1

IF(0,数组1,数组2) 返回的结果是竖向的数组2

1和0是用逗号拼在一块,其实就是将两个竖向的横向连接在一块。

从而形成了和实际存在一样的两列数组虚拟的存在,在Excel中叫做内存数组,它得到的结果和引用正向的区域结果是一样的,我们再对IF函数内F9计算一次

所以使用公式:=VLOOKUP(D2,IF({1,0},$B$1:$B$7,$A$1:$A$7),2,0)

或=VLOOKUP(D2,$G$1:$H$7,2,0)都是一样的

甚至还可以使用公式:

=VLOOKUP(D2,IF({0,1},$A$1:$A$7,$B$1:$B$7),2,0)

IF(0)得到的是B1:B7

IF(1)得到的是A1:A7

然后用逗号把两列拼在一块,形成一个内存数组

这样原始数据中查找值在前,返回值在后,就得得到正确的结果。

本节完,不知道说了这么多,有没有说清楚,朋友们都理解了吗?

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式