excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Excel数据逆向查询的9种方式,职场老司机直呼内涵!

数据查询是Excel最重要的知识点之一,每个学习Excel的人都绕不开它。从数据查询的方向上来看,主要有顺向查询和逆向查询,今天,小包老师来给大家重点讲解Excel逆向查询(反向查询)的9种方法。

1.VLOOKUP逆向查询

VLOOKUP函数是我们在查询数据时使用频率最高的一种函数,它本身是不支持逆向查询的,需要配合IF函数达到逆向查询的目的。如图1所示,根据薪资查询对应的员工姓名,其公式为:=VLOOKUP(H2,IF({1,0},F1:F8,A1:A8),2,0)。

图1

IF函数搭配数组{1,0},当{1,0}为1时,IF函数返回第二参数F1:F8,当{1,0}为0时,IF函数返回第三参数A1:A8,这样就从空间上构建了F1:F8和A1:A8组成的顺向数据区域,IF函数的作用就是将原本逆向排布的数据区域进行顺向排布。

2.IF函数逆向查询

条件判断IF函数也可以进行逆向查询,不过需要配合数组元素连接函数CONCAT达到逆向查询的效果。如图2所示,根据薪资查询对应的员工姓名,其公式为:=CONCAT(IF(H2=F2:F8,A2:A8,"")),最后按下数组三键Ctrl+Shift+Enter。图2IF函数的第一参数H2=F2:F8,会形成FALSE和TRUE组成的数组{FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE},其中TRUE为条件满足返回的值,IF函数第二参数A2:A8会形成数组{"张三";"李四";"王五";"赵六";"周七";"孙八";"诸葛亮"},当第一参数返回TRUE时(第五位),IF函数返回第二参数数组中对应的值即"周七"(也是第五位)。为FALSE时,就返回IF函数第三参数即空值。

这样,IF函数最终会形成{"";"";"";"";"周七";"";""},再用CONCAT函数对数组元素进行连接,空值不显示,结果即为"周七"。

3.INDEX+MATCH逆向查询

INDEX+MATCH也是使用频率很高的一种函数组合,如图3所示,根据薪资查询对应的员工姓名,其公式为:=INDEX(A2:A8,MATCH(H2,F2:F8,0))。

图3INDEX函数能够根据行序数和列序数查询到数据区域中的对应值,数据区域为一行或一列时,列序数通常可省略,MATCH函数是返回一个值在一行或一列数据区域中的位置,两个函数结合,就能根据返回值数据区域和查找值所在的位置,查询到最终值。

MATCH(H2,F2:F8,0)的结果是5550在工资列中的位置即5(不包含标题),那么A2:A8中的第五位即“周七”。

4.LOOKUP函数逆向查询

LOOKUP函数是查询界的鼻祖函数,VLOOKUP和XLOOKUP都由它衍生而来。相比VLOOKUP不能支持逆向查询的不足,LOOKUP会更加灵活。如图4所示,根据薪资查询对应的员工姓名,其公式为:=LOOKUP(0,0/(F2:F8=H2),A2:A8)。关于LOOKUP函数的详细用法,大家可以点击阅览:图4

5.XLOOKUP逆向查询

Microsoft 365和网页版Excel支持XLOOKUP函数,新版的WPS也是支持的,它是Excel近几年新出的函数,相比风靡职场的VLOOKUP,它更加强大和灵活。如图5所示,根据薪资查询对应的员工姓名,其公式为:=XLOOKUP(H2,F2:F8,A2:A8)。关于XLOOKUP函数的详细用法,大家可以点击阅览:图5

6.SUM函数逆向查询

SUM函数虽然是求和函数,但是也能达到数据查询的目的,但是有限定条件,SUM函数查询的结果必须为数值才可以,如图6所示,根据薪资查询对应的员工年龄,其公式为:=SUM((F2:F8=H2)*(B2:B8)),最后按下数组三键Ctrl+Shift+Enter。

图6

F2:F8=H2会形成逻辑值组成的数组{FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE},B2:B8会形成{29;22;30;26;31;24;49},两个数组一一对应相乘,逻辑值FALSE可以看作0,TRUE可以看作1,结果为{0;0;0;0;31;0;0},然后再用SUM函数对这个数组进行求和。

7.SUMPRODUCT逆向查询

SUMPRODUCT函数是返回数组的乘积之和,灵活运用它,也可以起到数据查询的作用,如图7所示,根据薪资查询对应的员工年龄,其公式为:=SUMPRODUCT((F2:F8=H2)*(B2:B8))。原理与SUM函数一致,这里就不赘述了,区别在于SUMPRODUCT本身就是数组函数,无需按下数组三键。

图7

8.INDIRECT逆向查询

INDIRECT是Excel中十分强大的引用函数,直接引用目标值所在的行列,即可查询到对应值,如图8所示,根据薪资查询对应姓名,其公式为:=INDIRECT("A"&MATCH(H2,F1:F8,0)),"A"为A列,MATCH(H2,F1:F8,0)根据薪资所在的行数,能够对应到此薪资的员工所在的行数,行和列都能确定的情况下,我们就能锁定目标值。

图8

9.DGET逆向查询

我们也可以根据数据库函数进行逆向查询,以DGET函数为例,如图9所示,根据薪资查询对应姓名,其公式为:=DGET(A1:F8,1,H1:H2)。关于数据库函数的详细解析,大家可以关注小包老师,小包老师后面会为大家做一个专门的课程讲解。

图9

关注小包老师持续的为大家分享实用的Excel职场技巧

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接