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

如何用Excel公式按表头名、数值从小到大查找并返回归属项?

不用宏实现Excel数值排序并返回对应项目名称的方案

完全可以不用宏或VBA代码实现这个需求,以下分两种Excel版本给出具体公式:

适用于Excel 365/2021及以上版本(支持动态数组)

如果你的Excel版本支持动态数组函数,直接用SORTBY函数就能一步完成:
假设A列是项目名称,B列是对应数值(数据范围为A2:A10和B2:B10),在空白单元格输入:

=SORTBY(A2:A10, B2:B10, -1)
  • 参数说明:
    • A2:A10:要返回的项目名称区域
    • B2:B10:作为排序依据的数值区域
    • -1:表示按数值降序排列,改为1则是升序
  • 公式输入后会自动溢出所有排序后的名称,无需手动下拉填充。

适用于Excel 2019及更早版本(不支持动态数组)

需要结合INDEX、MATCH和LARGE(或SMALL)函数实现:

降序排列(无重复数值)

在空白列的第一个单元格(比如C2)输入:

=INDEX(A2:A10, MATCH(LARGE(B2:B10, ROW(A1)), B2:B10, 0))

输入完成后下拉填充公式,即可得到按数值降序排列的项目名称。

降序排列(处理重复数值)

如果存在相同数值,上面的公式会重复返回第一个匹配的名称,可改用以下数组公式(输入后按Ctrl+Shift+Enter确认,365版本无需此操作):

=INDEX(A2:A10, MATCH(1, (B2:B10=LARGE(B2:B10, ROW(A1)))*(COUNTIF(C$1:C1, A2:A10)=0), 0))

这个公式会跳过已经返回过的名称,确保每个项目只出现一次。

升序排列

把上述公式中的LARGE替换为SMALL即可实现按数值升序排列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 19:07:07