通过公式Excel动态超链接

时间:2011-01-04 18:36:28

标签: excel hyperlink excel-2003 worksheet-function

我正在尝试创建从一个工作表到另一个工作表的超链接。工作表很大,并且有很多超链接可以放到其他工作表的所有位置,因此我尝试使用可以复制/粘贴的公式来执行此操作。

这就是我所拥有的:

=HYPERLINK(CELL("address",INDEX('Test Results'!A:A,MATCH("TestCase-001",'Test Results'!A:A,0))),"TestCase-001")

它评估的URI是:'[Test Results 1.xls]Test Results'!$A$17A17工作表上的Test Results确实是要链接到的正确单元格。问题是,当我单击超链接,所以我只能测试案例详细信息,我收到错误说“无法打开指定的文件”,我不知道为什么,因为URI看起来正确。有什么想法可以帮我解决这个问题吗?

使用Excel 2003。

2 个答案:

答案 0 :(得分:6)

CELL(“地址”,...函数以“[工作簿]工作表”格式返回!单元格(正如您所说)

然而,HYPERLINK期望[工作簿]'工作表'!单元格(注意'标记的位置),其中工作表名称包含空格。

最简单的答案是从工作表名称中删除空格......

答案 1 :(得分:0)

  

CELL("地址",...函数返回格式' [工作簿]工作表'!单元格(如您所说)

     

但是,HYPERLINK希望[工作簿]'工作表'!单元格(请注意'标记的位置),其中工作表名称包含空格。

     

最简单的答案是从工作表名称中删除空格......

弄清楚为什么这两个功能不能协同工作是一些很棒的侦探工作!

有了这些知识,我实际上找到了一种方法来强制将CELL函数的响应格式化为HYPERLINK函数期望/要求的格式:

    =HYPERLINK("[Workbook.xlsx]'Worksheet'!"&CELL("address", A10), "LinkLabel")

如果没有完整的引号,我的办公室版本(2010)会一直截断工作簿和工作表名称,因为它们指的是编写代码本身的相同工作表。