最近有不少同学讲GROUPBY函数好像不是很听话,结果出来后顺序乱了,今天我们就来聊一下处理方案!
首先,我们来看一下常规的汇总结果,第一感觉,你是不是觉得是乱序的,其实并不是,只是不是按照数据源的顺序而已!下面我们会讲到!
其实GROUPBY函数本身有排序参数,但是并不能实现,自定义和按数据源顺序排序,所以这两种我们还要另想办法!
下面我们来一起交流一下各种处理方案!
▍基础的升序和降序
第六参数,sort_order参数功能主要是排序,这里的1表示对结果的第一列进行升序排序!
我的同学说我怎么看不出,不是应该甲乙丙丁吗?这只是你自己认为的,Excel有自己的排序规则!一般来说应该是按照拼音排序!不过用CODE函数来观察更加直接!
-1则表示降序!
这个参数,还有很多用法,本节非讨论重点,感兴趣的可以在我们的365系列教程中详细了解!
前一段时间,我们增加了很多同学反馈看不懂的新参数说明!
--->>>Excel365+WPS函数落地教程 | 图文+视频<<<-----
下面我们看一下,按数据源的中顺序如何处理!
▍按数据源顺序
很多同学希望可以按照数据源中出现的顺序来显示,其中非常简单,只要利用MATCH函数即可!
=LET(t,A1:A9,DROP(GROUPBY(HSTACK(MATCH(t,t,),t),B1:B9,SUM,3,0),,1))
利用MATCH匹配每个内容从上到下首次出现的顺序,然后和原本的姓名一起作为分组条件,再删除辅助的MATCH匹配序号列即可!
知道思路了,其实非常简单,下面我们看一下如何按照自定义顺序排序!
比如这个案例中,很多同学说应该是甲乙丙丁吧!这其实只是你想要的顺序,也就是自定义!
▍自定义排序!
非常简单,只要你把MATCH第二参数换成你想要的顺序即可!内容较少,我们使用常量数组,如果内容较多,可以放在单元格中,引用单元格也是一样的!
他们的核心还是一样,利用MATCH匹配位置,加上GROUPBY默认的升序排序!
=LET(t,A1:A9,DROP(GROUPBY(HSTACK(MATCH(t,{"甲";"乙";"丙";"丁"},),t),B1:B9,SUM,3,0),,1))
OK!今天的内容就到这里!如果你想提高办公效率,多多关注内容更新即可!当然也可以参加我们的系统课程学习!