函数学习-SORT-对区域的内容进行排序

转发分享此文 , 私信 SORT 源文件,和古老师一起学习函数 。
对于PMC来说,学习函数的好处非常多,所以古老师建议大家还是系统的学习一下函数,2012年开始系统学习函数,从2012年1月2日,到2012年10月22日,累计学习了175个函数,整理好了所有函数的学习笔记 。


函数学习-SORT-对区域的内容进行排序



函数学习-SORT-对区域的内容进行排序

一晃十年过去,十年前系统学习的函数对我的工作帮助非常大,这十年,OFFICE的版本 , 从2010、更新了2013、2016、2019,以及2021版本,还有订阅版本的365,函数也更新了好多,是时候更新从新学习函数了,今天开始继续学习,并做好笔记分享给大家 。
今天学习的函数是SORT,此函数的妙处是可以创建动态的数据引用 。我们学习函数还是按照以下结构化思维来学习的 。
分别从:函数参数、注意事项、函数安全这三大方向着手


函数学习-SORT-对区域的内容进行排序

  • 函数参数
函数定义: 函数可对某个区域或数组的内容进行排序
白话说明: 就是用公式创建一个新的数据区域,并按条件排序
使用格式: SORT(array,[sort_index],[sort_order],[by_col])
对应版本: OFFICE365、OFFICE2021
参数
参数要求
参数说明
array
必需
要排序的区域或数组
[sort_index]
可选
一个数字,表示要按其排序的行或列
[sort_order]
可选
一个数字,表示所需的排序顺序;1 表示升序(默认值) , -1 表示降序
[by_col]
可选
一个逻辑值,指示所需的排序方向;False 表示按行排序(默认值),True 表示按列排序
学习函数,一定先把参数多看几次,看完后再动 , 特别是有“[]”的参数,代表可?。硎静挥檬淙胍残? ,还有逻辑值 , 一个是TRUE,一个是FALSE,可以用数字,1和0替代 。


  • 注意事项
1.如果未提供 sort_index,将假定使用 row1/col1 。
2.如果未提供顺序,将假定使用升序排序 。
3.默认情况下,Excel 将其按行排序,并且仅次于 by_col 为 True 时按列排序 。如果 by_col 为 False 或缺失,Excel 将按行排序 。
4.提供 SORT 函数 , 以对数组中的数据排序 。
5.如果想要对网格中的数据排序,最好使用 SORTBY 函数,因为它更灵活 。可以理解为多条件排序 。
6.可将数组视为一行值、一列值或几行值和几列值的组合,也就是一个区域,或者整体工作表 。
7.SORT 函数将返回一个数组,如果该数组是公式的最终结果 , 也就是数组公式不能更改,Excel 将动态创建相应大小的数组范围
8.Excel 对工作簿之间的动态数据提供有限支持 , 并且仅当这两个工作簿都处于打开状态时才支持此方案 。
9.针对8的理解就是尽量内部关联,外部引用如果关了一个就会出错误,返回 #REF! 错误


函数学习-SORT-对区域的内容进行排序

  • 函数案例
一般用法
案例1:按销售数量降序排序
如果对下图中的产品按数量排序,如果点排序的话,就会打乱这张表原来产品的位置,如果不想把位置改变,又想看到排名中,只能用RANK排名函数 , 显示如图结果,此时如果在不改变原数据的情况下 , 我们可以换个工作表2,用函数SORT来实现,这样表1的数据没有变化 , 表2可以看到排名 。
函数学习-SORT-对区域的内容进行排序

步骤1:新建一个工作表2,此工作表只需要复制标题过来 , 剩下的就交给SORT了
步骤2:录入函数=SORT($B$31:$C$41,2,1)
返回区域是返回数组,不允许更改(为方便截图,放在一个工作表上了 , 实际情况放在两个工作表上面)
函数学习-SORT-对区域的内容进行排序

此时我们把第3个参数更改为-1就是降序,如下图:


函数学习-SORT-对区域的内容进行排序



高级用法
案例2:指定销售人员的销售数量升序排序
如果对下图中的数据按特定的销售人员进行降序排序 , 如张下图所示,张飞的销售排名如下,表1原表不动 。
函数学习-SORT-对区域的内容进行排序

如何实现呢?首先你需要知道一个新函数FILTER,再按以下思路去思考:
1.先用数据验证创建动态引用下拉选项目;
2.再用FILTER 函数生成对应的条件的数组区域;
3.最后用SORT对这个条件数组区域排序;
4.排名用ROW(A1)自动生成,,用IF判断空值;
步骤1:
依次点:数据验证→序列→来源,录入张飞,赵云、刘邦 。注意逗号是英文的逗号 。


函数学习-SORT-对区域的内容进行排序

步骤2:
在表2录入公式=FILTER(B70:D80,D70:D80=G70) , 创建一个筛选条件的动态引用


函数学习-SORT-对区域的内容进行排序

步骤3:
加上SORT函数进行嵌套,对应这个数组进行二次排序 , 这里是降序,所以参数是-1
录入函数=SORT(FILTER(B85:D95,D85:D95=G85),2,-1)
函数学习-SORT-对区域的内容进行排序

最后在边上加上排名,因为已经是降序了,所以肯定是1、2、3、我们录入ROW(A1)下拉,再用IF函数判断空,返回空 , 就实现以下效果了
从下图可以看出,原表数据没有动,只是做了动态引用,选定谁就显示谁 。
函数学习-SORT-对区域的内容进行排序

这里需要的知识点如下:
  1. 数据验证
  2. FILTER
  3. ROW
  4. IF
  5. SORT
  6. 相对引用
我是古哥:
【函数学习-SORT-对区域的内容进行排序】从事制造行业18年,在企业运营、供应链管理、智能制造系统等方面具有丰富的实战经验 。企业智能化,柔性化计划运营管理专家,擅长通过企业流程优化规范 , 企业管理、导入计划运营提升企业效率;对提高企业准时交货率,降低企业库存,输出智能制造人才有丰富的经验 。学习PMC生产计划 , 关注古哥计划!8月特训班2期即将开班,全方位学习计划运营知识 。
函数学习-SORT-对区域的内容进行排序

相关经验推荐