vlookupmatch和indexmatch哪个好用 (index match比vlookup运算速度快)

vlookup公式虽然查找匹配很实用,但是在某些场景下,vlookup公式使用起来特别的不方便。

1、vlookup两大痛点

第一痛点,vlookup公式逆向查找匹配复杂

举个例子,左边是人员档案数据,现在需要根据姓名查找匹配工号:

vlookupmatch超强组合,vlookupmatch和indexmatch哪个好用

这是从右向左查找匹配的问题,用vlookup公式不方便,我们得将工号数据放到姓名后面去,才能查找匹配,或者用复杂的vlookup+if({1,0})结合使用公式:

=VLOOKUP(F2,IF({1,0},B:B,A:A),2,0)

vlookupmatch超强组合,vlookupmatch和indexmatch哪个好用

第二个痛点,输入完公式之后,如果原数据不能随意更换位置

例如,我们使用公式,已经求得了工资数据

=VLOOKUP(F2,B:D,3,0)

vlookupmatch超强组合,vlookupmatch和indexmatch哪个好用

然后我们想在姓名和部门之间插入一列,来输入性别,但是当我们插入一列之后,右边的结果就不对了,它不会随之自动的更新,又要重新去输入公式

如果引用的公式很多,又要崩溃的改公式了

vlookupmatch超强组合,vlookupmatch和indexmatch哪个好用

2、万能能用的index+match函数组合

首先我们了解index函数公式,当我们在单元格中输入公式:

=index(a:a,3)

表示,获取a列第3个值,如下所示:

vlookupmatch超强组合,vlookupmatch和indexmatch哪个好用

当第2个参数数字是几时,返回第几行的数据。

然后我们了解match函数公式:

=match(查找值,查找列,匹配方式)

当我们输入公式是=match(F2,B:B,0)

表示F2在B列里面去查找,数字0表示精确查找,它的结果如下

vlookupmatch超强组合,vlookupmatch和indexmatch哪个好用

我们将两个函数进行关联一下:

我们首先用match函数,查找出每个姓名所在的行号是多少

然后我们再嵌套index公式,去结果列里面,找对应这个行的值,这就是查找匹配的原理了

所以这两个函数组合的能用用法是:

=index(结果列,match(查找值,查找列,0))

所以我们需要查找工号时,只需要输入公式:

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

vlookupmatch超强组合,vlookupmatch和indexmatch哪个好用

使用这个函数组合的好处,既可以进行逆向查找匹配,当原始表格数据有新插入一列时,这个公式的结果也仍然是对的,不用再次去输入公式。

关于这个函数公式组合,你学会了么?动手试试吧!