在vlookup函数中使用超链接

时间:2012-09-20 10:20:46

标签: excel excel-formula vlookup

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

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

3 个答案:

答案 0 :(得分: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)

答案 1 :(得分: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))

答案 2 :(得分:1)

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

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

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