Skip to main content

Excel 在單元格指定位置添加文本與數字

Author: Sun Last Modified: 2025-08-06

在 Excel 中,為單元格添加文本或數字是一項非常常見的操作。例如在姓名之間插入空格、為單元格添加前綴或後綴、為社會號碼添加破折號等。本教學彙整了 Excel 幾乎所有添加情境,並為您提供相應的方法。

本教學導覽

1. 在每個單元格開頭添加

1.1 使用公式在單元格開頭添加

1.2 使用 Flash Fill 在單元格開頭添加

1.3 使用 VBA 程式碼在單元格開頭添加

2. 在每個單元格結尾添加

2.1 使用公式在單元格結尾添加

2.2 使用 Flash Fill 在單元格結尾添加

2.3 使用 VBA 程式碼在單元格結尾添加

3. 在字串中間添加

3.1 使用公式在字串第 n 個字元後添加

3.2 使用 Flash Fill 在字串第 n 個字元後添加

3.3 使用 VBA 程式碼在字串第 n 個字元後添加

4. 使用 Kutools for Excel 添加文本(可根據需求將字符添加到指定位置)

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

4.2 在指定位置添加文本

4.3 Add Text 工具的擴展功能

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

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

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

6. 在每個單詞前後添加字符

6.1 使用公式在每個單詞前後添加字符

6.2 使用尋找和替換在每個單詞前後添加字符

6.3 使用 VBA 程式碼在每個單詞前後添加字符

7. 在字符之間添加文本

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

7.2 使用公式在每個數字之間添加空格

8. 在每個單詞之間添加字符

9. 在文本與數字之間添加字符

9.1 使用公式在文本與數字之間添加字符

9.2 使用 Flash Fill 在文本與數字之間添加字符

10. 為電話號碼/社會號碼添加破折號

10.1 使用公式為數字添加破折號

10.2 使用設定儲存格格式為數字添加破折號

10.3 使用 Kutools for Excel 的 Add Text 功能為電話號碼添加破折號

11. 為單元格添加前導零以固定長度

11.1 使用設定儲存格格式為單元格添加前導零

11.2 使用公式為單元格添加前導零

12. 為數字添加尾隨零以固定長度

13. 為文本添加尾隨空格

14. 為文本或數字加上引號/括號

14.1 使用設定儲存格格式加上引號/括號

14.2 使用公式加上引號/括號

14.3 使用 VBA 加上引號/括號

15.直接在公式結果中添加文本

備註

在本教學中,我建立了一些範例來說明方法,當您使用下方 VBA 程式碼或公式時,可以根據需要更改引用,或直接下載範例檔案進行嘗試。

doc sample點擊下載範例檔案


1. 在每個單元格開頭添加

本部分列出多種將字符添加到每個單元格開頭的方法,如下圖所示:
Add text to start of each cell

1.1 使用公式在單元格開頭添加


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

公式1連接運算子「&」

使用 & 符號將多個文本合併在一起。

"text"&cell

公式2 CONCATENATE 函數

CONCATENATE 函數用於將多個文本合併。

CONCATENATE("text",cell)

公式3 CONCAT 函數

這是一個僅在 Excel2019、Office365 和 Excel 線上版中出現的新函數。

CONCAT("text",cell)

在通用公式中:cell 是您要添加前綴的單元格引用,text 是要添加到單元格的文本。

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

"&"

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

CONCATENATE 函數

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

CONCAT 函數

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

按下 Enter 鍵取得結果,然後拖曳自動填滿控點,將文本添加到區域 B3:B6 的每個單元格。
Add at beginning of cells by using formulas

注意:文本必須用雙引號括起,否則公式會返回錯誤值 #NAME?。如果使用單元格引用文本,請記得使用絕對引用,可按 F4 鍵將相對引用切換為絕對引用。

1.2 使用 Flash Fill 在單元格開頭添加


如果您使用的是 Excel2013 或更新版本,強大的新功能 Flash Fill 可以根據您輸入的上方單元格自動填充內容。

選擇原始資料旁的單元格,手動輸入帶有前綴文本的第一筆資料,如下所示:
manually type the first data with the prefix text

然後在下方單元格繼續輸入帶前綴的第二筆資料,輸入過程中會顯示灰色列表,請按下 Enter 鍵以讓 Flash Fill 自動填充資料。
continue typing the second data with prefix textpress Enter key to allow the Flash Fill to fill the data automatically

如果未自動產生預覽列表,請前往常用標籤,然後點擊填滿 > Flash Fill以手動執行。

1.3 使用 VBA 程式碼在單元格開頭添加


如果您熟悉 VBA 程式碼,這裡介紹一段 VBA 程式碼,可將文本添加到區域內每個單元格的開頭。

1. 選取要添加前綴文本的區域,然後按下 Alt + F11 鍵開啟 Microsoft Visual Basic for Applications 視窗。

2. 在彈出的視窗中,點擊 插入 > 模組 以插入一個新的空白模組。
click Insert > Module to insert a blank new module

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 是您要添加到所選單元格開頭的文本,請根據需要更改。

copy and paste the code into the module

4. 按下 F5 鍵或點擊 執行 按鈕run button 於視窗中啟動 VBA 程式碼。

現在所有選取的單元格都已在開頭添加了 "Iphone" 文本。
all selected cells are added the specific text at the beginning


2. 在每個單元格結尾添加

除了在單元格開頭添加文本外,在結尾添加文本也很常見。這裡以在每個單元格結尾添加單位為例,如下圖所示:
Add text to end of each cell

2.1 使用公式在單元格結尾添加


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

公式1連接運算子「&」

使用 & 符號將多個文本合併在一起。

cell&"text"

公式2 CONCATENATE 函數

CONCATENATE 函數用於將多個文本合併。

CONCATENATE(cell,"text")

公式3 CONCAT 函數

這是一個僅在 Excel2019、Office365 和 Excel 線上版中出現的新函數。

CONCAT(cell,"text")

在通用公式中:cell 是您要添加後綴的單元格引用,text 是要添加到單元格的文本。

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

"&"

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

CONCATENATE 函數

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

CONCAT 函數

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

按下 Enter 鍵取得結果,然後拖曳自動填滿控點,將文本添加到區域 B3:B6 的每個單元格結尾。
Add text at end of cells by using formulas

注意:文本必須用雙引號括起,否則公式會返回錯誤值 #NAME?。如果使用單元格引用文本,請記得使用絕對引用,可按 F4 鍵將相對引用切換為絕對引用。

2.2 使用 Flash Fill 在單元格結尾添加


如果您使用的是 Excel2013 或更新版本,強大的新功能 Flash Fill 可以根據您輸入的上方單元格自動填充內容。

選擇原始資料旁的單元格,手動輸入帶有後綴文本的第一筆資料,如下所示:
manually type the first data with the suffix text

然後啟用第一個結果下方的單元格,點擊 數據 > Flash Fill,所有下方單元格(包括目前啟用的單元格)都會自動填滿。
click Data > Flash Fill
all below cells including the active cell will be filled automatically

2.3 使用 VBA 程式碼在單元格結尾添加


這裡有一段 VBA 程式碼可將文本添加到區域內每個單元格的結尾。

1. 選取要添加後綴文本的區域,然後按下 Alt + F11 鍵開啟 Microsoft Visual Basic for Applications 視窗。

2. 在彈出的視窗中,點擊 插入 > 模組 以插入一個新的空白模組。
click Insert > Module to insert a blank new module

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 是您要添加到所選單元格結尾的文本,請根據需要更改。

copy and paste the code into the module

4. 按下 F5 鍵或點擊 執行 按鈕run button 於視窗中啟動 VBA 程式碼。

現在所有單元格的結尾都已添加 "Kg" 文本。
the text specific text  is added at end of each cell


3. 在字串中間添加

對多數人來說,在單元格開頭或結尾添加文本很簡單,但在中間添加文本可能較為困難。例如,如下圖所示,在每個單元格的第二個字符後添加分隔符(如冒號 :)。
Add text to middle of string

3.1 使用公式在字串第 n 個字元後添加


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

公式1 結合 LEFT 和 RIGHT 函數

LEFT(cell, n) & "text" & RIGHT(cell, LEN(cell) -n)

公式2 結合 CONCATENATE(CONCAT)、RIGHT 和 LEN 函數

CONCATENATE(LEFT(cell, n), "text", RIGHT(cell, LEN(cell) -n))

CONCAT(LEFT(cell, n), "text", RIGHT(cell, LEN(cell) -n))

公式3 REPLACE 函數

REPLACE(cell, n+1,0, "text")

在通用公式中: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 每個單元格的第二個字符後。
Add after nth character of string by formulas

注意:文本必須用雙引號括起,否則公式會返回錯誤值 #NAME?。如果使用單元格引用文本,請記得使用絕對引用,可按 F4 鍵將相對引用切換為絕對引用。

3.2 使用 Flash Fill 在字串第 n 個字元後添加


如果您使用的是 Excel2013 或更新版本, Flash Fill 可以根據您輸入的上方單元格自動填充內容。

選擇原始資料旁的單元格,手動輸入在第二個字符後加上冒號的第一筆資料,如下所示:
manually type the first data with a colon after the second character

然後啟用第一個結果下方的單元格,按下 Ctrl + E 鍵以啟動 Flash Fill 指令,所有下方單元格(包括目前啟用的單元格)都會自動填滿。
press Ctrl + E keys to fill the cells automatically

注意:如果您使用的是 MAC 系統,請按 Command + E 鍵。

3.3 使用 VBA 程式碼在字串第 n 個字元後添加


也可以使用 VBA 程式碼來完成此操作。

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

2. 在彈出的視窗中,點擊 插入 > 模組 以插入一個新的空白模組。
click Insert > Module to insert a blank new module

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 表示您要在哪個位置後添加文本,: 是要添加的文本,3 是2 與所加文本長度的總和。舉例來說,若要在字串 "A B" 的第一個字符後添加 "and",腳本應為 Rng.Value = VBA.Left(Rng.Value,1) & "and" & VBA.Mid(Rng.Value,4, VBA.Len(Rng.Value) -1)

copy and paste the code into the module

4. 按下 F5 鍵或點擊 執行 按鈕run button 於視窗中啟動 VBA 程式碼。彈出對話框讓您選擇要添加文本的單元格。
select the data range

5. 點擊 確定。現在,區域 B19:B23 每個單元格的第二個字符後都已添加了 ":"。
the specific  text is added after the second character of each cell1


4. 使用 Kutools for Excel 添加文本(可根據需求將字符添加到指定位置)

如果您不想再用公式或 VBA,可以試試功能強大又方便的工具—— Kutools for Excel,它的 Add Text 功能可以幫您輕鬆完成。
Add text feature of kutools

此 Add Text 功能可:

  • 在第一個字符前添加文本
  • 在最後一個字符後添加文本
  • 在指定位置添加文本
  • 擴展功能
    在大寫字母前添加文本
    在小寫字母前添加文本
    在大小寫字母前添加文本
    在數字前添加文本
Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...

選取要添加文本的單元格,然後點擊 Kutools > 文字 > Add Text.
 click Add Text feature of kutools
4.1 在第一個字符前或最後一個字符後添加文本


Add Text 對話框中,於 文字 輸入框輸入要添加到單元格的文本,然後勾選 第一個字符前位置 區段。
type the text and check Before first character

點擊 應用確定 即可完成添加。
Click Apply or Ok to get the result

若要在最後一個字符後添加文本,請於 文字 輸入框輸入要添加的文本,然後勾選 最後一個字符後位置 區段。
type the text and check After last character to add text after the cell value

點擊 應用確定 即可完成添加。
Click Apply or Ok to get the result

4.2 在指定位置添加文本


有時您可能想在單元格中間或多個位置添加文本。例如如下圖所示,在社會號碼的第三和第七位數字後添加分隔符「-」:
Add text at specified position(s)

Add Text 對話框中,於 文字 輸入框輸入要添加的文本,並勾選 指定 選項,然後用逗號分隔輸入要添加的位置,最後點擊 確定應用.
specify the options in the dialog box

4.3 Add Text 工具的擴展功能


除了在常規位置(開頭、結尾和指定位置)添加文本外,Add Text 工具還支援在以下位置添加文本:

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

Add Text 對話框中,於 文字 輸入框輸入要添加的文本,並勾選 高級 選項,然後點擊下方下拉選單選擇所需操作。
Extension of Add Text utility
more example results

除了 Add Text 功能外,Kutools for Excel 還有300 多個實用功能,能協助您處理各種 Excel 工作,立即免費下載體驗。


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

本部分提供在 Excel 中於第一個出現的特定文本前後添加文本的公式。

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


例如,您想在單元格中第一個 "price" 前添加 "(sale)",如下圖所示:
Add text before the first specific text

在 Excel 中,REPLACE 和 SUBSTITUTE 函數可以解決這個問題。

REPLACE 函數

REPLACE(cell,FIND("find_text",cell),0,"add_text")

SUBSTITUTE 函數

SUBSTITUTE(cell,"find_text","replace_text",1)

本例請使用上述公式如下:

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

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

本例中公式參數如下:

Cell: B4,

Find_text: price,

Add_text: (sale),

Replace_text:(sale)price。

按下 Enter 鍵取得第一個添加結果,然後拖曳自動填滿控點至需要此公式的單元格。
Add text before the first specific text by using formulas

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


例如,您想在單元格中第一個冒號 ":" 後添加貨幣符號 "$",如下圖所示:
Add text after the first specific text

在 Excel 中,REPLACE 和 SUBSTITUTE 函數可以解決這個問題。

REPLACE 函數

REPLACE(cell,FIND("find_text",cell),find_text_length,"replace_text")

SUBSTITUTE 函數

SUBSTITUTE(cell,"find_text","replace_text")

本例請使用上述公式如下:

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

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

本例中公式參數如下:

Cell: B12,

Find_text: :,

Replace_text::$。

Find_text_length:1

按下 Enter 鍵取得第一個添加結果,然後拖曳自動填滿控點至需要此公式的單元格。
Add text after the first specific text by using the formulas


6. 在每個單詞前後添加字符

本教學部分介紹三種不同方法(公式、尋找和替換、VBA),協助您在單元格每個單詞前後添加字符。

在每個單詞前添加字符
Add characters before each word
在每個單詞後添加字符
Add characters after each word

6.1 使用公式在每個單詞前後添加字符


SUBSTITUTE 函數可用於解決這個問題,通用公式如下:

在每個單詞前添加

"character"&SUBSTITUTE(string, " "," character")

在每個單詞後添加

SUBSTITUTE(string," ","character ")&"character"

假設要在 B3:B6 清單的每個單詞前加上「+」,請使用以下公式:

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

按下 Enter 鍵取得第一個結果,然後拖曳自動填滿控點取得所有結果。
Add characters before each word with formulas

假設要在 B11:B14 清單的每個單詞後加上 ($),請使用以下公式:

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

按下 Enter 鍵取得第一個結果,然後拖曳自動填滿控點取得所有結果。
drag auto fill handle down to get all results

6.2 使用尋找和替換在每個單詞前後添加字符


如果您想在每個單詞(不含第一個)前添加字符,或在每個單詞(不含最後一個)後添加字符,如下圖所示,Excel內建的 尋找和替換工具可以處理此需求。

在每個單詞(不含第一個)前添加
Add before each word excluding first one

在每個單詞(不含最後一個)後添加
Add after each word excluding last one

1. 選取要在每個單詞前後添加字符的單元格,然後按 Ctrl + H 鍵開啟 尋找和替換 對話框。

2. 在「尋找內容」輸入框輸入空格,在「替換為」輸入框輸入新字符加空格,最後點擊「全部替換」按鈕。

計算 一般 範例
在每個單詞前添加字符 在空格後添加新字符 在每個單詞前加 (sale)

specify the options in the find and replace dialog boxthe specific text is added before each word excluding first one

計算 一般 範例
在每個單詞後添加字符 新字符後接空格 在每個單詞後加 -

specify the options in the find and replace dialog boxthe specific text is added after each word excluding last one

6.3 使用 VBA 程式碼在每個單詞前後添加字符

這裡提供兩段 VBA 程式碼,分別用於在每個單詞前或後添加字符,請依下列步驟執行。

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

2. 在彈出的視窗中,點擊 插入 > 模組 以插入一個新的空白模組。
click Insert > Module to insert a new blank module

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 鍵執行程式碼(或點擊 執行 按鈕 run button),會彈出對話框要求您選取連續單元格,點擊 確定.
select the data range

5. 在第二個彈出對話框中,輸入要添加的字符,點擊 確定.
 type the characters  want to add

然後字符就會被添加到每個單詞的前或後。


7. 在字符之間添加文本

有時您可能想在每個字符之間添加文本。本部分列出兩種情境,一是每個字符之間添加文本,另一是每個數字之間添加空格。

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


若要在字串每個字符之間添加字符,可利用自訂函數。

本例在每個字符之間添加空格。

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

2. 在彈出的視窗中,點擊 插入 > 模組 以插入一個新的空白模組。
click Insert > Module to insert a new blank module

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 鍵取得結果,拖曳自動填滿控點取得其他結果。
enter a fromula to add characters between words

 

注意

1)在 VBA 程式碼中,您可以將 " " 改為其他文本,例如改為 "-"以在字符間添加 -。

2)此程式碼會在每個字符後添加新文本。若不需要最後一個添加的文本,可用下列公式刪除。更多公式細節請參考:

如何在 Excel 中刪除單元格或字串的首/尾 N 個字符?

LEFT(cell,LEN(cell)-text_length)

7.2 使用公式在每個數字之間添加空格


若要在數字字串的每個數字之間添加空格,可使用 TEXT 函數。

注意:要添加空格的數字區域長度需一致,否則部分結果可能不正確。

假設區域 B10:B12 有一組8 位數字,請選取要顯示結果的單元格,輸入下列公式:

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

按下 Enter 鍵,然後拖曳自動填滿控點至其他單元格。
Add space between every number with a formula

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


8. 在每個單詞之間添加字符

若要在每個單詞之間添加字符,例如在姓、名、中間名之間加空格,如下圖所示,可使用自訂函數。
Add characters between every word

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 鍵取得結果,拖曳自動填滿控點取得其他結果。
enter a fromula to add characters between every word

注意:在 VBA 程式碼中,您可以將 " " 改為其他文本,例如改為 "-"以在單詞間添加 -。

9. 在文本與數字之間添加字符

若要在文本與數字之間添加特定字符,如下圖所示,這裡提供兩種方法。
Add character between texts and numbers

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 鍵取得第一個結果,然後拖曳自動填滿控點至其他單元格。
Add character between texts and numbers with formula

若數字在文本前,通用公式如下:

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 鍵取得第一個結果,然後拖曳自動填滿控點至其他單元格。
drag auto fill handle over other cells to fill this formula

9.2 使用 Flash Fill 在文本與數字之間添加字符


如果您使用的是 Excel2013 或更新版本, Flash Fill也可協助您在文本與數字之間添加字符。

在原始資料旁輸入已添加字符的新資料,然後按 Enter 鍵移至第一個結果的下一個單元格。
 type the new data next to the original data,  press Enter key to go to the next cell of the first result

然後按下 Ctrl + E 鍵以啟用 Flash Fill。
press Ctrl + E keys to enable Flash Fill

擴展說明

本教學還列舉了一些日常或工作中常見的添加文本情境。


10. 為電話號碼/社會號碼添加破折號

有時您需要為一系列電話號碼或社會號碼添加分隔符(如破折號),如下圖所示。如果有數百筆資料,手動輸入會非常耗時。本部分介紹三種快速處理的方法。
Add dashes to phone numbers/social numbers

10.1 使用公式為數字添加破折號


這裡有兩個公式可快速為數字添加破折號。若要在 B3 單元格的第三和第六位數後加破折號,請使用下列公式:

REPLACE 函數

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

TEXT 函數

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

按下 Enter 鍵取得第一個結果,然後拖曳自動填滿控點至其他單元格。
Add dashes to numbers by formulas

注意

您可根據需要更改上述公式參數。例如要在第二、第四和第六位數後加「-」,可用下列公式:

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

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

 

10.2 使用設定儲存格格式為數字添加破折號


若要直接在原始單元格為數字添加破折號,可使用 設定儲存格格式功能。

1. 選取要添加破折號的數字,按 Ctrl +1 鍵開啟設定儲存格格式對話框。

2. 在設定儲存格格式對話框的「數字」標籤下,從「分類」區段選擇「自訂」。

3. 然後在右側 類型 區段,輸入 ###-###-### 到輸入框,點擊 確定.
set cell formatting in the dialog obx

現在選取的數字已添加破折號。
the selected numbers are added dashes

10.3 使用 Kutools for Excel 的 Add Text 功能為電話號碼添加破折號


如果您已在 Excel 安裝 Kutools for ExcelAdd Text 功能也可協助您完成此操作。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...

1. 選取包含需添加破折號數字的單元格,點擊 Kutools > 文字 > Add Text。
click Kutools > Text > Add Text

2. 在 Add Text 對話框中,於 文字 輸入框輸入破折號或其他分隔符,選擇 指定 選項,然後用逗號分隔輸入要添加破折號的位置。
specify the options in the dialog box

3. 點擊確定或應用,選取的數字即已添加破折號。

免費下載 Add Text,30 天試用。


11. 為單元格添加前導零以固定長度

假設有一組長度不一的數字,您希望添加前導零使其長度一致且整齊,如下圖所示。這裡提供兩種方法協助您完成。
Add leading zeros to cells to fix the length

11.1 使用設定儲存格格式為單元格添加前導零


您可以利用設定儲存格格式功能,設定自訂格式,通過添加前導零來固定單元格長度。

1. 選取要添加前導零的單元格,按 Ctrl +1 鍵開啟設定儲存格格式對話框。

2. 在設定儲存格格式對話框的「數字」標籤下,從「分類」區段選擇「自訂」。

3. 然後在右側 類型 區段,輸入 0000 到輸入框(若要固定為4 位數,輸入0000,可根據需要改為5 位數輸入00000),點擊 確定.
specify the custom formatting in the dialog box

然後數字即已添加前導零且長度一致。
he numbers have been added leading zeros and in the same length

注意:若原始資料長度超過設定長度,則會顯示原始資料,不會添加前導零。


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 鍵並拖曳自動填滿控點。
Add leading zeros to cells with formulas

注意:若原始資料長度超過設定長度,則會顯示原始資料,不會添加前導零。


12. 為數字添加尾隨零以固定長度

若要為數字添加尾隨零以固定長度,例如將 B3:B7 的數字補齊為5 位數,可用公式處理。
Add trailing zeros to numbers to fix the length

REPT 函數

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

公式中,number代表要添加尾隨零的數字或單元格引用,length 為您想要的固定長度。

請使用下列公式:

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

按下 Enter 鍵並拖曳自動填滿控點至需要此公式的單元格。
Add trailing zeros to numbers to fix the length with formulas


13. 為文本添加尾隨空格

若要將工作表資料匯出或複製到記事本,因單元格值長度不同,文本可能排列不整齊。為使其整齊如圖所示,需添加尾隨空格。
Add trailing space to text

可用 REPT 函數協助完成此操作。

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

公式中,text 為要添加尾隨空格的文本或單元格引用,max_length 為您想要的固定長度,必須大於或等於所有文本的最大長度。

若要為 B3:C6 的文本添加尾隨空格,請用下列公式:

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

按下 Enter 鍵,然後拖曳自動填滿控點至所有需要此公式的單元格。

本例中,因最長文本為9 個字符,這裡設為10。
Add trailing space to text with formulas


14. 為文本或數字加上引號/括號

有時您需要為單元格中的文本或數字加上引號或括號,如下圖所示。除了逐一手動輸入外,Excel 還有兩種快速方法。
Add quotation brackets around text or numbers

14.1 使用設定儲存格格式加上引號/括號


若要在原始資料的文本周圍加上引號,可用 Excel 的設定儲存格格式功能。

1. 選取要加引號的單元格,按 Ctrl +1 鍵開啟設定儲存格格式對話框。

2. 在 設定儲存格格式 對話框中,於 數字 標籤下,選擇 自訂分類,然後到右側區段輸入 "''"@"''"類型 輸入框。點擊 確定.
specify the custom formatting in the dialog box

選取單元格的文本已加上引號。

若要加括號,請在設定儲存格格式對話框的類型輸入框中使用 (@)

14.2 使用公式加上引號/括號


也可用公式將引號加到其他單元格的文本上。

使用 &連接符

""""&text&""""

char(34)&text&char(34)

本例中,若文本在 B11,請用下列公式:

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

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

按下 Enter 鍵並拖曳自動填滿控點至其他單元格。
Add quotation brackets around by formulas

若要加括號,請用公式 "("&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 & ")"

copy and paste the code into the module

4. 按下 F5 鍵或點擊 執行 按鈕run button 於視窗中啟動 VBA 程式碼。彈出對話框讓您選擇要加引號的單元格。
select the data range

5. 點擊確定。現在選取單元格的文本已加上引號。


15.直接在公式結果中添加文本

有時為了讓其他使用者更易理解數據,您可能需要在公式結果中添加文本,如下圖所示。要在公式中包含文本,可用引號括住文本並用 &連接符將文本與公式結合。
Add text to formula result

案例1公式前加文本

"Today is "&TEXT(TODAY(),"dddd, mmmm dd.")
add text before formula by a formula

案例2公式後加文本

TEXT(NOW(),"HH:MM:SS")&" is the current time."
add text after formula by a formula

案例3公式兩側加文本

"Today sold "&data&" kg."
add texts at two side of formula by a formula


更多 Excel 教學:

合併多個工作簿/工作表至一份
本教學列舉您可能遇到的所有合併情境,並為您提供專業解決方案。

分割文本、數字與日期單元格(分列)
本教學分為三部分:分割文本單元格、分割數字單元格、分割日期單元格。每部分均提供不同範例,協助您遇到相同問題時能順利處理。

合併多個單元格內容且不遺失資料
本教學將提取範圍縮小至單元格特定位置,並彙整多種方法協助您根據特定位置從單元格中提取文本或數字。

比較兩列資料的相同與不同(Excel)
本文涵蓋您可能遇到的各種兩列比較情境,希望對您有所幫助。


  • 超級公式欄(輕鬆編輯多行文字和公式);閱讀版面(輕鬆閱讀和編輯大量儲存格);貼上到已篩選區域...
  • 合併儲存格/列/欄並保留數據;分割儲存格內容;合併重複列並求和/平均值... 防止重複儲存格;比較區域...
  • 選擇重複或唯一列;選擇空白列(所有儲存格均為空);在多個工作簿中進行超級查找和模糊查找;隨機選擇...
  • 精確複製多個儲存格而不改變公式引用;自動創建對多個工作表的引用;插入項目符號、核取方塊等...
  • 收藏並快速插入公式、區域、圖表和圖片;使用密碼加密儲存格建立郵件清單並發送電子郵件...
  • 提取文本、添加文本、按位置刪除、刪除空格;創建並打印分頁小計;在儲存格內容和批註之間轉換...
  • 超級篩選(保存並應用篩選方案到其他工作表);高級排序按月/週/日、頻率等;特殊篩選按粗體、斜體...
  • 合併工作簿和工作表;基於關鍵列合併表格;將數據分割到多個工作表批量轉換 xls、xlsx 和 PDF...
  • 資料透視表按週數、星期幾等分組... 用不同顏色顯示未鎖定、已鎖定的儲存格突出顯示包含公式/名稱的儲存格...
kte tab 201905
  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
  • 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
  • 提高您的生產力 50%,每天減少數百次鼠標點擊!
officetab bottom