excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Excel如何快速筛选出最大值所在行数据?

收到粉丝提问:有班级成绩表,如何用函数取得各科成绩最大所在行数据呢?我知道用筛选条件可以做,但这个只是举例问题,实际是大批量统计,不可能一个一个筛选粘贴。

我的思路是用index函数,但无法取得要符合D列且E列数值最大的单元格的行数和列数。如下图所示:

方法一:INDEX结合MATCH函数

按照题主的思路来做是对的,我们可以使用INDEX结合MATCH函数来实现想要的效果。

假设数据位于ABC三列,在FHG这三列返回筛选结果,可以在F2输入下面的公式:

=INDEX($A$1:$C$10,MATCH(MAXIFS($C$1:$C$10,$B$1:$B$10,$E2),$C$1:$C$10),COLUMN(A1))

向右拖动鼠标填充公式,即可得到想要的结果,注意单元格地址的绝对引用哦。

这个公式通过结合 INDEXMATCH MAXIFS 函数,实现动态地查找和提取数据。

公式说明:

1MAXIFS($C$1:$C$10,$B$1:$B$10,$E2):返回特定学科的最大成绩。

2MATCH(MAXIFS($C$1:$C$10,$B$1:$B$10,$E2),$C$1:$C$10):查找该最大成绩在成绩列中的位置(行号)。

3INDEX($A$1:$C$10,...,...):根据行号和列号提取数据。

4COLUMN(A1):用于动态调整列号,以便公式可以自动适应右侧单元格的列号。

方法二:FILTER函数

FILTER 函数是 Excel 365 及更高版本中引入的一个强大的筛选函数,它可以根据一个或多个条件筛选数据。如果你使用的版本支持该函数,可以在F2输入下面的公式:

=FILTER($A$2:$C$10,($B$2:$B$10=E2)*($C$2:$C$10=MAXIFS($C$2:$C$10,$B$2:$B$10,E2)))

拖动鼠标填充公式,即可得到想要的结果,注意单元格地址的绝对引用哦。

这个公式通过结合 FILTER MAXIFS 函数,从数据表中筛选出特定学科的最大成绩及其对应的行数据。

公式说明:

1MAXIFS(C2:C10,B2:B10,E2)返回特定学科的最大成绩,例如 学科的最大成绩是99

2(B2:B10=E2)返回一个逻辑数组,表示哪些行的学科是

3(C2:C10=MAXIFS(C2:C10,B2:B10,E2)) 返回一个逻辑数组,表示哪些行的成绩等于最大值(99)。

4(B2:B10=E2)*(C2:C10=MAXIFS(C2:C10,B2:B10,E2)) 结合两个逻辑条件,筛选出同时满足学科和成绩条件的行。

5FILTER(A2:C10,...) 根据逻辑条件筛选数据,返回满足条件的行的数据。

方法三:TAKE函数

TAKE 函数是 Excel 365 及更高版本中引入的一个强大的筛选函数,它用于从数组或范围中提取指定数量的行或列。

TAKE 函数本身并不直接用于筛选最大值,但可以与 FILTER 函数结合使用来实现这一目标。

如果你使用的版本支持该函数,可以在F2输入下面的公式:

=TAKE(FILTER($A$2:$C$10,$C$2:$C$10=MAXIFS($C$2:$C$10,$B$2:$B$10,E2)),1)

向下拖动鼠标填充公式,即可得到想要的结果,注意单元格地址的绝对引用哦。

公式说明:

1MAXIFS(C2:C10, B2:B10, E2)返回特定学科的最大成绩,例如 学科的最大成绩是99

2C2:C10 = MAXIFS(C2:C10, B2:B10, E2)返回一个逻辑数组,表示哪些行的成绩等于最大值。

3FILTER(A2:C10, C2:C10 = MAXIFS(C2:C10, B2:B10, E2)) 根据逻辑条件筛选数据,返回满足条件的行的数据。

4TAKE(..., 1) 从筛选结果中提取第一行。

以上方法都能轻松筛选出最大值所在行数据,根据自己版本和习惯选择适合的方法,当然,使用时要根据实际情况对数据范围做调整哦!若还有疑问,欢迎给小兔留言~

想了解更多精彩内容,快来关注

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接