如何從 Google 試算表,快速取出儲存格內的連結

拿到多筆網頁連結的 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)

可以看到直接顯示公式內容 


5. 使用 REGEXEXTRACT 公式取出儲存格內的連結

=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)` 返回的公式內容中擷取連結。


參考資料

留言