KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

Excel 將拆分為文本和數字新增至儲存格的指定位置

作者Sun修改日期

在 Excel 中,向儲存格新增文字或數字是極為常見的操作,例如在姓名之間加入空格、為儲存格內容添加前置詞或後置詞,或在社會安全號碼中插入連字號等。本教學將涵蓋 Excel 中幾乎所有常見的新增情境,並提供對應方法供您參考。

本教學的導覽目錄

1. 在每個儲存格開頭新增內容

1.1 使用公式在儲存格開頭新增內容

1.2 使用快速填滿在儲存格開頭新增內容

1.3 使用 VBA 程式碼在儲存格開頭新增內容

2. 在每個儲存格結尾新增內容

2.1 使用公式在儲存格結尾新增內容

2.2 使用快速填滿在儲存格結尾新增內容

2.3 使用 VBA 程式碼在儲存格結尾新增內容

3. 在字串中間新增內容

3.1 使用公式在字串第 n 個字元後新增內容

3.2 使用快速填滿在字串第 n 個字元後新增內容

3.3 使用 VBA 程式碼在字串第 n 個字元後新增內容

4. 使用 Kutools for Excel 新增添加文本(依需求在特定位置新增字元)

4.1 添加文本第一個字符前或最後一個字符後

4.2 在指定位置新增添加文本

4.3 添加文本工具的延伸功能

5. 在第一個特定文字前後新增添加文本

5.1 在第一個特定文字前新增添加文本

5.2 在第一個特定文字後新增添加文本

6. 在每個字詞前後新增字元

6.1 使用公式在每個字詞前後新增字元

6.2 使用查找和替換在每個字詞前後新增字元

6.3 使用 VBA 程式碼在每個字詞前後新增字元

7. 在字元之間新增添加文本

7.1 使用自訂函數在每個字元/數字之間新增添加文本

7.2 使用公式在每個數字之間新增空格

8. 在每個字詞之間新增字元

9. 在拆分為文本和數字之間新增字元

9.1 使用公式在拆分為文本和數字之間新增字元

9.2 使用快速填滿在拆分為文本和數字之間新增字元

10. 為電話號碼/社會安全號碼新增連字號

10.1 使用公式為數字新增連字號

10.2 使用設定儲存格格式為數字新增連字號

10.3 使用 Kutools for Excel 的添加文本功能為電話號碼新增連字號

11. 為儲存格新增前置零以固定長度

11.1 使用設定儲存格格式功能為儲存格新增前置零

11.2 為公式新增前置零

12. 為數字新增尾端零以固定長度

13. 為文字新增尾端空格

14. 在文字或數字前後新增引號/括號

14.1 使用設定儲存格格式在文字或數字前後新增引號/括號

14.2 使用公式在文字或數字前後新增引號/括號

14.3 使用 VBA 在文字或數字前後新增引號/括號

15. 直接將添加文本新增至公式結果

備註

在本教學中,我準備了幾個範例來說明這些方法。當您使用下列 VBA 程式碼或公式時,可依需求調整參照;您也可以直接下載範例檔案,立即體驗這些方法的實際應用。

文件範例按一下即可下載範例檔案


1. 在每個儲存格的開頭新增

此部分列出以下圖所示,在每個儲存格開頭新增字元的不同方法:
在每個儲存格開頭新增文字

1.1 使用公式在儲存格開頭新增


您可選擇以下三種公式之一:

公式 1 串接運算子 “&“

透過「&」字元串接多段文字。

"文字“&儲存格

公式 2 CONCATENATE 函數

CONCATENATE 函數用於將文字串接在一起。

CONCATENATE("文字“,儲存格)

公式 3 CONCAT 函數

此為僅適用於 Excel 2019、Office 365 及 Excel Online 的全新函數。

CONCAT("文字“,儲存格)

在通用公式中:「儲存格」是指您要新增前置詞的文字所在儲存格的參照,「文字」則是要新增至該儲存格的內容。

以上述範例為例,您可在編輯欄中使用下列公式:

“&“

=$E$3&B3="Iphone"&B3

CONCATENATE 函數

=CONCATENATE($E$3,B3)=CONCATENATE("Iphone",B3)

CONCAT 函數

=CONCAT($E$3,B3)=CONCAT("Iphone",B3)

按下 Enter 鍵取得結果後,向下拖曳自動填滿控制點,即可將公式套用至 B3:B6 範圍中的每個儲存格。
使用公式在儲存格開頭新增文字

 注意:文字必須以雙引號括住,否則公式會傳回錯誤值 #NAME? 錯誤。若將儲存格參照應用於文字,請務必使用絕對參照,可按 F4 鍵將相對參照變更為絕對參照。

1.2 使用快速填滿在儲存格開頭新增


若您使用 Excel 2013 或更新版本,強大的新功能快速填滿可根據您上方儲存格的內容自動填滿資料。

在第一筆原始資料旁的儲存格中,手動輸入帶有前置詞的第一筆資料,如下圖所示:
手動輸入第一筆資料並加上前置文字

接著在下方儲存格輸入第二筆帶有前置詞的資料,輸入時將顯示灰色預覽清單,此時按下 Enter 鍵,即可透過快速填滿功能自動完成資料填入。
按下 Enter 鍵以啟用快速填滿自動填入資料按下 Enter 鍵以啟用快速填滿自動填入資料

若未顯示預覽清單,請前往 【首頁】 索引標籤,然後按一下填滿 > 快速填滿手動執行。

1.3 使用 VBA 程式碼在儲存格開頭新增文字


如果您熟悉 VBA 程式碼,這裡提供一段可在指定範圍內每個儲存格開頭添加文字的 VBA 程式碼。

1. 選取您要新增前置文字的儲存格範圍,然後按下 Alt+F11 鍵,開啟 Microsoft Visual Basic for Applications 視窗。

2. 在彈出的視窗中,點擊插入> 模組,即可新增一個空白模組。
點選「插入 > 模組」以插入新的空白模組

3. 將下方的 VBA 程式碼複製並貼上到新模組中。

VBA:在儲存格開頭新增文字

Sub AppendToExistingOnLeft()
Dim c As Range
For Each c In Selection
If c.Value <> "" Then c.Value = "Iphone" & c.Value
Next
End Sub
注意:在程式碼指令稿中,Iphone 是您要在選取儲存格開頭新增的文字,請依需求修改。

將程式碼複製並貼上至模組中

4. 按下 F5 鍵,或點擊視窗中的執行按鈕執行按鈕,立即執行此 VBA 程式碼!

現在,所有選取的儲存格開頭都已成功新增「iPhone」文字。
所有選取的儲存格皆已在開頭加入指定文字


2. 在每個儲存格的結尾處新增

除了在儲存格開頭添加文字外,在儲存格結尾加入文字也相當常見。以下方截圖為例,我們將示範如何在每個儲存格末尾新增單位:
在每個儲存格結尾新增文字

2.1 使用公式在儲存格結尾新增文字


您可選擇以下三種公式之一:

公式 1 串接運算子 “&“

透過「&」字元串接多段文字。

儲存格&“文字“

公式 2 CONCATENATE 函數

CONCATENATE 函數用於將文字串接在一起。

CONCATENATE(儲存格,“文字“)

公式 3 CONCAT 函數

此為 Excel 2019、Office 365 與 Excel Online 獨家提供的全新函數。

CONCAT(儲存格,“文字“)

在通用公式中:cell 指的是您要新增後綴文字的儲存格參照,text 則是要附加至該儲存格的文字。

以上述範例為例,您可以在編輯欄中使用下列公式:

“&“

=B3&$E$3=B3&"Kg"

CONCATENATE 函數

=CONCATENATE(B3, $E$3)=CONCATENATE(B3, "Kg")

CONCAT 函數

=CONCAT(B3, $E$3)=CONCAT(B3, "Kg")

按下 Enter 鍵取得結果,再向下拖曳自動填滿控制點,即可將結果套用至 B3:B6 範圍內每個儲存格的結尾。
使用公式在儲存格結尾新增文字

 注意文字必須以雙引號括住,否則公式會傳回 #NAME? 錯誤。若將儲存格參照用於文字,請務必使用絕對參照;按下 F4 鍵即可將相對參照快速轉換為絕對參照。

2.2 使用快速填滿在儲存格結尾新增文字


如果您使用的是 Excel 2013 或更新版本,強大的新功能快速填滿可根據您上方輸入的儲存格內容,自動填滿下方儲存格!

選取緊鄰第一筆原始資料的儲存格,手動輸入第一筆帶有後綴文字的資料,如下圖所示:
手動輸入第一筆資料並加上後置文字

接著,在第一個結果下方的儲存格中,點擊資料 > 快速填滿,即可自動填滿所有下方的儲存格(包含作用中儲存格)!
包含作用中儲存格在內的所有下方儲存格將自動填滿
包含作用中儲存格在內的所有下方儲存格將自動填滿

2.3 使用 VBA 程式碼在儲存格結尾新增文字


這裡提供一段 VBA 程式碼,能為指定範圍內每個儲存格的內容尾端添加文字。

1. 選取您要新增後綴文字的儲存格範圍,然後按下 Alt+F11 鍵,即可開啟 Microsoft Visual Basic for Applications 視窗。

2. 接著,在彈出的視窗中,按一下插入 模組,即可插入一個空白的新模組。
點選「插入 > 模組」以插入新的空白模組

3. 將下方的 VBA 程式碼複製並貼到新模組中。

VBA:在儲存格結尾新增文字

Sub AppendToExistingOnRight()
Dim c As Range
For Each c In Selection
If c.Value <> "" Then c.Value = c.Value & "Kg"
Next
End Sub
注意:在程式碼指令稿中,Kg 是您要在選取儲存格結尾新增的文字,請依需求修改。

將程式碼複製並貼上至模組中

4. 按下 F5 鍵,或點擊執行按鈕執行按鈕,即可在視窗中執行此 VBA 程式碼。

現在每個儲存格的結尾均已新增「Kg」文字。
指定文字已新增至每個儲存格的結尾


3. 在字串中間插入

對多數人來說,在儲存格開頭或結尾添加文字輕而易舉,但若要在儲存格中間插入文字,就顯得有些棘手。舉例來說,如下圖所示,需在 B3:B7 範圍內每個儲存格的第二個字元後加入分隔符號(例如冒號「:」)。
在字串中間新增文字

3.1 使用公式在字串的第 n 個字元後新增文字


這裡提供四種公式供您選擇使用:

公式 1:結合 LEFT 與 RIGHT 函數

LEFT(儲存格, n) & "文字" & RIGHT(儲存格, LEN(儲存格) ——n)

公式 2:結合 CONCATENATE (或 CONCAT)、RIGHT 與 LEN 函數

CONCATENATE(LEFT(儲存格, n), "文字", RIGHT(儲存格, LEN(儲存格) ——n))

CONCAT(LEFT(儲存格, n), "文字", RIGHT(儲存格, LEN(儲存格) ——n))

公式 3:REPLACE 函數

REPLACE(儲存格, n+1, 0, "文字“)

在通用公式中:cell 是指您要在其中插入文字的儲存格參照,text 是要新增至該儲存格的文字,而 n 則用來指定在文字字串的第幾個字元後插入該文本。

針對上述需求,請使用下列公式:

結合 LEFT 與 RIGHT 函數

=LEFT(B3, 2) & ":" & RIGHT(B3, LEN(B3) -2)=LEFT(B3, 2) & $E$3 & RIGHT(B3, LEN(B3) -2)

結合 CONCATENATE (或 CONCAT)、RIGHT 與 LEN 函數

=CONCATENATE(LEFT(B3, 2), ":", RIGHT(B3, LEN(B3) -2))=CONCAT (LEFT(B3, 2), ":", RIGHT(B3, LEN(B3) -2))

REPLACE 函數

=REPLACE(B3, 2+1, 0, ":")=REPLACE(B3, 2+1, 0, $E$3)

按下 Enter 鍵取得結果,接著向下拖曳自動填滿控制點,即可將結果套用至 B3:B7 範圍內每個儲存格的第二個字元後。
使用公式在字串第 n 個字元後新增文字

注意:文字必須以雙引號括住,否則公式會傳回錯誤值 #NAME? 錯誤。若將儲存格參照應用於文字,請務必使用絕對參照,可按 F4 鍵將相對參照變更為絕對參照。

3.2 使用快速填滿在字串的第 n 個字元後新增文字


若您使用的是 Excel 2013 或更新版本,快速填滿功能可根據上方儲存格的內容,自動填滿下方儲存格!

選取緊鄰第一筆原始資料的儲存格,手動輸入第一筆資料,並在第二個字元後加上冒號,如下圖所示:
手動輸入第一筆資料,並在第二個字元後加上冒號

接著,在第一個結果下方的儲存格中按下 Ctrl+E 鍵,即可啟動快速填滿功能,所有下方的儲存格(包含作用中的儲存格)將自動填滿!
按下 Ctrl + E 鍵以自動填滿儲存格

注意:若您使用 Mac 系統,請按 Command + E 鍵。

3.3 使用 VBA 程式碼在字串的第 n 個字元後新增文字


VBA 程式碼同樣能輕鬆完成這項任務。

1. 按下 Alt+F11 鍵,即可開啟 Microsoft Visual Basic for Applications 視窗。

2. 接著在彈出的視窗中,點擊插入> 模組 以插入一個全新的空白模組。
點選「插入 > 模組」以插入新的空白模組

3. 將下方的 VBA 程式碼複製並貼上到新模組中。

VBA:在儲存格中間新增文字

Sub AddToMidduleOfString()
    Dim Rng As Range
    Dim WorkRng As Range
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
    For Each Rng In WorkRng
        Rng.Value = VBA.Left(Rng.Value, 2 & ":" & VBA.Mid(Rng.Value, 3, VBA.Len(Rng.Value) - 1)
    Next
End Sub
注意:在程式碼指令稿中,2 是 2 與所新增文字長度的總和。再舉一例,若要在字串 "A B“ 的第一個字元後插入 "and“,則指令碼應為 Rng.Value = VBA.Left(Rng.Value,)and 是定義您要在哪個位置之後添加文本的數字,是您要新增的文字,31) & "" & VBA.Mid(Rng.Value,4, VBA.Len(Rng.Value) - 1)

將程式碼複製並貼上至模組中

4. 按下 F5 鍵,或點擊視窗中的執行按鈕選取資料範圍,即可執行此 VBA 程式碼。執行後將彈出對話方塊,供您選取要添加文字的儲存格。
選取資料範圍

5. 點擊確定,即可將文字「:」新增至 B19:B23 範圍內每個儲存格的第二個字元後。
指定文字已新增至每個儲存格第二個字元之後


4. 添加文本搭配 Kutools for Excel(依需求在指定位置新增字元)

如果您厭倦了繁複的公式與 VBA,不妨試試強大又便捷的工具 Kutools for Excel,它能透過其添加文本功能,輕鬆幫您解決問題!
Kutools 的「新增文字」功能

此添加文本功能可:

  • 添加文本第一個字符前
  • 添加文本最後一個字符後
  • 添加文本在指定位置
  • 延伸功能
    添加文本大寫字母前
    添加文本小寫字母前
    添加文本大小寫字母前
    添加文本數字前
Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

選取您要添加文字的儲存格,然後點擊 Kutools > 文字 > 添加文字,即可立即套用!
 點選 Kutools 的「新增文字」功能
4.1 在文字第一個字元前或最後一個字元後添加


添加文本對話方塊中,於文字文字方塊輸入您要新增至儲存格的文字,然後在第一個字符前區段中勾選位置
輸入文字並勾選「第一個字元前」

點擊套用確定,立即完成新增!
點選「套用」或「確定」以取得結果

若要在文本最後一個字符後添加文字,請在文字文字方塊中輸入您要新增至儲存格的文字,然後勾選位於位置區段中的最後一個字符後
輸入文字並勾選「最後一個字元後」,即可在儲存格值後新增文字

點擊套用確定,立即完成新增!
點選「套用」或「確定」以取得結果

4.2 添加文本於指定位置


有時您可能希望在儲存格文字的中間插入內容,或在多個位置同時加入附加文字。例如,在下方截圖所示的身分證字號中,於第 3 碼與第 7 碼數字後方加入分隔符「——」:
在指定位置新增文字

添加文本對話方塊中,於文字文字方塊輸入所需文字,並勾選指定選項,接著在文字方塊中輸入以逗號分隔的位置,然後點擊確定套用
在對話方塊中指定選項

4.3 添加文本工具的延伸功能


除了可在開頭、結尾及指定位置新增文字外,添加文本工具也支援此功能。

  • 大寫字母前
  • 小寫字母前
  • 大小寫字母前
  • 數字前

添加文本對話方塊中,於文字文字方塊輸入所需內容,勾選僅新增至選項,再點擊下方的下拉式功能表,選擇您需要的操作。
更多範例結果
更多範例結果

除了添加文本功能外,Kutools for Excel 還提供其他 300+ 實用功能,可協助您輕鬆處理 Excel 中的各類工作,立即免費下載體驗。


5. 在第一個特定文字前或後新增

本節提供在 Excel 中於特定文字首次出現的位置前或後插入文本的公式。

5.1 於第一個特定文字前添加文本


例如,您希望在儲存格中第一個「price」文字前新增「(sale)」,如下方截圖所示:
在第一個特定文字前新增文字

在 Excel 中,可使用 REPLACE 與 SUBSTITUTE 函數來完成此作業。

REPLACE 函數

REPLACE(儲存格,FIND("搜尋文字“,儲存格),0,“新增文字“)

SUBSTITUTE 函數

SUBSTITUTE(儲存格,“搜尋文字“,“取代文字“,1)

在此情況下,請使用上述公式如下:

=REPLACE(B4,FIND("price",B4),0,"(sale)")

=SUBSTITUTE(B4,"price","(sale)price",1)

此情況下的公式引數為

儲存格:B4,

搜尋文字:price,

新增文字:(sale),

取代文字:(sale)price。

按下 Enter 鍵取得第一筆新增結果,再向下拖曳自動填滿控制點,即可將此公式快速套用至其他儲存格。
使用公式在第一個特定文字前新增文字

5.2 於第一個特定文字後添加文本


例如,您希望在儲存格中第一個冒號「:」後新增貨幣符號「$」,如下方截圖所示:
在第一個特定文字後新增文字

在 Excel 中,可透過 REPLACE 與 SUBSTITUTE 函數輕鬆完成此作業。

REPLACE 函數

REPLACE(儲存格,FIND("搜尋文字“,儲存格),搜尋文字長度,“取代文字“)

SUBSTITUTE 函數

SUBSTITUTE(儲存格,“搜尋文字“,“取代文字“)

在此情況下,請使用上述公式如下:

=REPLACE(B12,FIND(":",B12),1,":$")

=SUBSTITUTE(B12,":",":$")

此情況下的公式引數為

儲存格:B12,

搜尋文字::,

取代文字:$。

搜尋文字長度:1

按下 Enter 鍵取得第一筆新增結果,再向下拖曳自動填滿控制點,即可快速套用此公式至其他儲存格!
使用公式在第一個特定文字後新增文字


6. 在每個字詞前或後新增字元

本教學單元介紹三種實用方法(公式、尋找與取代、VBA),協助您輕鬆在儲存格中每個字詞的前方或後方新增指定字元。

在每個字詞前新增字元
在每個單字前新增字元
在每個字詞後新增字元
在每個單字後新增字元

6.1 使用公式在每個字詞前後新增字元


可使用 SUBSTITUTE 函數解決此作業,通用公式如下:

在每個字詞前新增

"字元“&SUBSTITUTE(字串, “ “,“ 字元“)

在每個字詞後新增

SUBSTITUTE(字串,“ “,“字元 “)&“字元“

假設要在 B3:B6 清單中每個字詞前新增「+」,請使用下列公式:

="+"&SUBSTITUTE(B3, " "," +")

按下 Enter 鍵取得第一筆結果,再向下拖曳自動填滿控制點,即可獲取所有結果!
使用公式在每個單字前新增字元

假設要在 B11:B14 清單每個字詞後新增「($)」,請使用下列公式:

=SUBSTITUTE(B11," ","($) ")&"($)"

按下 Enter 鍵取得第一筆結果,再向下拖曳自動填滿控制點,即可獲取所有結果!
向下拖曳自動填滿控制點以取得所有結果

6.2 使用查找和替換在每個字詞前或後新增字元


若您希望在除第一個字詞外的每個字詞前加入字元,或在除最後一個字詞外的每個字詞後加入字元(如下方截圖所示),可使用 Excel 內建的查找和替換工具輕鬆完成此作業!

在除第一個字詞外的每個字詞前新增
在除第一個以外的每個單字前新增文字

在除最後一個外的每個字詞後新增
在除最後一個以外的每個單字後新增文字

1. 選取您要為每個字詞前或後新增字元的儲存格,然後按下 Ctrl+H,即可開啟查找和替換對話方塊。

2. 在尋找目標文字方塊中輸入一個空格,接著在取代為文字方塊中輸入新字元(串)與空格,最後按一下全部取代按鈕。

操作一般範例
在每個字詞前新增字元新增新字符(串並接續一個空格)在每個字詞前新增(sale)

在「尋找與取代」對話方塊中指定選項指定文字已新增至除第一個以外的每個單字前

操作一般範例
在每個字詞後新增字元新字符(串接續一個空格)在每個字詞後新增 ——

在「尋找與取代」對話方塊中指定選項指定文字已新增至除最後一個以外的每個單字後

6.3 使用 VBA 程式碼在每個字詞前後新增字元

這裡提供兩段 VBA 程式碼,可於每個字詞前或後新增指定字元,請依照下列步驟執行:

1. 按下 Alt+F11,立即啟用 Microsoft Visual Basic for Applications 視窗!

2. 在彈出的視窗中,按一下插入 模組,即可插入新的空白模組。
點選「插入 > 模組」以插入新的空白模組

3. 將下方 VBA 程式碼複製並貼上至模組中。

在每個字詞前新增

Sub InsertCharBeforeWord()
'UpdateByExtendOffice
Dim ws As Worksheet
Dim xRg As Range
Dim xSRg As Range
Dim xCell As Range
Dim xInStr As String
Dim xArr As Variant
Dim xValue As String
    On Error Resume Next
   
    Set xSRg = Application.Selection
    Set xRg = Application.InputBox("Select cells(continuous):", "Kutools for Excel", xSRg.Address, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    xInStr = Application.InputBox("Type characters you want to add:", "Kutools for Excel", "", , , , , 2)
    If StrPtr(xInStr) = 0 Then Exit Sub
    Application.ScreenUpdating = False
    For Each xCell In xRg
        xArr = Split(xCell.Text, " ")
        xValue = ""
        For Each xStr In xArr
            If Trim(xStr) <> "" Then
                If xValue = "" Then
                    xValue = xInStr & Trim(xStr)
                Else
                    xValue = xValue & " " & xInStr & Trim(xStr)
                    End If
            End If
        Next
        xCell.Value = xValue
    Next
    Application.ScreenUpdating = True
End Sub

在每個字詞後新增

Sub InsertCharAfterWord()
'UpdateByExtendOffice
Dim ws As Worksheet
Dim xRg As Range
Dim xSRg As Range
Dim xCell As Range
Dim xInStr As String
Dim xArr As Variant
Dim xValue As String
    On Error Resume Next
 
    Set xSRg = Application.Selection
    Set xRg = Application.InputBox("Select cells(continuous):", "Kutools for Excel", xSRg.Address, , , , , 8)
    If xRg Is Nothing Then Exit Sub
   
    xInStr = Application.InputBox("Type characters you want to add:", "Kutools for Excel", "", , , , , 2)
    If StrPtr(xInStr) = 0 Then Exit Sub
   
    Application.ScreenUpdating = False
    For Each xCell In xRg
        xArr = Split(xCell.Text, " ")
        xValue = ""
        For Each xStr In xArr
            If Trim(xStr) <> "" Then
                If xValue = "" Then
                    xValue = Trim(xStr) & xInStr
                Else
                    xValue = xValue & " " & Trim(xStr) & xInStr
                End If
            End If
        Next
        xCell.Value = xValue
    Next
    Application.ScreenUpdating = True
End Sub

4. 按下 F5 鍵執行程式碼(或按一下)執行按鈕選取資料範圍),此時將彈出對話方塊,要求您選取連續的儲存格範圍,請按一下確定
選取資料範圍

5. 在第二個彈出的對話方塊中,輸入您要新增的字元,然後按一下確定
 輸入欲新增的字元

接著字元就會新增至每個字詞的開頭或結尾。


7. 在字元之間插入文字

有時您可能希望在每個字元之間插入文字。本節列舉兩種情境:一是在每個字元之間加入文字,另一則是在每兩個數字之間新增空格。

7.1 使用自訂函數在每個字元/數字之間添加文本


若要在字串的每個字元之間插入特定字元,可透過自訂函數輕鬆實現。

在此案例中,我們會在每個字元之間加入空格。

1. 按下 Alt+F11 鍵,立即開啟 Microsoft Visual Basic for Applications 視窗!

2. 在彈出的視窗中,按一下插入 模組,即可插入一個新的空白模組。
點選「插入 > 模組」以插入新的空白模組

3. 將下方的 VBA 程式碼複製並貼上至模組中。

在字元之間添加文本

Function AddText(Str As String) As String
    Dim i As Long
    For i = 1 To Len(Str)
        AddText = AddText & Mid(Str, i, 1) & " "
    Next i
    AddSpace = Trim(AddSpace)
End Function

4. 儲存程式碼並關閉此視窗,返回工作表後,在您要放置新增結果的儲存格中輸入下列公式。

=AddText(B3)

B3 是包含您要在字元之間插入空格之字串的儲存格。

5. 按下 Enter 鍵取得結果,再拖曳自動填滿控制點至其他儲存格,即可快速套用至所需範圍。
輸入公式以在單字之間新增字元

 

注意

1)在 VBA 程式碼中,您可以將" "變更為其他所需文字,例如改為“-“,即可在字元之間加入「——」。

2)此程式碼會在每個字元後新增新文本。若您不需要最後一個添加文本,可使用下方公式移除。如需更多公式詳情,請參閱:

如何在 Excel 中移除儲存格或字串的前 N 個或後 N 個字元?

LEFT(儲存格,LEN(儲存格)——文字長度)

7.2 使用公式在每個數字之間新增空格


若想在數值字串的數字之間加入空格,可使用 TEXT 函數。

注意您要新增空格的範圍內,各數值的長度必須相同,否則部分結果可能會不正確。

假設 B10:B12 範圍內有一組 8 位數的數字,請選擇是用來放置結果的儲存格,請輸入以下公式:

=TEXT(B10,"# # # # # # # #")

按下 Enter 鍵後,拖曳自動填滿控制點至其他儲存格。
使用公式在每個數字之間新增空格

若數字長度為 5,請將公式修改為 =TEXT(B10,"# # # # #")


8. 在每個字詞之間新增字元

如果您想在每個單字之間加入字元(例如在名字、中間名與姓氏之間加入空格,如下方截圖所示),可使用自訂函數。
在每個單字之間新增字元

1. 按下 Alt+F11 鍵以開啟 Microsoft Visual Basic for Applications 視窗。

2. 在彈出的視窗中,按一下插入> 模組,即可新增一個空白模組。

3. 將下方的 VBA 程式碼複製並貼上至模組中。

在單字之間加入字元

Function AddCharacters(pValue As String) As String
'UpdatebyExtendoffice20160908
Dim xOut As String
xOut = VBA.Left(pValue, 1)
For i = 2 To VBA.Len(pValue)
xAsc = VBA.Asc(VBA.Mid(pValue, i, 1))
If xAsc >= 65 And xAsc <= 90 Then
xOut = xOut & " " & VBA.Mid(pValue, i, 1)
Else
xOut = xOut & VBA.Mid(pValue, i, 1)
End If
Next
AddCharacters = xOut
End Function

4. 儲存程式碼後,關閉此窗口返回工作表,並在您希望顯示結果的儲存格中輸入下列公式。

=AddCharacters(B3)

B3 是包含您要在單字之間加入空格的字串之儲存格。

5. 按下 Enter 鍵取得結果,再拖曳自動填滿控制點至其他儲存格,即可輕鬆獲得所需結果!
輸入公式以在每個單字之間新增字元

注意:在 VBA 程式碼中,您可以變更" "改為其他所需文字,例如改為“-“以在字詞間新增 ——。

9. 在拆分為文本和數字之間新增字元

若要在拆分為文本和數字之間加入特定字元(如下方截圖所示),此處提供兩種方法。
在文字與數字之間新增字元

9.1 使用公式在拆分為文本和數字之間加入字元


如果文字位於數字前方,通用公式為

TRIM(REPLACE(string,MIN(FIND({1,2,3,4,5,6,7,8,9,0},string&"1234567890")),0,"-"))

以上述案例為例,請使用以下公式:

=TRIM(REPLACE(B4,MIN(FIND({1,2,3,4,5,6,7,8,9,0},B4&"1234567890")),0,"-"))

按下 Enter 鍵取得第一個結果,再拖曳自動填滿控制點至其他儲存格,即可輕鬆套用此公式!
使用公式在文字與數字之間新增字元

如果數字位於文字前方,通用公式為

LEFT(string,SUM(LEN(string)-LEN(SUBSTITUTE(string,{0,1,2,3,4,5,6,7,8,9},""))))&"."&RIGHT(string,LEN(B13)- SUM(LEN(string)-LEN(SUBSTITUTE(string, {0,1,2,3,4,5,6,7,8,9}, ""))))

以上述案例為例,請使用以下公式:

=LEFT(B13,SUM(LEN(B13)-LEN(SUBSTITUTE(B13,{0,1,2,3,4,5,6,7,8,9},""))))&"."&RIGHT(B13,LEN(B13)- SUM(LEN(B13)-LEN(SUBSTITUTE(B13, {0,1,2,3,4,5,6,7,8,9}, ""))))

按下 Enter 鍵取得第一個結果,再拖曳自動填滿控制點至其他儲存格,即可套用此公式。
拖曳自動填滿控制點至其他儲存格以填入此公式

9.2 使用快速填滿在拆分為文本和數字之間加入字元


若您使用的是 Excel 2013 或更新版本,快速填滿功能也能協助您在拆分文字與數字時自動加入分隔字元。

在原始資料旁輸入已加入拆分為文本和數字字元的新資料。接著按下 ENTER 鍵移至第一個結果的下一個儲存格。
在原始資料旁輸入新資料,按下 Enter 鍵移至第一筆結果的下一個儲存格

接著按下 Ctrl+E 鍵,立即啟用快速填滿功能!
按下 Ctrl + E 鍵以啟用快速填滿

延伸應用

本教學也列出一些日常或工作中可能遇到的添加文本情境。


10. 在電話號碼或社會安全號碼中自動加入連字號

有時您需要在一系列電話號碼或身分證字號中加入分隔符號(例如短橫線),如下方截圖所示。若需處理上百筆資料,手動輸入將耗費大量時間。本節將介紹三種技巧,助您快速完成此任務。
為電話號碼/社會安全號碼新增連字號

10.1 使用公式為數字加入短橫線


以下兩個公式可快速為數字插入短橫線。若要在 B3 儲存格的數字第 3 位與第 6 位後加入短橫線,請使用下列公式:

REPLACE 函數

=REPLACE(REPLACE(B3,4,0,"-"),8,0,"-")

TEXT 函數

=TEXT(B3,"???-???-??? ")

按下 Enter 鍵取得第一筆結果,再拖曳自動填滿控制點至其他儲存格。
使用公式為數字新增連字號

注意

您可以根據需求調整上述公式的參數。例如,若要在第二、第四和第六位數字後加入“-“,可使用下列公式:

=REPLACE(REPLACE(REPLACE(B3,3,0,"-"),6,0,"-"),9,0,"-")

=TEXT(B3,"??-??-??-??? ")

 

10.2 使用設定儲存格格式為數字加入短橫線


若想直接在原始儲存格的數字中加入短橫線,可使用設定儲存格格式功能。

1. 選取要加入短橫線的數字,然後按下 Ctrl+1 鍵,即可開啟設定儲存格格式對話方塊。

2. 在設定儲存格格式對話方塊中,於數字索引標籤下,從類別區段選取自訂

3. 接著在右側的類型區段中,於文字方塊輸入###-###-###,然後點選確定
在對話方塊中設定儲存格格式

現在所選數字已成功加入短橫線。
所選數字已新增連字號

10.3 使用 Kutools for Excel 的添加文本為電話號碼加入短橫線


若您已在 Excel 中安裝 Kutools for Excel添加文本功能也能助您一臂之力!

Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

1. 選取包含需加入短橫線數字的儲存格,按一下 Kutools> 文字> 添加文本。
點選 Kutools > 文字 > 新增文字

2. 在添加文本對話方塊中,於文字文字方塊輸入短橫線或其他分隔符號,選取指定選項,並在其下方文字方塊中輸入欲插入短橫線的位置(以逗號分隔)。
在對話方塊中指定選項

3. 按一下確定或「套用」,所選數字即會自動加入短橫線。

免費下載添加文本,享有 30 天試用期。


11. 在儲存格中新增前導零以固定長度

假設您有一組長度不一的數字,希望透過加入前置零,讓它們長度一致、整齊美觀(如下方截圖所示)。以下提供兩種方法,協助您輕鬆完成此任務。
新增前置零以固定儲存格長度

11.1 使用設定儲存格格式功能為儲存格加入前置零


您可以運用設定儲存格格式功能,自訂格式並加入前置零,輕鬆固定儲存格內容長度!

1. 選取要加入前置零的儲存格,然後按下 Ctrl+1 鍵,即可開啟設定儲存格格式對話方塊。

2. 在設定儲存格格式對話方塊中,於數字索引標籤下,從類別區段選擇自訂

3. 接著在右側的類型區段中,於文字方塊輸入 0000(若要將數字長度固定為 4 位數,請輸入 0000;您也可依需求調整為其他長度,例如 5 位數則輸入 00000),然後按一下確定
在對話方塊中指定自訂格式

此時數字已加入前置零,並具有相同長度。
數字已新增前置零並統一為相同長度

注意若原始資料長度超過設定值,將直接顯示原始資料,不補前導零。


11.2 使用公式為公式加入前置零


若您不想變更原始資料,可使用公式在其他位置為數字加入前置零。

以下三個函數可協助您達成此目標。

公式 1:TEXT 函數

TEXT(number,"00…")

公式 2:RIGHT 函數

RIGHT("00…"&number,length)

公式 3:BASE 函數

BASE(number,10,length)

公式中零的數量等於該數字的位數。

此處您將數字長度設為 4 位數,請使用以下公式:

=TEXT(B10,"0000")

=RIGHT("0000"&B10,4)

=BASE(B10,10,4)

按下 Enter 鍵後,向下拖曳自動填滿控制點。
使用公式為儲存格新增前置零

注意:若原始資料長度超過設定長度,將直接顯示原始資料而不補前導零。


12. 在數字後方補上尾隨零,以固定其長度

若您希望在數字後方補零,以固定其顯示長度(例如將儲存格 B3:B7 中的數字轉換為如以下截圖所示的 5 位數格式),只需套用公式即可輕鬆達成。
新增尾端零以固定數字長度

REPT 函數

number&REPT("0",length-LEN(number))

在公式中,參數「number」代表您要補零的數字或儲存格參照,而參數「length」則是您希望設定的固定長度。

請使用如下公式:

=B3&REPT("0",5-LEN(B3))

按下 Enter 鍵後,向下拖曳自動填滿控制點至需要此公式的儲存格。
使用公式新增尾端零以固定數字長度


13. 在文字後新增尾隨空格

若要將工作表中的資料匯出或複製到記事本,由於儲存格內容長度不一,文字可能會排列不整齊;為使文字如以下截圖所示般整齊排列,您需要在文字尾端補上空格。
為文字新增尾端空格

針對此需求,REPT 函數能助您輕鬆達成目標。

LEFT(text & REPT(" ",max_length),max_length)

在公式中,參數「text」代表您要補上空格的文字或儲存格參照,而參數「max_length」則是您希望文字達到的固定長度,且該長度必須大於或等於原始文字的最大長度。

若要對儲存格 B3:C6 中的文字補尾端空格,請使用以下公式:

=LEFT(B3 & REPT(" ",10),10)

按下 Enter 鍵後,向右拖曳自動填滿控制點至所有需要此公式的儲存格。

在此案例中,因所用文字最長為 9 個字元,因此我們在此使用 10.
使用公式為文字新增尾端空格


14. 在文字或數字前後新增引號/括號

有時您需要在儲存格中的文字或數字前後加上引號或括號(如以下截圖所示)。除了逐一手動輸入外,Excel 提供兩種方法,可快速完成此操作。
在文字或數字前後加上引號

14.1 使用設定儲存格格式在文字前後加上引號/括號


若您希望在原始資料的文字前後加上引號,可善用 Excel 的「設定儲存格格式」功能輕鬆達成。

1. 選取要加上引號的儲存格,按下 Ctrl+1 鍵,即可開啟設定儲存格格式對話方塊。

2. 在設定儲存格格式對話方塊中,切換至數字索引標籤,於分類清單中選擇自訂,然後在右側的類型文字方塊中輸入“‘‘“@“‘‘“,再按一下確定
在對話方塊中指定自訂格式

所選儲存格中的文字已加上引號。

若要在文字前後加上括號,請在「設定儲存格格式」對話方塊的「類型」文字方塊中輸入(@)

14.2 使用公式在文字前後加上引號/括號


您也可以使用公式為其他儲存格中的文字加上引號。

使用 & 連接符

""""&text&""""

char(34)&text&char(34)

在此案例中,儲存格 B11 中的文字,請使用以下公式:

=""""&B11&""""

=char(34)&B11&char(34)

按下 Enter 鍵後,向下拖曳自動填滿控制點,即可輕鬆填滿儲存格!
使用公式在文字前後加上引號

若要在文字前後加上括號,請使用公式 "("&text&")"

14.3 使用 VBA 在文字前後加上引號/括號


若您需要透過 VBA 程式碼完成此任務,以下是相關的 VBA 範例。

1. 按下 Alt+F11 鍵以開啟 Microsoft Visual Basic for Applications 視窗。

2. 接著在彈出的視窗中,按一下插入> 模組,即可插入一個空白的新模組。

3. 將下方的 VBA 程式碼複製並貼上至新模組中。

VBA:在文字前後加上引號

Sub addquotationmarksorbrackets()
'UpdatebyExtendOffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
Rng.Value = """" & Rng.Value & """"
Next
End Sub
 注意:在程式碼指令稿中,"""" & Rng.Value & """"表示在文字前後新增 ““,若要在文字前後新增括號(),請將其變更為 "(" & Rng.Value & ")"

將程式碼複製並貼上至模組中

4. 按下 F5 鍵,或點擊視窗中的執行按鈕選取資料範圍,即可執行 VBA 程式碼。執行後將彈出對話方塊,供您選取要加上引號的儲存格。
選取資料範圍

5. 按一下確定,所選儲存格中的文字前後就會加上引號。


15. 直接將添加文本新增至公式結果

有時為了幫助其他使用者更清楚理解資料,您可能需要在公式結果中添加文本(如以下截圖所示)。若要在公式中包含文字,可使用引號包圍文字,並搭配 & 連接符將文字與公式結合在一起。
為公式結果新增文字

案例 1 公式前添加文本

"Today is "&TEXT(TODAY(),"dddd, mmmm dd.")
使用公式在公式前新增文字

案例 2 公式後添加文本 公式

TEXT(NOW(),"HH:MM:SS")&" is the current time."
使用公式在公式後新增文字

案例 3 公式兩側添加文本

"Today sold "&data&" kg."
使用公式在公式兩側新增文字


更多 Excel 教學:

將多個活頁簿/工作表合併為一個
本教學涵蓋您可能遇到的幾乎所有合併情境,並提供對應的專業解決方案!

拆分文字、數字與日期儲存格(分離為多欄)
本教學分為三部分:拆分文字儲存格、拆分數字儲存格及拆分日期儲存格。每部分皆提供實用範例,助您日後遇到相同問題時,輕鬆完成拆分作業!

在 Excel 中合併多個儲存格內容而不遺失資料
本教學聚焦於從儲存格的特定位置提取內容,並彙整多種方法,協助您在 Excel 中根據指定位置輕鬆提取文字或數字。

在 Excel 中比較兩欄以找出相符與差異項目
本文涵蓋您可能遇到的大多數兩欄比較情境,助您輕鬆掌握比對技巧,不容錯過!


  • 超強編輯欄(輕鬆編輯多行文字與公式);閱讀版面(輕鬆閱讀與編輯大量儲存格);貼上至篩選範圍……
  • 合併儲存格/列/欄並保留資料;分割儲存格內容;合併重複行並加總/平均……防止重複項儲存格;比較範圍……
  • 選取重複或唯一列;選取空白列(所有儲存格皆為空);超級查找與模糊搜尋多個活頁簿;隨機選取……
  • 精確公式複製多個儲存格而不變更公式參照;自動建立參照至多個工作表;插入項目符號、複選框及更多……
  • 收藏並快速插入公式、範圍、圖表與圖片;加密儲存格並設定密碼;建立郵件清單並寄送電子郵件……
  • 提取文本、添加文本、刪除某位置字元、移除空格;建立並列印數據分頁統計;在儲存格內容與註解之間轉換……
  • 超級篩選(儲存並套用篩選方案至其他工作表);高級排序依月份/週/日、頻率等;特殊篩選依粗體、斜體……
  • 合併活頁簿與工作表;合併表格依據關鍵列;分割數據至多個工作表批次轉換 xls、xlsx 與 PDF……
  • 資料透視表依週數、星期幾等分組……顯示未鎖定、選區鎖定以不同顏色標示;突顯包含公式/名稱的儲存格……
kte tab 201905
  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 與 Project 中啟用分頁式編輯與閱讀,提升工作效率!
  • 在同一視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
  • 每天為您提升 50% 的工作效率,省下數百次滑鼠點擊!
officetab bottom