如何向输出值添加超链接以将其链接到其来源

如何向输出值添加超链接以将其链接到其来源

我有以下公式,可输出另一张工作表中的值。它正常运行。

=IFERROR(INDEX(Planner!$B$11:$B$164,SMALL(IF(($F$4=Planner!$A$11:$A$330),ROW(Planner!$A$11:$A$308)-MIN(ROW(Planner!$B$11:$B$373))+1,""),ROWS($A$1:A1))),"")

上述公式和函数对我来说是新的,所以我不太清楚如何添加链接。

上面的公式循环遍历数据,我必须检查行中是否有 $F$4,因此添加超链接会更复杂一些。

我如何向输出添加超链接,以便它超链接到源单元格的位置?

我尝试了以下方法。在最初完成公式并输入“Ctrl+Shift+Enter”后,会打开一个文件窗口,就像我尝试打开一个新文件一样。但是,当我单击之后的单元格时,它什么也没做。我有 Excel 2016

=HYPERLINK("#Planner!B"  &  SMALL(IF($F$4=Planner!$A$11:$A$330,ROW(Planner!$A$11:$A$308)-MIN(ROW(Planner!$B$11:$B$373))+1,""),ROWS(Sheet1!$A$1:A1))+10,  IFERROR(INDEX(Planner!$B$11:$B$164,
SMALL(IF(($F$4=Planner!$A$11:$A$330),ROW(Planner!$A$11:$A$308)-MIN(ROW(Planner!$B$11:$B$373))+1,""),ROWS($A$1:A1))),""))

主表

在此处输入图片描述

计划表

在此处输入图片描述

答案1

=HYPERLINK("#"  &  ADDRESS(MATCH(Planner!$F$4,Planner!$A$11:$A$164,0)+10,1,,,"Planner"),  IFERROR(INDEX(Planner!$B$11:$B$164,SMALL(IF((Planner!$F$4=Planner!$A$11:$A$330),ROW(Planner!$A$11:$A$308)-MIN(ROW(Planner!$B$11:$B$373))+1,""),ROWS($A$1:A1))),""))

也许我误解了,但我在问题或评论中看到的任何内容似乎都没有与问题第一行相矛盾,即该工作表位于同一个电子表格中。因此路径和文件名似乎是不必要的。

因此,不要考虑生成值然后对其进行超链接,而是考虑为超链接函数生成一个地址以便在实现超链接操作时采取行动,并使用的HYPERLINK第二个参数,即在单元格中显示您给出的生成值的公式的“友好名称”。

因此,您的值将显示在单元格中,但单击它将激活超链接以转到生成的地址。

说到这,我想您生成查找的奇怪方式是有原因的。我想是因为您在公式中使用了各种范围,这些范围彼此不同,因为它们使用不同的、不同大小的行集,而像这样的查找XLOOKUP会使范围更加一致。我猜。不是问。但是因为给定的公式本质上是一个简单的查找,为了演示解决方案,我MATCH在 A 列范围上使用了一个简单的 F4 来生成行号(结果加上范围开始前未包含的 10 行)和一个简单的 1 作为函数中的列ADDRESS。无论您的独特查找机制的原因是什么,这实际上都适用于您的情况,因为您想要的地址就是我做的简单地址MATCH

这个函数唯一的复杂之处ADDRESS在于,你想要超链接带你去的地方是在工作表上,Planner所以你必须将其指定为ADDRESS的最后一个参数。

总结一下,HYPERLINK将使用ADDRESSandMATCH机制来创建要链接到的地址。它还将生成一个“友好名称”以显示在单元格中,而该名称恰好是您的查找找到的值。因此,您可以显示想要显示的值,但有一个有效的超链接可以带您到源。

笔记: 遗憾的是,您无法在您想要单击超链接的单元格中放置类似的机制,以便返回到您开始的位置。Excel 会将其视为无限循环并退出,并给出错误。但您可以在此目标旁边的单元格中使用此技术(因此在查看目标后很容易单击),这样您就可以返回。此目标旁边的单元格可能与情况完全无关,但这并不重要。它恰好靠近用户的视觉注意力中心(此超链接的目标),因此用户无需费心单击旁边的单元格即可返回到他的起始位置。

相关内容