2012-09-20 50 views
1

对此很新,只管理vlookup,无论如何,我有一个包含两个表的工作簿。在Sheet1上,我有以下公式(= VLOOKUP(CZ54,Sheet2!$ A $ 1:$ Y $ 176,3,FALSE)),它显示Sheet2中的ID号。这工作正常,但我如何才能出现超链接,所以一旦点击它去从Sheet2 vloopkup特定单元格?在vlookup函数中使用超链接

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

我是,如果感激。任何人都可以点我的方向右击,谢谢

回答

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

返回行发现的地址,和列(3,从你的VLOOKUP)Sheet 2中。

所以组合:

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列开始,则需要使用a偏移发送到ADDRESS的值+(起始行或列 - 1)。例如:Match(CZ54,$A$2:$A$176)+1而不是MATCH(CZ54,Sheet2!$A$1:$A$176)

+0

哇谢谢你,我已经通过这个去实施它,奇怪的是,它指向错误行Sheet2中,它可能如果CZ54是从Sheet3 CZ54派生的查找信息,那么公式= VLOOKUP(T54,Sheet3!$ B $ 1:$ O $ 5046,10,FALSE),这会使事情变得复杂......也许这很有趣...... – Rg786

0

HYPERLINK正在寻找文本,所以如果你是做类似

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

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

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