2

对此非常新,只管理了 vlookup,无论如何,我有一个包含两个工作表的工作簿。在 Sheet1 上,我有以下公式(=VLOOKUP(CZ54,Sheet2!$A$1:$Y$176,3,FALSE)),它显示来自 Sheet2 的 ID 号。这可以正常工作,但是我如何才能显示为超链接,所以一旦单击它就会转到它从 Sheet2 上的 vloopkup 获得的特定单元格?

我已经尝试过=HYPERLINK(VLOOKUP(CZ54,Sheet2!$A$1:$Y$176,3,FALSE)但我收到错误“无法获取指定的文件”。

如果有人能指出我正确的方向,我将不胜感激,谢谢。

4

3 回答 3

2

这是丹尼尔公式的更紧凑版本。

使用Hyperlink链接到同一工作簿中的另一个工作表,您可以将工作簿名称的引用替换为#.

例如=HYPERLINK("#Sheet2!$C$10","Click Here")

所以,应用这个你得到

=HYPERLINK("#"&ADDRESS(MATCH(E21,Sheet2!$A$1:$A$176),3,,,"sheet2"),VLOOKUP(E21,Sheet2!$A$1:$Y$176,3,FALSE))
于 2012-09-21T05:26:45.960 回答
2

好吧……这看起来很疯狂。这应该适合你。我在我的机器上对其进行了测试,它可以工作:

=HYPERLINK(MID(CELL("filename"),SEARCH("[",CELL("filename")), SEARCH("]",CELL("filename"))-SEARCH("[",CELL("filename"))+1) & ADDRESS(MATCH(CZ54,Sheet2!$A$1:$A$176),3,,,"sheet2"),VLOOKUP(CZ54,Sheet2!$A$1:$Y$176,3,FALSE))

让我们稍微分解一下,以解释一些部分:

MID(CELL("filename"),SEARCH("[",CELL("filename")), SEARCH("]",CELL("filename"))-SEARCH("[",CELL("filename"))+1)

返回一个字符串 [currentFileName],它是工作簿中超链接所需的格式。

MATCH(CZ54,Sheet2!$A$1:$A$176),3,,,"sheet2")

返回 VLookup 范围第一列中 CZ54 值的行号。

ADDRESS(MATCH(CZ54,Sheet2!$A$1:$A$176),3,,,"sheet2")

返回找到的行的地址,以及 sheet2 中的列(3,来自您的 vlookup)。

如此结合:

MID(CELL("filename"),SEARCH("[",CELL("filename")), SEARCH("]",CELL("filename"))-SEARCH("[",CELL("filename"))+1) & ADDRESS(MATCH(CZ54,Sheet2!$A$1:$A$176),3,,,"sheet2")

返回超链接的实际地址,即HYPERLINK公式的第一个参数。

第二个参数是您提供的 Vlookup,瞧。

编辑:如果有人尝试将其用于类似问题,则会发出警告,如果 Match 或 Vlookup 中使用的 lookup_array 不是分别从第 1 行或第 1 列开始,您将需要用 +( 起始行偏移发送到 ADDRESS 的值或列 - 1)。示例:Match(CZ54,$A$2:$A$176)+1而不是MATCH(CZ54,Sheet2!$A$1:$A$176).

于 2012-09-20T12:44:14.057 回答
1

HYPERLINK 正在寻找文本,所以如果你要做类似的事情

=HYPERLINK(left(VLOOKUP(CZ54,Sheet2!$A$1:$Y$176,3,FALSE),255))

它应该返回一个可用的超链接

于 2012-09-20T21:02:28.560 回答