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

如何在Excel中创建可跳转至其他工作表列末尾查找值的超链接?

实现点击公式单元格跳转到对应工作表目标位置的两种方案

方案1:无代码实现(无需启用宏,推荐)

直接将你原有公式嵌套入HYPERLINK函数即可,修改后公式如下:

=HYPERLINK("#'"&B3&"'!G"&MATCH(9.99999999999999E+307,INDIRECT("'"&B3&"'!G:G")),LOOKUP(9.99999999999999E+307,INDIRECT("'"&B3&"'!G:G")))

规则说明:

  • # 是Excel超链接指向本工作簿内部位置的固定前缀
  • MATCH(9.99999999999999E+307,INDIRECT("'"&B3&"'!G:G")) 用于计算目标工作表G列最后一个数值对应的行号
  • 单元格显示内容和原LOOKUP公式结果完全一致,不会改变原有展示效果
  • 点击单元格即可直接跳转到对应工作表G列的最后一个数值单元格,和Ctrl+[跳转效果完全一致
  • 如需适配其他列,只需把公式内两处G:G和一处G替换为对应列标识即可,保留单引号可兼容带特殊字符的工作表名称

方案2:VBA实现(适合不想修改原有公式的场景)

如果不需要改动现有计算逻辑,可通过工作表事件实现自动跳转:

  1. 按Alt+F11打开VBA编辑器,在左侧工程窗口双击你的主工作表名称
  2. 粘贴如下代码:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ' 仅处理单个单元格选中的场景
    If Target.CountLarge > 1 Then Exit Sub
    ' 匹配你现有公式的特征,可根据实际公式结构调整匹配规则
    If Target.HasFormula And InStr(Target.Formula, "LOOKUP(9.99999999999999E+307,INDIRECT") > 0 Then
        Dim sheetName As String, targetCol As String
        sheetName = Range("B3").Value
        targetCol = "G"
        ' 计算目标列最后一个非空行号
        Dim lastRow As Long
        lastRow = Sheets(sheetName).Cells(Rows.Count, targetCol).End(xlUp).Row
        ' 执行跳转
        ThisWorkbook.Sheets(sheetName).Activate
        Sheets(sheetName).Cells(lastRow, targetCol).Select
    End If
End Sub
  1. 将文件保存为xlsm启用宏格式即可,后续选中对应公式单元格会自动完成跳转。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 21:45:07