在 Excel 里面做动态排序,主流就是 SORT 函数,旧版本 Excel 没有这个函数,需要搭配 LARGE SMALL INDEX MATCH 组合公式实现,核心特点是公式生成排序后的新结果,不会改动原始数据表,这一点和界面上手动点击排序按钮有本质区别,手动排序会直接改写原数据位置,一旦原始数据变动,排序结果不会自动刷新,而排序函数属于动态数组计算,源数据修改之后排序结果会自动同步更新,适合做成绩榜单 销售排行 自动看板这类场景,SORT 函数是 Excel365 以及 2021 版本自带的动态数组函数,语法简洁,支持单列排序 多列联合排序,还可以设置升序降序,旧版 Excel 用户如果不能升级版本,就需要掌握传统组合公式方案,同时还要理解排序函数遇到重复值 空单元格 文本数字混合数据时的处理特性,避免排序结果错位。
一 SORT 函数基础语法
SORT 数据区域 排序索引号 排序方向 是否按列排序
第一个参数 要参与排序的全部数据区域,支持单行 单列 多行多列整块区域
第二个参数 排序索引号,代表按照区域里面第几列或者第几行作为排序依据,单列排序的时候这个参数一般填 1
第三个参数 排序方向,填 1 是升序,填负 1 是降序,默认省略就是升序
第四个参数 是否按列排序,填 FALSE 代表按行排序,也就是横向排序,默认 FALSE,绝大多数业务场景都是纵向按列排序
二 基础操作步骤
第一步 准备数据源,假设 A2 到 A11 是待排序的数值,B 列准备存放排序输出结果
第二步 在 B2 单元格输入排序函数公式
降序单列排序公式 =SORT (A2:A11,1,-1)
第三步 输入完成回车,动态数组会自动溢出,自动填满后面所有单元格,不需要下拉填充
第四步 如果是多列数据表,比如 A2:C11 三列数据,想按照第二列分数降序排序,公式 =SORT (A2:C11,2,-1),排序之后整行数据会跟着对应移动,不会出现列和行错位
三 基础案例表格
| 原始分数 | 排序函数降序输出结果 |
|---|---|
| 78 | 96 |
| 96 | 92 |
| 85 | 85 |
| 92 | 78 |
说明 原始区域 A2:A5,使用 SORT 排序函数之后,自动从大到小输出全部数值,源数据如果改成新分数,排序结果立刻自动刷新。
四 旧版 Excel 替代方案 无 SORT 函数
旧版 Excel 没有动态数组,不能直接使用 SORT 排序函数,需要组合 LARGE SMALL INDEX MATCH
降序排序 提取第 N 大的值
=LARGE (A2:A11,ROW (A1))
升序排序 提取第 N 小的值
=SMALL (A2:A11,ROW (A1))
这个方案缺点是只能单独提取数值,如果是多列整行联动排序,需要再加 INDEX MATCH 匹配对应的其他列信息,公式会更长,并且重复数值的时候匹配容易出现重复行错乱,这也是新版 SORT 排序函数最大优势,原生支持整行联动。
五 进阶要点
多条件联合排序
SORT 支持多列优先级排序,也就是第一列相同时,自动按照第二列继续排序,需要搭配 SORTBY 函数,SORTBY 和 SORT 是配套排序函数,SORTBY 可以单独指定排序数组,排序依据数组可以和原区域不完全一样,灵活性更高。
重复值处理
SORT 排序函数遇到相同数值,会保留原始相对顺序,也就是稳定排序,不会打乱原本同分记录的先后顺序,旧版 LARGE 方案重复值容易出现匹配冲突。
空单元格与文本
排序函数会把空单元格排在升序末尾,文本和数值混合区域,排序函数会按照 Excel 默认排序规则,文本排在数值后面,混合类型数据建议提前清理,防止排序结果不符合预期。
六 常见报错排查
1 提示 NAME,说明当前 Excel 版本不支持 SORT 排序函数,旧版本需要改用 LARGE SMALL 组合方案
2 溢出区域有内容,提示 SPILL,也就是排序函数自动填充的位置已经有别的数据,清空溢出区域单元格即可恢复
3 多列排序后行数据错位,检查排序索引号参数,确认是按照目标列编号填写
【常见问题】
问题 1 excel 排序函数 SORT 支持多列整行联动排序吗
回答 1 excel 排序函数 SORT 支持多列整行联动排序,只需要把整块多列区域作为第一参数,再设置对应的排序索引号,排序之后每一行的配套信息会跟着一起移动,不会出现行列错位。
问题 2 excel 排序函数旧版 Excel 没有 SORT 该怎么做
回答 2 excel 排序函数 SORT 只在新版动态数组 Excel 可用,旧版 Excel 想要实现排序,需要使用 LARGE SMALL 搭配 INDEX MATCH 组合公式,实现等效排序计算。
问题 3 excel 排序函数出现 SPILL 错误是什么原因
回答 3 excel 排序函数出现 SPILL 错误,是因为排序函数自动溢出填充的单元格已经存在其他内容,清空溢出区域里面原有数据,排序函数就可以正常输出排序结果。
问题 4 excel 排序函数 SORT 和 SORTBY 有什么区别
回答 4 excel 排序函数 SORT 是直接对选中的数据区域本身排序,SORTBY 排序函数可以单独指定排序依据数组,排序依据可以独立于原数据区域,多条件复杂排序场景 SORTBY 灵活性更强。
【免责申明】
本内容仅为 Excel 排序函数教学演示,案例数据均为模拟样例,正式报表 考核 统计业务使用时,请自行核对排序规则,确认 Excel 版本是否支持对应函数,计算结果由使用者自行承担相关责任,本文不构成官方规范与业务决策依据。
本文来自作者[温常漫录]投稿,不代表新极网立场,如若转载,请注明出处:https://ent.xjqnpx.com.cn/bkjy/202611/182330.html
评论列表(4条)
我是新极网的签约作者“温常漫录”!
希望本篇文章《excel 排序函数 动态排序实现方法》能对你有所帮助!
本站[新极网]内容主要涵盖:生活百科,小常识,生活小窍门,百科大全
本文概览:在 Excel 里面做动态排序,主流就是 SORT 函数,旧版本 Excel 没有这个函数,需要搭配 LARGE SMALL INDEX MATCH 组合公式实现,核心特点是公式生成排序后的新结果,不会改动原始数据表,这一点和界面上手动点击排序按钮有本质区别,手动排序会直接改写原数据位置,一旦原始数据变动,排序结果不会自动刷新,而排序函数属于动态数组计算,源数据修改之后排序结果会自动同步更新,适合做成绩榜单 销售排行 自动看板这类场景,SORT 函数是 Excel365 以及 2021 版本自带的动态数组函数,语法简洁,支持单列排序 多列联合排序,还可以设置升序降序,旧版 Excel 用户如果不能升级版本,就需要掌握传统组合公式方案,同时还要理解排序函数遇到重复值 空单元格 文本数字混合数据时的处理特性,避免排序结果错位。