打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
INDEX SMAll IF,经典查找三剑客

=INDEX(区域,SMALL(IF(条件,行号数组,4^8),ROW(A1)))

这个公式用来取得满足条件的多个值,如今已成为模式化的应用,被各位板油广泛运用。

今天再和大家说说,在具有多个符合条件的情况下,提取和匹配方法~

有如图的数据表(名单列有重复)

我们需要解决三种类型的问题:

    1,李商隐第一次出现时的B列值;

    2,李商隐最后一次出现时的B列值;

    3,李商隐第2次出现时候的B列值。


 前面两个问题是比较常见的,我们简要一看。

匹配第一个,可以直接用:

=VLOOKUP(E2,A2:B17,2,FALSE)

匹配最后一个,可以利用:

=LOOKUP(1,0/(A2:A17=E2),B2:B17)  


这里重点要说明的是匹配第2个。

接下来就看一下这个类型的公式(数组公式,要按Shift+Ctrl+回车 三键结束):

 {=INDEX(B$2:B$17,SMALL(IF(A$2:A$17=E$2,ROW($1:$16),4^8),2))}  


先从最里层看:

IF(A$2:A$17=E$2,ROW($1:$16),4^8)

这个公式的结果是一个数组,它会依次判断A列值是否等于E2指定的条件。

等于E2时,则会返回对应的行号,如1、12、13等……

不等于E2时,则直接返回4^8,也就是65536,一般的工作表到这里就没有数据了。

整个的结果就是:

{1;65536;……;65536;12;13;65536;65536;65536}


再往外看,是SMALL(X,2)

这个简单,就是从上面得出的数组X中,选出第二小的值12,其实也就是A2:A17中的姓名第二次等于E2指定的姓名时,其序列位置。

最外层是INDEX(B2:B17,y)

上面已经用SMALL函数得出了具体的位置,这一步,就是在B2:B17中提取出这个位置的值,完成!!

以上便是INDEX+SMAll+IF的数组公式类型,掌握这个,想要匹配什么位置,就可以匹配什么位置~~

假如把最后一个参数2,换成ROW(A1),那么就可以下拉公式,依次提取所有对应值了。


ExcelHome学院春节前开课预告

已结束公开课,可以在QQ群中下载实况录像

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel中的万能公式,经典查找三剑客
使用Excel函数从列数据中提取不重复值的方法
EXCEL中提取不重复值的方法
Excel公式练习:求三列数值之和等于指定值的组合数
Excel INDEX+SMALL函数用法
INDEX+SMALL+IF+ROW函数组合使用解析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服