用函数实现排序的效果(升序排序)

小伙伴们好,今天要分享的内容是如何用函数实现排序的效果。先来看下数据源和排序后的效果。下图左表是数据源,分数以乱序排序。右表是以分数为关键字升序排序后的效果。

如何用函数来实现呢?在E2单元格输入公式=INDEX(A:A,MOD(SMALL($B$2:$B$13/1%+ROW($2:$13),ROW(A1)),100)),按ctrl+shift+enter三键结束,右拉下拉填充,完成。这个公式和昨天的思路是差不多的。主要是用到分数和行号的加权合并。

=$B$2:$B$13/1%+ROW($2:$13)这部分就是用分数除以百分之一,再加上对应的行号,结果如C列所示。返回的结果把分数和行号合并起来,对于分数不相同的,合并后的结果没有改变原来分数的大小顺序。比如80小于85,合并后的8002同样小于8503。对于分数相同的,结果会有所不同,但会按先后顺序排列,比如有2个85,第1个返回8503,第2个返回8510。

=SMALL($B$2:$B$13/1%+ROW($2:$13),ROW(A1))这部分用small提取上一步结果的第1个最小值512,公式下拉提取第2个最小值1108,以此类推,返回的结果如下图D列所示。512的意思是分数5在12行。这样的话就实现了分数从小到大的排列顺序。

=MOD(SMALL($B$2:$B$13/1%+ROW($2:$13),ROW(A1)),100)这部分用mod对上一步的结果除以100求余数,就得到了对应的行号。如下图E列所示。因为我们之前合并分数和行号的时候,对分数乘以100,所以现在用mod除以100。

=INDEX(A:A,MOD(SMALL($B$2:$B$13/1%+ROW($2:$13),ROW(A1)),100))这部分就是用index返回对应行号的内容,结果如下图E列所示。

运用加权的方式把行号和其他列数字合并起来很有用,可以实现意想不到的效果。下面来个不用按三键的公式=INDEX(A:A,MOD(SMALL(MMULT($B$2:$B$13/1%+ROW($2:$13),1),ROW(A1)),100)),右拉下拉完成。主要是加了个mmult。

如果你有其他的方法,欢迎在留言区写出你的答案,让我们一起学习。

文件链接:

https://pan.baidu.com/s/1x4J4ytwoLatjS9qkewiqMg

提取码:bsy4

(0)

相关推荐

  • excel: 很多人不知道large和small函数的用法,小函数但很强大

    说到excel的large和small函数,很多朋友只是听说过,但并不理解其中的含义,有的朋友呢也只是照搬别人的公式,那么今天我们就来详解讲解下large和small函数的具体用法,比如说升序和降序排 ...

  • 用函数实现排序的效果(降序排序)

    小伙伴们好,昨天分享了如何用函数实现升序排序的效果.今天再来说下降序排序的方法.数据源和昨天的一样,如下图所示.以分数为关键字对左表降序排序,结果如右表所示.分数相同的按先后顺序排序. 思路和昨天的基 ...

  • 排序技巧2:对文本进行升序排序

    你好,我是刘卓.欢迎来到我的公号,excel函数解析.对于数字,我们可以用small或large等函数进行排序:而对于文本,很多小伙伴可能不清楚哪个函数可以对其排序,那么今天来分享下对文本排序的方法和 ...

  • 对一列文本取不重复值并且结果按升序排序

    大家好,昨天说了对文本的排序,今天再来升级一下难度.从一列文本中取出不重复值,并且结果要按升序排序.还是通过一个例子说明. 如下图所示,A列的数据源是一些费用名称,其中有重复的.现在的要求是提取出不重 ...

  • 用countif实现对文本排序的效果

    小伙伴们,大家好.今天来学习下如何用函数实现对文本的排序,主要用的是countif函数.还是看一个例子. 1.以姓名为关键字进行升序排序 如下图所示,将左表变为右表,F列是姓名的首字母,是我自己添加的 ...

  • Excel函数公式:6个数据排序技巧,总有一个适合你

    数据排序,涉及到的范围很广,也经常要用到,除了简单的命令排序之外,其实还有多种排序方式可供选择. 一.Excel排序:Rank函数法(单列). 作用:返回指定的数值在指定范围中的大小排名. 语法结构: ...

  • Excel竟然能用“函数”的方法实现自定义规则排序,简单又高效!

    Excel情报局 Excel职场联盟 生产挖掘分享Excel基础技能 Excel爱好者大本营 用1%的Excel基础搞定99%的职场问题 做一个超级实用的Excel公众号 Excel是门手艺玩转需要勇 ...

  • 1636 按照频率将数组升序排序

    题目描述: 给你一个整数数组 nums ,请你将数组按照每个值的频率 升序 排序.如果有多个值的频率相同,请你按照数值本身将它们 降序 排序. 请你返回排序后的数组. 示例 1: 输入:nums = ...

  • 半年热度和年热度排序 竞价极强排序 通达信排序指标 源码 贴图(图文)

    时间:2021-05-17 14:53:49 作者:liujianmei 有次新股强度排序 主力控盘度排序 主力控盘选股 主力净买入% 半年热度和年热度排序 VAR1:=BARSLASTCOUNT(C ...

  • Python | 选择排序之简单选择排序

    引言 一听到选择排序的词第一反应都是要通过选择来排序,那么我们的第一反应是不是对的呢,我们接下来验证一下,了解一下它的定义.简单选择排序:最简单的选择方法是顺序扫描序列中的元素,记住遇到的最小元素(一 ...