2012-09-20 49 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))