EP03. “Reverse List 反转列表顺序”
🔒 登录后可标记已读- 想把一份名单整个头尾颠倒过来,翻遍 Ribbon 也找不到「反转」按钮——Excel 压根没有这个一键功能
- 但靠排序或函数公式一样能做到,而且不止一种做法
- 辅助列 + 排序是所有版本都能用的老办法;Excel 365/2021 还多一招 SEQUENCE + SORTBY 函数,一条公式动态搞定
- 学完能快速倒转任何列表顺序,原数据要不要跟着动态更新都有对应方案
重点内容
适用版本
方法一(辅助列 + 排序)桌面版通用;方法二(SEQUENCE / SORTBY)需要 Excel 365 或 2021。
方法怎么选
| 方法 | 适合场景 | 备注 |
|---|---|---|
| 辅助列 + 排序 | 任何 Excel 版本,一次性反转不需要动态更新 | 要手动加辅助列、手动排序 |
| SEQUENCE + SORTBY | Excel 365 / 2021,希望原数据变动时结果自动更新 | 一条公式搞定,结果动态溢出 |
方法一:辅助列 + 排序(所有版本通用)
示例:A 列是一份姓名列表(A1:A8),要把顺序整个反过来。
- 在 B1 输入 1,B2 输入 2
- 选中 B1:B2,拖动填充手柄向下拖到 B8,生成 1~8 的编号序列
- 点击 B 列中任意一个数字
- Data → Sort & Filter → 点击 ZA(降序排列)
结果:因为排序时 A、B 两列会一起被重新排列,B 列编号变成降序(8,7,6...1),A 列的姓名顺序也跟着整个反转过来。
[截图:B 列编号 + 降序排序结果]
方法二:SEQUENCE + SORTBY 函数(Excel 365 / 2021)
- 在 B1 输入
=SEQUENCE(8,1,1,1)(参数依次是行数 8、列数 1、起始值 1、步长 1),会自动向下填出 1~8(这个自动溢出多个单元格的特性叫 spilling) - 用 SORTBY 函数把 A 列按 B 列的值降序排:
=SORTBY(A1:A8,SEQUENCE(8,1,1,1),-1),最后的 -1 表示降序 - 处理更长列表时,把公式里写死的 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 |
学完你会
- ✅ 用辅助列 + 排序反转任何版本 Excel 里的列表顺序
- ✅ 用 SEQUENCE + SORTBY 一条公式动态反转列表(Excel 365 / 2021)
- ✅ 根据列表长度是否会变动,判断该用固定方法还是动态公式
常见错误
- 方法一里只对 A 列排序、没有连着 B 列一起排(选取范围时漏掉辅助列),导致姓名顺序没有跟着反转
- SORTBY 的第三个参数(order)忘记写 -1,结果还是升序,没有达到反转效果
- 列表长度变了却忘记同步调整 SEQUENCE 或 ROWS 里的数字,导致反转的范围跟实际数据对不上
Sources
Blog / Website: