如何让多个查询结果自动按升序或降序排序
作者:老菜鸟来源:部落窝教育发布时间:2023-02-17 14:11:54点击:2015
编按:
在Excel中一对多或者多对多查询将返回多个结果,如何让返回的查询结果自动按升序或者降序进行排列呢?我们将用到FILTER函数和SORT函数组合。改变一下组合,FILTER与UNIQUE函数组合,可以实现对查询结果自动去重汇总。FILTER、SORT、MATCH组合甚至可以实现多条件的中国式排名。
如何对返回的多个查询结果自动进行排序、自动去重累加?
这将用到FILTER函数。它与SORT组合,可以让查询结果升序或者降序排序;与UNIQUE组合,可以让查询结果自动去重统计。
基础教程可以戳链接了解:FILTER基础教程
今天和大家聊聊这个函数的三种高级用法,在处理一些麻烦问题时会有不小的帮助。
场景1、对查询结果排序
假如要实现这样的效果:按照指定的月份将该月的销售数据提取出来,并且按照销售额从高往低排序。
这里用到的公式是=SORT(FILTER(A2:C26,A2:A26=E2,""),3,-1)
公式中FILTER(A2:C26,A2:A26=E2,"")的作用是从数据源中第一列等于要查询月份的数据筛选出来,然后再用SORT函数实现排序。
简单解释一下SORT函数的用法,SORT(要排序的数据源,按第几列排序,升序还是降序),1为升序,-1位降序。
在本例中是按第三列销售额降序排序,所以后两个参数分别是3和-1。
两个函数配合就解决了这样一个比较复杂的问题。
场景2、对查询结果去重复
例如要查询某位销售人员销售了什么商品,直接用筛选功能可能会包含重复信息。
希望实现的结果是这样的。
这里用到的公式是=UNIQUE(FILTER(C2:C15,B2:B15=F2))
FILTER(C2:C15,B2:B15=F2)负责筛选出指定人员销售的商品明细,UNIQUE负责对筛选结果去掉重复值,关于UNIQUE函数的使用教程详见:UNIQUE函数详解
场景3、分组或多条件中国式排名
这是一类比较复杂的排名问题,结合下面的示例比较容易理解。
目的:每位销售人员针对每个商品销量的排名,这是分组排名,在这个条件之上还要考虑当销量一样的时候,排名也得一样,而且排名不能出现间断,这是中国式排名。
单独解决分组排名或者中国式排名都不算难,这在以往的教程有过介绍。
但是将两种要求结合到一起,这个难度就不小了,有兴趣的同学可以自己先试试。
给大家推荐一个公式:
=MATCH(C2,SORT(UNIQUE(FILTER(C$2:C$13,A$2:A$13=A2)),1,-1),0)
简单解释一下这个公式的原理:FILTER函数筛选出相同商品的销售数量,UNIQUE函数对该结果去重复,SORT函数再对去重复后的数量降序排列,最后使用MATCH函数查询当前数量在去重并排序后数量中的序号位置,也就是了中国式排名结果了。
怎么样,理解到这个公式的精妙之处了吗?
好的,以上就是今天的所有内容了,感谢大家观看。
本文配套的练习课件请加入QQ群:902294808下载。
做Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!
扫下方二维码关注公众号,可随时随地学习Excel:
相关推荐:
版权申明:
本文作者老菜鸟;同时部落窝教育享有专有使用权。若需转载请联系部落窝教育。