美文网首页
Excel实现排序/分组排序

Excel实现排序/分组排序

作者: vv阿甘vv | 来源:发表于2019-04-25 13:49 被阅读0次

    工作中经常使用Excel的同学可能会遇到这个问题,Excel如何实现排序,或者是分组排序?下面介绍几种方法。

    1. 简单排序

    image.png

    如上图数据,想要实现按照销量进行排名,可以选择的方法有:

    1. 对销量进行降序排列,然后直接新加一列,从1开始填充序列即可
    image.png
    1. 使用rank公式,rank返回某数字在一列数字中相对于其他数值的大小排名,rank(数字,一列数据,(排序方式))
    image.png

    rank公式的第三个参数默认是0,升序排名,也就是将最大值排在第一名,最小值排在最后一名,
    而参数改为1,则表示降序排名,也就是将最大值排在最后一名,最小值排在第一名;

    image.png

    需要注意的是,rank对于相同的值给与的排名是相同的,同时会跳过下一个排名,如图所示,F列的排名跳过了第七名,G列的排名跳过了第十七名;

    image.png

    2. 分组排序

    1. 使用自定义排序,销量的升降序根据需要来进行


      image.png

    排序完成后,在H1单元格输入数字1,在H2单元格输入公式 =if(B3=B2,H2+1,1),下拉公式即可

    image.png

    这样就实现了对销量按照区域、品牌的分组排序,需要注意的是,使用这种方法排序万后,应将公式粘贴为值,以免因后续操作导致排名出问题;

    1. 使用sumproduct函数实现分组排名:
    image.png

    简单说一下sumproduct函数,该函数返回相应的数组或区域乘积的和,接收最少一个参数

    image.png image.png
    =SUMPRODUCT(($A$2:$A$23=A2)*($B$2:$B$23=B2)*($D$2:$D$23>=D2))
    

    对于在这里的写法,我是这样理解的

    $A$2:$A$23=A2  返回的是一个数组区域,判断是否等于A2,结果是{TRUE,False,False...}
    同样的 $B$2:$B$23=B2 也是返回 一个数组区域,结果类似 {TRUE,False....}
    $D$2:$D$23>=D2 判断单元格的值是否大于D2,返回结果 {TRUE,False...}
    

    最终返回的是三个大小一样的数组区域,*号将三个数组相乘后求和 , Excel中TRUE表示1,False表示0,

    image.png

    这样就计算出来第一行数据组内排名了,以此类推,下拉公式即可

    相关文章

      网友评论

          本文标题:Excel实现排序/分组排序

          本文链接:https://www.haomeiwen.com/subject/wryagqtx.html