Excel 在單元格指定位置添加文本與數字
在 Excel 中,為單元格添加文本或數字是一項非常常見的操作。例如在姓名之間插入空格、為單元格添加前綴或後綴、為社會號碼添加破折號等。本教學彙整了 Excel 幾乎所有添加情境,並為您提供相應的方法。
本教學導覽 |
備註
在本教學中,我建立了一些範例來說明方法,當您使用下方 VBA 程式碼或公式時,可以根據需要更改引用,或直接下載範例檔案進行嘗試。
本部分列出多種將字符添加到每個單元格開頭的方法,如下圖所示:
您可以選擇以下三種公式之一:
公式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 的每個單元格。
注意:文本必須用雙引號括起,否則公式會返回錯誤值 #NAME?。如果使用單元格引用文本,請記得使用絕對引用,可按 F4 鍵將相對引用切換為絕對引用。 |
如果您使用的是 Excel2013 或更新版本,強大的新功能 Flash Fill 可以根據您輸入的上方單元格自動填充內容。
選擇原始資料旁的單元格,手動輸入帶有前綴文本的第一筆資料,如下所示:
然後在下方單元格繼續輸入帶前綴的第二筆資料,輸入過程中會顯示灰色列表,請按下 Enter 鍵以讓 Flash Fill 自動填充資料。
如果未自動產生預覽列表,請前往常用標籤,然後點擊填滿 > Flash Fill以手動執行。
如果您熟悉 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" 文本。
除了在單元格開頭添加文本外,在結尾添加文本也很常見。這裡以在每個單元格結尾添加單位為例,如下圖所示:
您可以選擇以下三種公式之一:
公式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 的每個單元格結尾。
注意:文本必須用雙引號括起,否則公式會返回錯誤值 #NAME?。如果使用單元格引用文本,請記得使用絕對引用,可按 F4 鍵將相對引用切換為絕對引用。 |
如果您使用的是 Excel2013 或更新版本,強大的新功能 Flash Fill 可以根據您輸入的上方單元格自動填充內容。
選擇原始資料旁的單元格,手動輸入帶有後綴文本的第一筆資料,如下所示:
然後啟用第一個結果下方的單元格,點擊 數據 > Flash Fill,所有下方單元格(包括目前啟用的單元格)都會自動填滿。
這裡有一段 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" 文本。
對多數人來說,在單元格開頭或結尾添加文本很簡單,但在中間添加文本可能較為困難。例如,如下圖所示,在每個單元格的第二個字符後添加分隔符(如冒號 :)。
這裡提供四種公式供您選擇:
公式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 每個單元格的第二個字符後。
注意:文本必須用雙引號括起,否則公式會返回錯誤值 #NAME?。如果使用單元格引用文本,請記得使用絕對引用,可按 F4 鍵將相對引用切換為絕對引用。 |
3.2 使用 Flash Fill 在字串第 n 個字元後添加
如果您使用的是 Excel2013 或更新版本, Flash Fill 可以根據您輸入的上方單元格自動填充內容。
選擇原始資料旁的單元格,手動輸入在第二個字符後加上冒號的第一筆資料,如下所示:
然後啟用第一個結果下方的單元格,按下 Ctrl + E 鍵以啟動 Flash Fill 指令,所有下方單元格(包括目前啟用的單元格)都會自動填滿。
注意:如果您使用的是 MAC 系統,請按 Command + E 鍵。 |
也可以使用 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 表示您要在哪個位置後添加文本,: 是要添加的文本,3 是2 與所加文本長度的總和。舉例來說,若要在字串 "A B" 的第一個字符後添加 "and",腳本應為 Rng.Value = VBA.Left(Rng.Value,1) & "and" & VBA.Mid(Rng.Value,4, VBA.Len(Rng.Value) -1) |
4. 按下 F5 鍵或點擊 執行 按鈕 於視窗中啟動 VBA 程式碼。彈出對話框讓您選擇要添加文本的單元格。
5. 點擊 確定。現在,區域 B19:B23 每個單元格的第二個字符後都已添加了 ":"。
如果您不想再用公式或 VBA,可以試試功能強大又方便的工具—— Kutools for Excel,它的 Add Text 功能可以幫您輕鬆完成。
此 Add Text 功能可:
- 在第一個字符前添加文本
- 在最後一個字符後添加文本
- 在指定位置添加文本
- 擴展功能
在大寫字母前添加文本
在小寫字母前添加文本
在大小寫字母前添加文本
在數字前添加文本
選取要添加文本的單元格,然後點擊 Kutools > 文字 > Add Text.
4.1 在第一個字符前或最後一個字符後添加文本
在 Add Text 對話框中,於 文字 輸入框輸入要添加到單元格的文本,然後勾選 第一個字符前 於 位置 區段。
點擊 應用 或 確定 即可完成添加。
若要在最後一個字符後添加文本,請於 文字 輸入框輸入要添加的文本,然後勾選 最後一個字符後 於 位置 區段。
點擊 應用 或 確定 即可完成添加。
有時您可能想在單元格中間或多個位置添加文本。例如如下圖所示,在社會號碼的第三和第七位數字後添加分隔符「-」:
在 Add Text 對話框中,於 文字 輸入框輸入要添加的文本,並勾選 指定 選項,然後用逗號分隔輸入要添加的位置,最後點擊 確定 或 應用.
除了在常規位置(開頭、結尾和指定位置)添加文本外,Add Text 工具還支援在以下位置添加文本:
- 大寫字母前
- 小寫字母前
- 大小寫字母前
- 數字前
在 Add Text 對話框中,於 文字 輸入框輸入要添加的文本,並勾選 高級 選項,然後點擊下方下拉選單選擇所需操作。
除了 Add Text 功能外,Kutools for Excel 還有300 多個實用功能,能協助您處理各種 Excel 工作,立即免費下載體驗。
本部分提供在 Excel 中於第一個出現的特定文本前後添加文本的公式。
例如,您想在單元格中第一個 "price" 前添加 "(sale)",如下圖所示:
在 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 鍵取得第一個添加結果,然後拖曳自動填滿控點至需要此公式的單元格。
例如,您想在單元格中第一個冒號 ":" 後添加貨幣符號 "$",如下圖所示:
在 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 鍵取得第一個添加結果,然後拖曳自動填滿控點至需要此公式的單元格。
本教學部分介紹三種不同方法(公式、尋找和替換、VBA),協助您在單元格每個單詞前後添加字符。
在每個單詞前添加字符 |
![]() |
在每個單詞後添加字符 |
![]() |
SUBSTITUTE 函數可用於解決這個問題,通用公式如下:
在每個單詞前添加
"character"&SUBSTITUTE(string, " "," character")
在每個單詞後添加
SUBSTITUTE(string," ","character ")&"character"
假設要在 B3:B6 清單的每個單詞前加上「+」,請使用以下公式:
="+"&SUBSTITUTE(B3, " "," +")
按下 Enter 鍵取得第一個結果,然後拖曳自動填滿控點取得所有結果。
假設要在 B11:B14 清單的每個單詞後加上 ($),請使用以下公式:
=SUBSTITUTE(B11," ","($) ")&"($)"
按下 Enter 鍵取得第一個結果,然後拖曳自動填滿控點取得所有結果。
如果您想在每個單詞(不含第一個)前添加字符,或在每個單詞(不含最後一個)後添加字符,如下圖所示,Excel內建的 尋找和替換工具可以處理此需求。
在每個單詞(不含第一個)前添加
在每個單詞(不含最後一個)後添加
1. 選取要在每個單詞前後添加字符的單元格,然後按 Ctrl + H 鍵開啟 尋找和替換 對話框。
2. 在「尋找內容」輸入框輸入空格,在「替換為」輸入框輸入新字符加空格,最後點擊「全部替換」按鈕。
計算 | 一般 | 範例 |
在每個單詞前添加字符 | 在空格後添加新字符 | 在每個單詞前加 (sale) |
計算 | 一般 | 範例 |
在每個單詞後添加字符 | 新字符後接空格 | 在每個單詞後加 - |
這裡提供兩段 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. 在第二個彈出對話框中,輸入要添加的字符,點擊 確定.
然後字符就會被添加到每個單詞的前或後。
有時您可能想在每個字符之間添加文本。本部分列出兩種情境,一是每個字符之間添加文本,另一是每個數字之間添加空格。
若要在字串每個字符之間添加字符,可利用自訂函數。
本例在每個字符之間添加空格。
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 個字符? LEFT(cell,LEN(cell)-text_length) |
若要在數字字串的每個數字之間添加空格,可使用 TEXT 函數。
注意:要添加空格的數字區域長度需一致,否則部分結果可能不正確。 |
假設區域 B10:B12 有一組8 位數字,請選取要顯示結果的單元格,輸入下列公式:
=TEXT(B10,"# # # # # # # #")
按下 Enter 鍵,然後拖曳自動填滿控點至其他單元格。
若數字長度為5,公式則改為 =TEXT(B10,"# # # # #")。
若要在每個單詞之間添加字符,例如在姓、名、中間名之間加空格,如下圖所示,可使用自訂函數。
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 程式碼中,您可以將 " " 改為其他文本,例如改為 "-"以在單詞間添加 -。 |
若要在文本與數字之間添加特定字符,如下圖所示,這裡提供兩種方法。
若文本在數字前,通用公式如下:
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 使用 Flash Fill 在文本與數字之間添加字符
如果您使用的是 Excel2013 或更新版本, Flash Fill也可協助您在文本與數字之間添加字符。
在原始資料旁輸入已添加字符的新資料,然後按 Enter 鍵移至第一個結果的下一個單元格。
然後按下 Ctrl + E 鍵以啟用 Flash Fill。
擴展說明
本教學還列舉了一些日常或工作中常見的添加文本情境。
有時您需要為一系列電話號碼或社會號碼添加分隔符(如破折號),如下圖所示。如果有數百筆資料,手動輸入會非常耗時。本部分介紹三種快速處理的方法。
這裡有兩個公式可快速為數字添加破折號。若要在 B3 單元格的第三和第六位數後加破折號,請使用下列公式:
REPLACE 函數
=REPLACE(REPLACE(B3,4,0,"-"),8,0,"-")
TEXT 函數
=TEXT(B3,"???-???-??? ")
按下 Enter 鍵取得第一個結果,然後拖曳自動填滿控點至其他單元格。
注意: 您可根據需要更改上述公式參數。例如要在第二、第四和第六位數後加「-」,可用下列公式: =REPLACE(REPLACE(REPLACE(B3,3,0,"-"),6,0,"-"),9,0,"-") =TEXT(B3,"??-??-??-??? ") |
若要直接在原始單元格為數字添加破折號,可使用 設定儲存格格式功能。
1. 選取要添加破折號的數字,按 Ctrl +1 鍵開啟設定儲存格格式對話框。
2. 在設定儲存格格式對話框的「數字」標籤下,從「分類」區段選擇「自訂」。
3. 然後在右側 類型 區段,輸入 ###-###-### 到輸入框,點擊 確定.
現在選取的數字已添加破折號。
10.3 使用 Kutools for Excel 的 Add Text 功能為電話號碼添加破折號
如果您已在 Excel 安裝 Kutools for Excel,Add Text 功能也可協助您完成此操作。
1. 選取包含需添加破折號數字的單元格,點擊 Kutools > 文字 > Add Text。
2. 在 Add Text 對話框中,於 文字 輸入框輸入破折號或其他分隔符,選擇 指定 選項,然後用逗號分隔輸入要添加破折號的位置。
3. 點擊確定或應用,選取的數字即已添加破折號。
假設有一組長度不一的數字,您希望添加前導零使其長度一致且整齊,如下圖所示。這裡提供兩種方法協助您完成。
您可以利用設定儲存格格式功能,設定自訂格式,通過添加前導零來固定單元格長度。
1. 選取要添加前導零的單元格,按 Ctrl +1 鍵開啟設定儲存格格式對話框。
2. 在設定儲存格格式對話框的「數字」標籤下,從「分類」區段選擇「自訂」。
3. 然後在右側 類型 區段,輸入 0000 到輸入框(若要固定為4 位數,輸入0000,可根據需要改為5 位數輸入00000),點擊 確定.
然後數字即已添加前導零且長度一致。
注意:若原始資料長度超過設定長度,則會顯示原始資料,不會添加前導零。 |
若不想更改原始資料,可用公式在其他位置為數字添加前導零。
這裡有三種函數可協助您。
公式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 鍵並拖曳自動填滿控點。
注意:若原始資料長度超過設定長度,則會顯示原始資料,不會添加前導零。 |
若要為數字添加尾隨零以固定長度,例如將 B3:B7 的數字補齊為5 位數,可用公式處理。
REPT 函數
number&REPT("0",length-LEN(number))
公式中,number代表要添加尾隨零的數字或單元格引用,length 為您想要的固定長度。
請使用下列公式:
=B3&REPT("0",5-LEN(B3))
按下 Enter 鍵並拖曳自動填滿控點至需要此公式的單元格。
若要將工作表資料匯出或複製到記事本,因單元格值長度不同,文本可能排列不整齊。為使其整齊如圖所示,需添加尾隨空格。
可用 REPT 函數協助完成此操作。
LEFT(text & REPT(" ",max_length),max_length)
公式中,text 為要添加尾隨空格的文本或單元格引用,max_length 為您想要的固定長度,必須大於或等於所有文本的最大長度。
若要為 B3:C6 的文本添加尾隨空格,請用下列公式:
=LEFT(B3 & REPT(" ",10),10)
按下 Enter 鍵,然後拖曳自動填滿控點至所有需要此公式的單元格。
本例中,因最長文本為9 個字符,這裡設為10。
有時您需要為單元格中的文本或數字加上引號或括號,如下圖所示。除了逐一手動輸入外,Excel 還有兩種快速方法。
若要在原始資料的文本周圍加上引號,可用 Excel 的設定儲存格格式功能。
1. 選取要加引號的單元格,按 Ctrl +1 鍵開啟設定儲存格格式對話框。
2. 在 設定儲存格格式 對話框中,於 數字 標籤下,選擇 自訂 於 分類,然後到右側區段輸入 "''"@"''" 到 類型 輸入框。點擊 確定.
選取單元格的文本已加上引號。
若要加括號,請在設定儲存格格式對話框的類型輸入框中使用 (@)。
也可用公式將引號加到其他單元格的文本上。
使用 &連接符
""""&text&""""
或
char(34)&text&char(34)
本例中,若文本在 B11,請用下列公式:
=""""&B11&""""
或
=char(34)&B11&char(34)
按下 Enter 鍵並拖曳自動填滿控點至其他單元格。
若要加括號,請用公式 "("&text&")"。
若需用 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. 點擊確定。現在選取單元格的文本已加上引號。
有時為了讓其他使用者更易理解數據,您可能需要在公式結果中添加文本,如下圖所示。要在公式中包含文本,可用引號括住文本並用 &連接符將文本與公式結合。
案例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) |
- 超級公式欄(輕鬆編輯多行文字和公式);閱讀版面(輕鬆閱讀和編輯大量儲存格);貼上到已篩選區域...
- 合併儲存格/列/欄並保留數據;分割儲存格內容;合併重複列並求和/平均值... 防止重複儲存格;比較區域...
- 選擇重複或唯一列;選擇空白列(所有儲存格均為空);在多個工作簿中進行超級查找和模糊查找;隨機選擇...
- 精確複製多個儲存格而不改變公式引用;自動創建對多個工作表的引用;插入項目符號、核取方塊等...
- 收藏並快速插入公式、區域、圖表和圖片;使用密碼加密儲存格;建立郵件清單並發送電子郵件...
- 提取文本、添加文本、按位置刪除、刪除空格;創建並打印分頁小計;在儲存格內容和批註之間轉換...
- 超級篩選(保存並應用篩選方案到其他工作表);高級排序按月/週/日、頻率等;特殊篩選按粗體、斜體...
- 合併工作簿和工作表;基於關鍵列合併表格;將數據分割到多個工作表;批量轉換 xls、xlsx 和 PDF...
- 資料透視表按週數、星期幾等分組... 用不同顏色顯示未鎖定、已鎖定的儲存格;突出顯示包含公式/名稱的儲存格...

- 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
- 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
- 提高您的生產力 50%,每天減少數百次鼠標點擊!
