Google 試算表的欄位值的前後加上雙引號

使用 Google 試算表產生表格資料,因為匯入的網站要求文字類型資料需要前後加上雙引號。透過CHAR(34) 或「規則運算式」(Regular Expression) 可以快速地批次處理多個欄位值,而不用悲情地逐一手動修改。

規則運算式是快速處理文字的工具

解決方法

狀況1:儲存格包含公式

因為 Excel 使用雙引號作為公式的開始與結束符號,如果要在公式顯示雙引號,有兩種作法
(1) 輸入兩次的雙引號:

例如下圖 C2 儲存格使用的公式
=""""&A2&""" "&B2



(2) 使用 CHAR(34)
我個人偏好使用 CHAR 函數,可以避免使用重複雙引號,比較方便除錯。

如果要將 A2 儲存格欄位值的前後加上雙引號則是
CHAR(34) & A2 & CHAR(34)

下圖 C2 儲存格使用的公式
= CHAR(34) & A2 & CHAR(34) & " " &B2



狀況2:儲存格內沒有公式


1. 選取要替換文字的區域


2. 上方選單 【編輯】--> 【尋找及取代】

3. 尋找輸入「^(.*)$」、取代為輸入「"$1"」,記得勾選「使用規則運算式進行搜尋」後,按「全部取代」完成取代。

語法說明

(1) . 代表任意一個文字 (character),通常不包含換行符號,但是 Google 試算表支援

(2) * 代表比對前一個文字出現 0 次或多次以上。因此 .* 代表任意一個文字出現 0 次或多次以上
(3) (.*) 欄位值包含多個文字,加上括號編成一群方便後續處理
(4) ^(.*)$ 中的 ^ 符號代表欄位值開始位置、 $ 符號代表欄位值結束位置
一般文字編輯器軟體不需要加上開始位置、結束位置的條件,但是 Google 試算表的取代結果發生錯誤,所以需要再加上這個搜尋條件。

(5) "$1" 中的 $1 代表符合搜尋條件 (.*) 的欄位值。因為目的是欄位值的前後,要加上雙引號,所以 $1 前後加上 " 符號

4. 可以看到欄位值的前後,已經加上雙引號

其他的解決方法

如果確定欄位值不會有英文,則可以尋找輸入「([^a-zA-Z]+)」、取代為輸入「"$1"」,記得勾選「使用規則運算式進行搜尋」後,按「全部取代」完成取代。

無效的嘗試

夥伴輸入「[[:word:]]」卻沒有作用。RE2 regular expression syntax reference 文件說明
[[:word:]] word characters (== [0-9A-Za-z_])
意思是語法 [[:word:]] 對應到數字 0 ~ 9、大寫英文 A ~ Z、小寫英文 a ~ z 以及底線 _ 等文字。所以在以中文為主的文字資料,搜尋語法並不適用。

相關資料

相關工具

圖片素材

留言