匹配數據的時候保留超連結?VLOOKUP的這個玩法你大概沒見過!

VLOOKUP這個用的很多吧,但是如果匹配的內容是個超鏈接呢?

比如要匹配下面幾個人的喜好類型,但是原始數據其實有網址超鏈接的,也就是他們經常逛的網址。

匹配數據的時候保留超鏈接?VLOOKUP的這個玩法你大概沒見過!


如果直接做的話,只會把對應的文字匹配過來,超鏈接就沒有了。超鏈接設置好默認是藍色帶下劃線的,這裡匹配後的不是這種格式,沒有超鏈接。

匹配數據的時候保留超鏈接?VLOOKUP的這個玩法你大概沒見過!


那麼怎麼可以把超鏈接加進去呢?

首先我們看看如果通過函數怎麼設置超鏈接,手動我就不說了啊。

匹配數據的時候保留超鏈接?VLOOKUP的這個玩法你大概沒見過!


這裡用到了一個叫做HYPERLINK的函數,就和手動設置超鏈接一樣,第一參數是超鏈接的目的地,第二參數是單元格顯示的文字內容,如果忽略就是原本的網址或者其他路徑的文本。

現在用VLOOKUP得到的其實是顯示的內容,那麼如何得到原始數據裡每個顯示的對應的超鏈接網址呢?

這裡沒有直接的函數可以獲取,只能寫個自定義函數了。

打開VBA編輯器,插入一個模塊,然後寫上下面這個自定義函數,非常簡單。

Function GetUrl(Target As Range)

GetUrl = Target.Hyperlinks(1).Address

EndFunction

匹配數據的時候保留超鏈接?VLOOKUP的這個玩法你大概沒見過!

這樣在工作表就能獲取到單元格對應的超鏈接網址了。

匹配數據的時候保留超鏈接?VLOOKUP的這個玩法你大概沒見過!

現在問題就簡單了,將以上的結果結合一下。

匹配數據的時候保留超鏈接?VLOOKUP的這個玩法你大概沒見過!

好像看起來挺複雜,其實就是寫了兩個VLOOKUP分別匹配對應的超鏈接網址和內容,然後再組成成了一個新的超鏈接放在了F列。

當然你可以把C列這個輔助列刪掉,怎麼樣,來試試寫一個更多嵌套的公式?

或者你還有什麼其他的好辦法麼?是不是覺得這種玩法以前沒見過呢!



分享到:


相關文章: