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

如何获取Excel工作表中排序列的列名或列号?

获取Excel当前排序列的名称/编号的方法

Excel没有直接的内置公式能实现这个需求——排序的规则信息属于工作表的底层属性,并非单元格可直接引用的常规数据。不过可以通过自定义VBA函数来达成目标:

  1. 打开VBA编辑器:按下Alt + F11组合键
  2. 插入模块:在左侧工程窗口右键点击当前工作簿,选择「插入」→「模块」
  3. 粘贴以下代码:
Function GetSortColumn() As String
    Dim ws As Worksheet
    Set ws = ActiveSheet
    
    ' 检查是否设置了排序
    If ws.Sort.SortFields.Count = 0 Then
        GetSortColumn = "未设置排序"
        Exit Function
    End If
    
    Dim sortCol As Range
    Set sortCol = ws.Sort.SortFields(1).Key
    
    ' 返回列名称(如A、B、AA等)
    GetSortColumn = Split(sortCol.Address, "$")(1)
    ' 若要返回列编号(如1、2、27等),替换为下面这行:
    ' GetSortColumn = CStr(sortCol.Column)
End Function

使用方法

回到Excel工作表,在任意空白单元格输入公式 =GetSortColumn(),按下回车即可得到结果:

  • 若工作表已排序,返回第一优先级排序列的名称(或编号,取决于代码设置)
  • 若未设置排序,返回「未设置排序」

补充说明

  • 该函数仅针对当前激活的工作表生效
  • 若设置了多列排序,代码默认返回第一排序字段对应的列,如需获取全部排序列,可修改代码遍历SortFields集合

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 22:39:52