vlookup返回值为0_vlookup返回整行_vlookup返回多列数据

今天的目标:

反向查找中的IF{1,0}是什么意思?

Martin问,VLOOKUP反向搜索名字,如何用数组公式解决呢? 原理是什么?

不客气!

夸我好吗 1字值1元!

vlookup返回多列数据_vlookup返回值为0_vlookup返回整行

1-反向查找

让我们看看下表。 现在我们需要根据[姓名]找到[员工ID]。

大家可以想到用VLOOKUP函数,但是VLOOKUP只能从左往右查找,也就是只能查找[name]右边的数据。 左侧无法勾选【员工ID】。

vlookup返回值为0_vlookup返回多列数据_vlookup返回整行

方法一

如果要查找,可以把【员工编号】移到【姓名】栏的右边,然后正常写VLOOKUP函数即可。

对应的公式如下:

=VLOOKUP(G2,$A$1:$C$30,2,0)

方法二

把【员工编号】移到【姓名】的右边,这是必须的步骤,否则VLOOKUP无法计算。

如果在表格中不移动,那就用函数公式移动,所以就有了IF{1,0}的公式。

vlookup返回值为0_vlookup返回多列数据_vlookup返回整行

例如,在下表中,要交换 A 列和 B 列数据的顺序,可以使用 IF{1,0} 公式。

vlookup返回值为0_vlookup返回多列数据_vlookup返回整行

公式如下:

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

IF{1,0}是一个数组公式,和下面的IF函数本质上是一样的。

如果是1,参考B栏【姓名】,如果是0,参考A栏【员工编号】。

vlookup返回值为0_vlookup返回整行_vlookup返回多列数据

将两个公式合并为一个公式,参数页 1 成为对数组范围 $D$1:$E$1 的引用。

vlookup返回整行_vlookup返回值为0_vlookup返回多列数据

返回值改为一个数组区域引用,即:$B$2:$B$7和$A$2:$A$7vlookup返回值为0,一个公式可以反馈两列数据。

vlookup返回值为0_vlookup返回整行_vlookup返回多列数据

最后带入D1:E1的值,即{1,0}vlookup返回值为0,得到最终的公式。

vlookup返回整行_vlookup返回值为0_vlookup返回多列数据

公式如下:

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

VLOOKUP函数中的IF{1,0}也是如此,用于交换两列的顺序。

=VLOOKUP(G2,IF({1,0},$B$1:$B$30,$A$1:$A$30),2,0)

你明白吗? 不,谢谢,请[赞]。

2- INDEX函数解决方案

其实对于大多数人来说,我不推荐使用数组公式,很难理解。

比较常用的方法是使用INDEX和MATCH函数来实现。

1-匹配功能

首先使用 MATCH 函数查找名称所在的位置。

公式如下:

=匹配(G2,$B$2:$B$30,0)

2- 索引函数

然后用INDEX根据名字的位置在[员工工号]列中查找对应的工号并返回。

公式如下:

=INDEX($A$2:$A$30,H2)

3-合并公式

最后结合INDEX和MATCH函数也能达到同样的效果,而且公式也更好理解。

公式如下

=INDEX(A:A,MATCH(G2,B:B,0))

3- 总结

函数公式其实就是将我们在表中的操作转化为两个公式的操作。

这和写代码是一样的。 如果你觉得手工做起来很麻烦,那就用代码来做吧。

不管是代码还是手动,要做的事情都是一样的,只是代码效率更高。

考验你

我使用 IF{1,0} 写了一个公式。 猜猜公式计算的结果应该是哪一个?

vlookup返回整行_vlookup返回值为0_vlookup返回多列数据

公式如下:

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

计算结果是什么?

我是喜欢梳头的Excel老师拉小邓

如果本文对您有帮助,请帮忙“点赞”、“观看”、“转发”。

这对我来说很重要,可以让拉小登更有动力继续分享优质内容。