我有一个包含大约 40 个工作表的 Excel 文件,在第一张工作表上,我列出了所有其他工作表的名称(因此有 39 个名称 - 来自B4:B42
)。
在第一张工作表中,在 39 个姓名右侧的单元格中,我想创建超链接,这样当我单击其中一个链接(或包含链接的单元格)时,它会自动将我带到该单元格左侧姓名所在的工作表。所以现在,我对第一个姓名的超链接功能是:
=HYPERLINK("#'name_of_the_worksheet'!A1";B4)
它可以工作,但在name_of_the_worksheet
函数部分,我必须逐一输入所有 39 个名称,这很费时间。有没有更简单的方法?
(我试过了=HYPERLINK("#'B4'!A1";B4)
,但是没用。)
答案1
使用函数CONCATENATE()
连接(连接)你的字符串:
=HYPERLINK(CONCATENATE("#", B4, "!A1"), B4)
或者 — 相同的 — 连接运算符&
:
=HYPERLINK("#" & B4 & "!A1", B4)
(将此公式放入单元格C4
,然后当然将其复制到剩余的块中C5:C42
。)
另一种解决方案:
=HYPERLINK(CONCATENATE("#", ADDRESS(1, 1, , , B4)), B4)
或者 — 使用运算符&
代替CONCATENATE()
函数 —
=HYPERLINK("#" & ADDRESS(1, 1, , , B4), B4)
替代解决方案的解释:
假设你的单元格内容B4
是Sheet2
。
函数ADDRESS()
形式
ADDRESS(1, 1, , , B4)
(省略第 3 和第 4 个参数,因为它们的默认值是可以的)
返回结果字符串"Sheet2!A1"
它是单元格中给出的工作表的行1
和列1
(即单元格)的单元格地址的字符串(即字符串)。A1
B4
Sheet2
然后函数CONCATENATE
形式为
CONCATENATE("#", ADDRESS(1,1,,,B4))
将符号置于#
其前面。
答案2
我注意到,如果工作表名称中有空格,则会显示错误,但如果您确保使用下划线,它将完美运行。
答案3
右击要链接的单元格。选择菜单底部的“链接”。选择左侧栏中的“此文档中的位置”。选择窗口中心的页面。