前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一对多查询,超实用的函数教程

一对多查询,超实用的函数教程

作者头像
用户1332619
发布2018-03-08 17:12:35
1.2K0
发布2018-03-08 17:12:35
举报
文章被收录于专栏:阿凯的Excel阿凯的Excel

今天和大家分享的是如何快速获取符合某个条件的第N个数。

如果这个问题改为获取最大的数,那一定很好解决,但是工作中不但要知道第一高峰是珠穆朗玛峰,还需要知道第二高峰是乔戈里峰,第三高峰是干城章嘉峰。

怎么样?看本公众号还可以学习地理知识吧!

咳咳,鉴于我一直是很严肃的小编,在此,正式和大家分享。

需求如下,小编所在的年级的成绩排行如下:

我想根据年级的成绩排名,获取一班的前三名的名称,就是标黄色的!

至此,读者一定有两个问题?

1、阿凯是谁? 2、为啥他是0分?

答:1、阿凯是小编,2、你和这么多美女一个班级,你会好好学习哇!!!!

怎么得到这个答案的尼~~~~~

直接把答案粘贴下来吧:

{=INDEX(B1:B9,SMALL(IF(C2:C9="一班",ROW(C2:C9),100),G2))}

我翻译一下:

{=INDEX(姓名列表,SMALL(IF(班级信息="一班",ROW(班级信息),一个很大的数),第几名))}

至此,如果能够读懂这个函数的人,可以直接关掉本篇内容,继续和苍老师谈人生好了!

还在的亲们,介绍几个函数给各位亲:

1、IF函数,最常用的判断函数,咋用呢?

=IF(判断条件,为真返回什么,为假返回什么)

例子:

=IF(小编=最帅的人,“真有眼光”,“不喜欢我的人多了,你算老几!”)

返回值是“真有眼光”

2、Small函数,返回某个数组的第N个小的值

姐妹函数是Large,返回某个数组的第N个大的值

=Small(数组,第几个小的数)

例子:

=Small({4,3,1,2,8},3) 返回值是3

3、Index函数,引用函数,返回某个数组的第几个值

注意:这里是没有进行排序的,直接按照顺序返回第几个

=Index(数组,第几个值)

=Index({4,3,1,6,8},3) 返回值是1

知道Index和Small的区别了吧!

4、Row函数,返回某个单元格的对应行数

=Row(单元格)

=Row(C4) 返回值是4

啰嗦这么多,你们肯定把问题都忘了,重新上图

我想获取一班第一至第三名需要怎么做呢?简述一下思路

知道哪些人是一班的->得到他们的行号->然后找到第几小的行号信息->返回行对应的姓名

慢动作分解第一次!

第一步:我需要知道哪些人是一班的(用IF语句实现)

如果他是一班的,返回他对应的行数,如果不是一班的,我就赋予他一个很大的值(本案例赋值100)

语句实现:

=IF(C2:C9="一班",ROW(C2:C9),100)

翻译:IF(班级信息="一班",ROW(班级信息),100)

由于班级信息是{一班,二班,二班,一班,一班,一班,二班,一班}

所以IF的返回值就是{2,100,100,5,6,7,100,9}

第二步:接下来要获取第一名所对应的行信息

语句实现:

=Small({2,100,100,5,6,7,100,9},1)

如果是第一名就返回的是2,如果是第二名返回的就是5

这二步实现了获取不同名次的行信息。

第三步:知道了行信息,返回对应的姓名

语句实现:

=Index(姓名列表,返回第几个姓名)

整体函数的实现思路就是这样!

如果不清楚,慢动作分解第二次!

第一步:判断语句,如果是一班,返回行数,如果不是,返回100

=IF(C2:C9="一班",ROW(C2:C9),100)

第二步:获取上面数组中第N个小的值(本案例获取第二个小的)

=SMALL(F2:F9,2)

第三步:返回第五行对应的姓名信息

整个函数的逻辑引用精华就是在上面这个图啦,然后就将上一个步骤的函数嵌套到下一个函数的里面就好!

结论性的公式如下:

{=INDEX(B1:B9,SMALL(IF(C2:C9="一班",ROW(C2:C9),100),G2))}

看到外面的{ }了没,这个不是人为输入的,而是因为用到了数组,所以编辑好函数后,要用Ctrl+Shift+Enter结束,结束后自动添加{}!

如果还想优化一下的话,可以做个绝对引用!

{=INDEX($B$1:$B$9,SMALL(IF($C$1:$C$9="一班",ROW($C$1:$C$9),100),G2))}

今天就到这里!

感谢观看!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-01-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 阿凯的Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档