在一个vlookup函数中使用超链接

非常新的这一点,只有pipe理的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),但我得到错误“无法获取指定的文件”。

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

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

使用Hyperlink链接到同一工作簿中的其他工作表,可以用#replace对工作簿名称的引用。

例如=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)) 

好的…这看起来很疯狂。 这应该适合你。 我在我的机器上testing它,它的工作原理:

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

返回一个string[currentFileName],这是工作簿中超链接所需的格式。

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

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

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

返回find的行的地址,以及sheet2中的列(3,from your 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)

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

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

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