好吧......这看起来疯狂这应该为你工作我测试了我的机器上和它的作品:。
=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)
。
哇谢谢你,我已经通过这个去实施它,奇怪的是,它指向错误行Sheet2中,它可能如果CZ54是从Sheet3 CZ54派生的查找信息,那么公式= VLOOKUP(T54,Sheet3!$ B $ 1:$ O $ 5046,10,FALSE),这会使事情变得复杂......也许这很有趣...... – Rg786