在vlookup函数中使用超链接

问题描述 投票:1回答:3

这是非常新的,只是管理了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)但我收到错误“无法获取指定文件”。

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

excel excel-formula vlookup
3个回答
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,然后是voilà。

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


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))

1
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.