Excel逆向查找得心应手

首先介绍一下excel中的数组

excel数组,有横向数组和纵向数组
横向数组的数据之间用“,”隔开,纵向的数据用“;”隔开
如在a1:a5输a,b,c,d,e 5个字母,先选择a1:a5,输入={"a";"b";"c";"d";"e"}按ctrl+shift+enter即可
如在a1:e1输1,2,3,4,5 5个数字,先选择a1:e1,输入={1,2,3,4,5}按ctrl+shift+enter即可

比如:我们在数据区域a2:a10中输入数据1-9,在数据区域b1:j1中也输入1-9。选择数据区域b2:j10,在公式编辑栏中输入=a2:a10*b1:j10公式。接着按ctrl+shift+enter组合键进行确定,这时就会看到数据区域中的数据就产生了。把鼠标放在公式编辑栏中,然后按fa9键,可以查看数组内容。

再说一下excel中的向量

单行区域或单列区域在excel中称为向量。

例如excel中的LOOKUP函数 有两种使用方式:向量形式和数组形式

  • 向量形式:可使用 LOOKUP 的这种形式在一行或一列中搜索值。 如果要指定包含要匹配的值的区域,请使用这种形式。 例如,如果要在 A 列中向下搜索值到第 6 行。

    向量的示例

  • 数组形式:强烈建议使用 VLOOKUP 或 HLOOKUP,不要使用数组形式。请观看此视频,了解如何使用 VLOOKUP。提供数组形式是为了与其他电子表格程序兼容,这种形式的功能有限。

    数组是要搜索的行和列(如表)中的值的集合。 例如,如果要在 A 列和 B 列中向下搜索值到第 6 行。 LOOKUP 将返回最接近的匹配项。 要使用数组形式,必须对数据排序。

    包含数组的表的示例

第三我们说一下逆向查找

如下图,A列为学员,B列为学号。根据学员查找对应的学号,我们可以用VLOOKUP轻松得出相应的结果。但是根据学号怎么查找出对应的学号,也就是怎么逆向查找。

1、VLOOKUP+IF逆向查找

E5单元格输入:=VLOOKUP(D6,IF({1,0},B3:B11,A3:A11),2,0)

函数简释:

此用法重点在于IF({1,0},B3:B11,A3:A11)的应用。不改变原始数据结构,使用IF{1,0}创建一个数组来组成第2个参数

IF(条件,满足条件返回的结果,不满足条件返回的结果),在C列输入公式=IF(TRUE,$B$3:$B$11,$A$3:$A$11),返回结果如图:


 

在D列输入公式=IF(FALSE,$B$3:$B$11,$A$3:$A$11)返回结果如图:


 

IF函数中的TRUE可以用1代替,也可以用2代替,为了方便,通常选择1。FALSE用0代替。

在C、D列输入数组公式所以返回结果,如图:


 

IF({1,0})和VLOOKUP结合就可以得到逆向查询的目的。

2、VLOOKUP+CHOOSE组合函数

E8单元格输入:=VLOOKUP(D8,CHOOSE({1,2},B3:B11,A3:A11),2,0)

这个函数的逻辑和第一种方法是类似的,只不过用CHOOSE代替了IF({1,0})的作用。

3、LOOKUP逆向查找

E6单元格输入:=LOOKUP(1,0/(B3:B11=D5),A3:A11)

主要用到LOOKUP函数的数组用法

函数简释:

0/(B3:B11=D5),用F9查看,得出的结果是{#DIV/0!;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!},LOOKUP就是查找0/(B3:B11=D5)小于等于1的结果对应的A3:A11区域的值。0/(B3:B11=D5)第四个结果为0,小于等于1,所以返回A3:A11区域对应的第四个单元格,即史桥茹。(注,这里的B3:B11=D5中的“=”号是一个逻辑运算符,有根D5相同的返回1即true,否则为0即false。#div/0!是ERROR.TYPE 函数的返回值。ERROR.TYPE 函数的公式语法和用法还有IS 函数的用法查看office帮助文件

4、INDEX+MATCH数组

E7单元格输入:=INDEX(A3:A11,MATCH(D7,B3:B11,))

函数简释:

MATCH函数查找出D7单元格在B3:B11中的位置,为第4个单元格,INDEX返回A3:A11区域第四个单元格的内容,即史桥茹。

猜你喜欢

转载自blog.csdn.net/pilifeng1/article/details/82019498