二维码 购物车
部落窝在线教育欢迎您!

按条件查找前3名和后3名

 

作者:小窝来源:部落窝教育发布时间:2023-09-04 14:33:51点击:749

分享到:
0
收藏    收藏人气:0人
版权说明: 原创作品,禁止转载。
编按:

如何查找符合条件的前3名或者后3名人员?TAKE函数很简单,比用VLOOKUP强千倍!低版本Excel也能完成,但公式比较复杂。

 

下图是各人员不同产品的销售金额,需要查C产品销售前3名的姓名。

 

 

给出3个公式,分别对应不同的Excel版本。

1.适合Excel 365

=TAKE(SORT(FILTER(A2:C20,B2:B20="c"),3,-1),3,1)

 

 

说明:

FILTER(A2:C20,B2:B20="c"),筛选出C产品的信息。

SORT(,3,-1),对C产品信息按照第3列的金额降序排列。

TAKE(,3,1),提取排序后前3行中第1列(销售人员)中的姓名。

 

若查后3名,=TAKE(SORT(FILTER(A2:C20,B2:B20="c"),3,1),3,1)

 

没有365版本的可以点此了解怎么在低版本中使用高版本函数

2.适合Excel 2021

=INDEX(SORT(FILTER($A$2:$C$20,$B$2:$B$20="c"),3,-1),ROW(A1),1)

 

 

说明:

SORT(FILTER($A$2:$C$20,$B$2:$B$20="c"),3,-1),筛选出C产品并按金额降序排列。

INDEX(,ROW(A1),1),取排序后的第1行第1列人员。

 

若查后3名,= INDEX(SORT(FILTER($A$2:$C$20,$B$2:$B$20="c"),3,1),ROW(A1),1)

3.适合所有版本

=INDEX($A$2:$A$20,MATCH(LARGE(IF($B$2:$B$20="c",$C$2:$C$20,-9E+307),ROW(A1)),IF(COUNTIF($F$1:F1,$A$2:$A$20),-9E+307,0)+IF($B$2:$B$20="c",$C$2:$C$20,-9E+307),),)

 




 

即便存在重复,该公式也可以完成正确统计。具体不解释了,嵌套的各函数都很常见。

若查后三:

=INDEX($A$2:$A$20,MATCH(SMALL(IF($B$2:$B$20="c",$C$2:$C$20,9E+307),ROW(A1)),IF($B$2:$B$20="c",$C$2:$C$20,9E+307)+IF(COUNTIF($F$1:F1,$A$2:$A$20),9E+307,0),0))

 

以上公式通用性强,即便有金额相同的,也能正确提取。

 

本文配套的练习课件请加入QQ群:781412182下载。

Excel高手,快速提升工作效率,部落窝教育Excel精品好课任你选择

扫下方二维码关注公众号,可随时随地学习Excel

IMG_256

相关推荐:

如何在低版本中使用365的函数

筛选函数FILTER用法集

用SOTR函数排序

不排序提取前3的经典公式

版权申明:

本文作者小窝;部落窝教育享有稿件专有使用权。若需转载请联系部落窝教育。