You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

旧版Excel(2019/2016等)中Filter和Sort函数的替代方案

适配Excel 2019/2016的列表合并+排序替代方案

针对Excel 365/2021中用Filter+Sort实现的双列表合并、数值降序排序需求,以下是适配旧版本的解决方案:

方案1:数组公式实现动态合并与排序

适合需要动态更新结果的场景,需使用数组公式(输入后按Ctrl+Shift+Enter确认,Excel 2019及更早版本要求)。

假设两个数据列表结构如下:

  • 列表1:A列(名称)、B列(数值),范围A2:B10
  • 列表2:D列(名称)、E列(数值),范围D2:E10

提取降序排列的数值(G2单元格)

=IFERROR(LARGE(IF(ROW($A$1:$A$17)<=ROWS($B$2:$B$10),$B$2:$B$10,$E$2:$E$10),ROW(A1)),"")

向下填充公式至出现空值,即可得到合并后降序排列的数值列。

提取对应名称(F2单元格)

=IFERROR(INDEX(IF(ROW($A$1:$A$17)<=ROWS($B$2:$B$10),$A$2:$A$10,$D$2:$D$10),MATCH(G2,IF(ROW($A$1:$A$17)<=ROWS($B$2:$B$10),$B$2:$B$10,$E$2:$E$10),0)),"")

同样向下填充,即可匹配得到对应名称。

公式说明

  • 用IF函数构建合并后的虚拟数值/名称数组,区分两个列表的范围
  • LARGE函数按降序提取数值,ROW(A1)控制提取的序列位置
  • INDEX+MATCH组合匹配数值对应的名称,IFERROR处理超出数据范围的空值
  • 若两个列表行数不同,需调整ROW($A$1:$A$17)的范围为ROW($A$1:$A$[总行数]),总行数为两个列表行数之和

方案2:Power Query实现可视化合并排序

适合数据量较大或需要频繁更新的场景,Excel 2016及以上内置该功能,2010/2013需安装「Power Query」插件:

  1. 选中第一个列表区域,点击「数据」选项卡 → 「从表格/区域」,导入至Power Query编辑器
  2. 重复步骤1导入第二个列表
  3. 在编辑器中点击「主页」→ 「追加查询」→ 「追加两个表」,完成列表合并
  4. 选中数值列,点击工具栏的「排序」按钮选择「降序」
  5. 点击「关闭并上载」,将结果加载至工作表;后续更新数据时,右键结果表选择「刷新」即可同步

方案3:手动合并排序(一次性操作)

若无需动态更新,直接手动处理即可:

  1. 复制第二个列表的所有内容,粘贴到第一个列表的末尾
  2. 选中合并后的完整数据区域,点击「数据」选项卡 → 「排序」,选择数值列作为关键字,排序方式设为「降序」

内容的提问来源于stack exchange,提问作者Daniel Leoba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 10:50:15