获取"第一次大于80分的成绩",给你两种函数组合!

职场   职场   2024-12-10 08:38   河北  


Excel情报局

职场联盟Excel

生产挖掘分享Excel基础技能
Super Excel Man
用1%的Excel基础搞定99%的职场问题
做一个超级实用的Excel公众号
Excel是门手艺玩转需要勇气
数万Excel爱好者聚集地


    


大家好,今天我们来解决群里的一位粉丝咨询的问题:如何获取"第一次大于80分的成绩"?,在这里小编简单整理了两种解决方案,当然解题的方法肯定不局限于这两种,希望大家发散思维,找到更多适合自己的方法。


如下图所示

是一位同学的每月月末考核成绩记录,A列是日期,B列是对应的成绩。我们想要在D2单元格获取到第一次大于80分的成绩是多少。因为大于80分的成绩有B4单元格的“86”与B6单元格的“95”,而我们需要的只是第一次大于80分的成绩“86”。



第一种方法使用INDEX函数与MATCH函数组合


首先输入公式

=B2:B7>80


我们让B2:B7区域内的每个单元格的数字大于80,会输出一列逻辑判断值组成的数组溢出结果,当B2:B7区域内单元格数字大于80时,返回逻辑值TRUE;反之,返回逻辑值FALSE。

即:{FALSE;FALSE;TRUE;FALSE;TRUE;FALSE}



继续向外面嵌套MATCH函数

=MATCH(TRUE,B2:B7>80,0)


我们利用MATCH函数查找逻辑值“TRUE”

在数组{FALSE;FALSE;TRUE;FALSE;TRUE;FALSE}中进行精确查找,查找到第一个逻辑值“TRUE”出现的位置是“3”。



最后再向外嵌套INDEX函数

=INDEX(B2:B7,MATCH(TRUE,B2:B7>80,0),1)


利用INDEX函数,查找B2:B7区域内,第3行与第1列交叉位置的值“86”,至此第一次大于80分的成绩“86”就得到了。


这里需要注意的是,INDEX函数的第3参数列序号“1”与第一参数B2:B7区域其实是重合了,所以可以省略第三参数,变成这样更简洁:

=INDEX(B2:B7,MATCH(TRUE,B2:B7>80,0))



第二种方法使用FILTER函数与TAKE函数组合


首先输入FILTER函数

=FILTER(B2:B7,B2:B7>80)


利用FILTER函数,筛选B2:B7区域内符合条件B2:B7>80的所有成绩,所以B列成绩大于80分的所有记录会被筛选出来,数组自动溢出为{86;95}。



最后使用TAKE函数

=TAKE(FILTER(B2:B7,B2:B7>80),1)


TAKE函数可以数组开头或结果返回行或列


所以利用TAKE函数,将上一步筛选出来的数组{86;95}中的第一个数字提取出来即“86”,至此第一次大于80分的成绩“86”就得到了。



其实重复学习Excel,刚开始是挺难的,但重复的次数多了总会成为习惯,先从坚持一星期开始,你会爱上那种脑子又累,又无限充实的感觉。回顾关键内容,善用图片表达,学会建立联系,拓展深度广度,浓缩关键概念,应用到行动中,善于归纳总结,尝试进行分享。


 

知识点精彩超链接点击阅读

VLOOKUP的新搭档HSTACK函数,实现逆向查询
一个小小的VSTACK函数,就能实现多工作表合并
VLOOKUP最新用法,提取混合内容中的手机号
带超链接的VLOOKUP函数,让查询体验起飞
最新方法来了:按指定的次数重复数据
合并工作表,用两个函数就搞定啦
比VLOOKUP还好用的多条件查找
点击谁就筛选谁,实现筛选自动化
以“数字”作为分隔符,进行分列
点击谁,就对谁自动条件求和
更多实用内容请在号内历史文章搜索 

Excel情报局
Excel表格爱好者,分享一些日常的积累。做一个职场人都能看懂的表格技巧公众号。多学一个Excel小技巧,会让你在职场中多一分底气与自信。
 最新文章