Excel超链接到特定单元格

14
我需要将一个电子表格中的单元格与另一个电子表格中的相应单元格进行超链接。 例如,sheet1中的C7有一个超链接,可将您带到sheet 2中的C7。 我需要对一个相当大的电子表格执行此操作,并且每个超链接都必须不同。 是否有一种批量操作的方法,而不必针对每个单元格分别设置超链接? (使用MS Office 2010)

你知道VBA吗?另外,它是否总是一对一的关系,可以将您带到另一个工作表上的确切单元格? - Scott Holtzman
3个回答

26

您可以使用以下Excel公式:(将其粘贴到单元格C7中)

=HYPERLINK("[Book1.xlsx]Sheet2!"&CELL("address",C7),"click")

注意事项:

  • [Book1.xlsx]必须是工作簿的名称
  • Sheet2必须是你要创建超链接的工作表的名称

实质上,它使用上述两个作为链接的前缀,然后使用当前单元格的地址(例如您的示例中的c7)来完成链接。

将上述示例粘贴到单元格C7中后,可以向下拖动以基于公式单元格的地址生成链接。

更新:(根据chris的建议)

=HYPERLINK("#'Sheet2'!"&CELL("address"),"click") 

这是一个不错的公式。如果您的单元格中已经有值,您可以用那些值或公式替换“click”以获取这些值。 - Scott Holtzman
8
公式不错,但可以改进。由于OP想在同一工作簿中链接,将[Book Name]替换为#。在对CELL调用中省略C7会引用公式所在的单元格。如果链接的工作表名称包含空格或其他特殊字符,则需要将工作表名称放在 ' '中。因此使用=HYPERLINK("#'Sheet2'!"&CELL("address"),"click") - chris neilsen
1
对我来说这个语法是有效的:=HYPERLINK("#'Sheet2'!C7","点击") - panoet
1
这个在我的经验中是有效的: =HYPERLINK("#"&CELL("address",'Sheet2'!C7),"Click")。更好的原因是它避免了硬编码工作表名称(如果你重新命名了工作表,什么也不会破坏)。 - guidupuy
@guidupuy 它起作用了。非常感谢。 - thelightings

11
三年后,我会进一步使用ADDRESS(row,column)来构建单元格地址,而不是使用CELL()这是一个易变函数。如果你正在构建一个大型电子表格,并且使用易变函数超过几次,你会注意到性能下降。
ADDRESS()不是易变的,所以它不会一直触发重新计算,而且使用起来更加灵活。
=HYPERLINK("#'Sheet2'!"&ADDRESS(ROW(),COLUMN()),"click")

将ROW()和COLUMN()替换为您需要的任何数字。

例如,对于Sheet2中的特定单元格,请使用:

=HYPERLINK("#'Sheet2'!"&ADDRESS(ROW(Sheet2!C7),COLUMN(Sheet2!C7)),"click")

如果你想要Sheet2中的第三列,并且相对地向下移动1行,使用以下方法:

=HYPERLINK("#'Sheet2'!"&ADDRESS(ROW()+1,3),"click")

2
进一步说,是否可以将链接应用于单元格内部分文本?我有一些充满解释性文本的单元格,并且想要从一个星号创建超链接,该星号类似于在文档中点击脚注跳转到另一个单元格。在Excel 2013中是否可能实现? - Michael Sheaver

9

抱歉有些吹毛求疵,它也可以像这样看起来:

" - starting quote
# - local book (spreadsheet)
'Sheet2' - name of sheet you are going to (has to be in single quotes)
!C7 - cell in the other sheet you are trying to go to
"- ending quote
, - separating comma used in the hyperlink syntax
"click" - link text to appear in cell

最终函数语法:

=HYPERLINK("#'Sheet2'!C7","click")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接