拿到多筆網頁連結的 Excel 檔案,但是需要從中取出連結。如何使用 Google 試算表,快速取出多筆連結的方式。
Photo by Barby Dalbosco on StockSnap |
問題狀況
將 Excel 檔案上傳到 Google 試算表後,點選儲存格,可以看到是包含連結的文字。查看上方儲存格的公式 (函數) 內容,只看到網頁標題「iPhone」而沒有連結。
解決方式
解決方式 1:適用於少筆連結資料的狀況
如果只有一筆資料,在儲存格上按滑鼠右鍵,點選「編輯連結」
可以找到連結文字
如果資料只有幾筆,手動複製貼上似乎還可以忍受。解決方式 2:適用於多筆連結資料的狀況
1. 前往 Google Workspace 安裝 Extract URLs 外掛,可以將連結文字轉換成 HYPERLINK 公式
2. 點選要修改資料的工作表。點選上方選單「擴充功能」--> 「Extract URLs」-->「Extract URLs on sheet」
3. 就會將工作表上的所有連結轉換成 HYPERLINK 公式。原本只有顯示網頁標題,可以看到顯示 HYPERLINK 公式與原始連結。
4. 使用 FORMULATEXT 公式回傳儲存格的公式內容
= FORMULATEXT(B2)
可以看到直接顯示公式內容
=REGEXEXTRACT(FORMULATEXT(B2), "(https?:\/\/[^"&CHAR(34)&"]+)")
注意:REGEXEXTRACT 只適用在 Google 試算表,無法在 Excel 使用。
(1) CHAR(34):這是一個函數,返回的是 ASCII 編碼為 34 的字符,也就是雙引號「"」。因為雙引號是 Google 試算表的特殊符號,直接寫雙引號會造成 #ERROR! 公式剖析錯誤。
(2) (https?:\/\/[^"&CHAR(34)&"]+) 是正則表達式 (Regular expression),用於符合 URL 規則的文字。
- `https?`: 符合 "http" 或 "https"。
- `:\/\/`: 符合 "://"。
- `[^"&CHAR(34)&"]+`: 尋找任何不是雙引號的文字,直到遇到雙引號結束。
因此,這個正則表達式用於從文本中擷取以 "http" 或 "https" 開頭,並在遇到雙引號之前結束的連結。
(3) =REGEXEXTRACT(...):這是一個函數,使用在正則表達式從文本中擷取符合的部分。在這裡,它從 `FORMULATEXT(B2)` 返回的公式內容中擷取連結。
留言
張貼留言