按条件查找前3名和后3名
作者:小窝来源:部落窝教育发布时间:2023-09-04 14:33:51点击:749
如何查找符合条件的前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:
相关推荐:
版权申明:
本文作者小窝;部落窝教育享有稿件专有使用权。若需转载请联系部落窝教育。