利用index、small函数查询返回多个值

简介:

wKioL1NFWuiSU2YEAAD7cruZmRI785.jpg

查询函数我们使用最多的就是vlookup函数,它可以帮助我们快速查询返回我们所需的数据。但是如遇到上图时,需要查询A对应B列所有的数据用vlookup就显得力不从心了。因为vlookup只能返回所查询到的第一个对应的数据。


此时,我们可以利用多个函数组合的数组公式解决。在E2单元格输入如下数组公式:

=INDEX($B:$B,SMALL(IF($A$2:$A$11=$D2,ROW($A$2:$A$11),4^8),COLUMN(A1)))&""

输入后按Ctrl+Alt+Enter,完成数组公式。


利用small函数来定位所有A在第一列的位置,其中column(a1)用来显示第几个A。如拖动E2单元格填充柄往右填充公式,在E2时为column(a1)即1,第一个A;F2时为column(b1)即2,第二个A,以此类推。


得出第一个A时也就是E2单元格,small函数返回2,通过index返回B列第二个值为X。

第二个A,F2单元格,small函数返回3,通过index返回B列第二个值为Z。

第二个A,G2单元格,small函数返回10,通过index返回B列第二个值为Y。


在这个公式末尾,添加&"",为的是避免出现错误提示。增加数据阅读性。


wKiom1NFYsmisdgiAAF_HCsWyso326.jpg



本文转自 kirin 51CTO博客,原文链接:http://blog.51cto.com/kirin/1393111 ,如需转载请自行联系原作者

相关文章
|
4月前
|
索引
根据索引值计算item所在行列(row,col)索引序号(index)
根据索引值计算item所在行列(row,col)索引序号(index)
|
8月前
|
前端开发
根据数组code值返回value值
根据数组code值返回value值
43 0
|
关系型数据库 MySQL RDS
timestamp类型在not null时可以插入null值?
背景 有同学问在RDS MySQL 5.6在timestamp 设置为 not null 并且SQL模式是严格模式时,仍然可以插入空值,理论上应该有报错,是不是RDS的bug? 环境 MySQL 5.
2358 0
z-index无效解决
1、父标签 position属性为relative; 2、问题标签无position属性(不包括static); 3、问题标签含有浮动(float)属性。
1547 0
|
Oracle 关系型数据库 Perl
|
存储 SQL Oracle
NULL 值与索引
 NULL 值与索引     NULL值是关系数据库系统布尔型(true,false,unknown)中比较特殊类型的一种值,通常称为UNKNOWN或空值,即是未知的,不确定的。
1017 0