Microsoft Lab
全部软件
Excel排序(Sort)约 4 分钟

Reverse List 反转列表顺序

重点内容


适用版本

方法一(辅助列 + 排序)桌面版通用;方法二(SEQUENCE / SORTBY)需要 Excel 365 或 2021。


方法怎么选

方法适合场景备注
辅助列 + 排序任何 Excel 版本,一次性反转不需要动态更新要手动加辅助列、手动排序
SEQUENCE + SORTBYExcel 365 / 2021,希望原数据变动时结果自动更新一条公式搞定,结果动态溢出

方法一:辅助列 + 排序(所有版本通用)

示例:A 列是一份姓名列表(A1:A8),要把顺序整个反过来。

  1. 在 B1 输入 1,B2 输入 2
  2. 选中 B1:B2,拖动填充手柄向下拖到 B8,生成 1~8 的编号序列
  3. 点击 B 列中任意一个数字
  4. Data›Sort & Filter›点击 ZA(降序排列)

结果:因为排序时 A、B 两列会一起被重新排列,B 列编号变成降序(8,7,6...1),A 列的姓名顺序也跟着整个反转过来。

📷 画面提示

B 列编号 + 降序排序结果


方法二:SEQUENCE + SORTBY 函数(Excel 365 / 2021)

  1. 在 B1 输入 =SEQUENCE(8,1,1,1)(参数依次是行数 8、列数 1、起始值 1、步长 1),会自动向下填出 1~8(这个自动溢出多个单元格的特性叫 spilling)
  2. 用 SORTBY 函数把 A 列按 B 列的值降序排:=SORTBY(A1:A8,SEQUENCE(8,1,1,1),-1),最后的 -1 表示降序
  3. 处理更长列表时,把公式里写死的 8 换成实际行数,或用 ROWS(A1:A8) 自动算出行数,避免手动数

函数速查

函数语法用途例子
SEQUENCE=SEQUENCE(rows, [columns], [start], [step])生成等差数字数组=SEQUENCE(8,1,1,1) → 1,2,3...8
SORTBY=SORTBY(array, by_array, [order])按对应范围的值排序=SORTBY(A1:A8, SEQUENCE(8,1,1,1), -1)
ROWS=ROWS(array)返回范围内的行数=ROWS(A1:A8) → 8

学完你会

常见错误

  • 方法一里只对 A 列排序、没有连着 B 列一起排(选取范围时漏掉辅助列),导致姓名顺序没有跟着反转
  • SORTBY 的第三个参数(order)忘记写 -1,结果还是升序,没有达到反转效果
  • 列表长度变了却忘记同步调整 SEQUENCE 或 ROWS 里的数字,导致反转的范围跟实际数据对不上

Sources

Blog / Website:

  1. Reverse List
只记在你的浏览器里,换设备不会同步。