Excel在单元格指定位置插入文本和数字
在Excel中,向单元格添加文本或数字是非常常见的操作。例如在姓名之间插入空格、为单元格添加前缀或后缀、为社会保障号码添加短横线等。本文教程几乎涵盖了Excel中所有常见的添加场景,并为您提供了相应的解决方法。
本教程导航 |
备注
在本教程中,我通过一些示例来讲解方法,您可以根据需要修改VBA代码或公式中的引用,或者直接下载示例文件进行尝试。
本部分列举了多种在每个单元格开头添加字符的方法,如下图所示:
您可以选择以下三种公式之一:
公式1连接运算符“&”
通过&符号将多个文本拼接在一起。
"text"&cell
公式2 CONCATENATE函数
CONCATENATE函数用于将文本拼接在一起。
CONCATENATE("text",cell)
公式3 CONCAT函数
这是一个新函数,仅在Excel2019、Office365和Excel Online中提供。
CONCAT("text",cell)
在上述通用公式中:cell为需要添加前缀的单元格引用,text为要添加到单元格的文本。
结合上方示例,您可以在编辑栏中使用如下公式:
"&"
=$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或更高版本,强大的新功能“闪电填充”可以根据您输入的上方单元格自动填充内容。
选择原始数据旁边的单元格,手动输入带前缀的第一个数据,如下所示:
然后在下方单元格继续输入带前缀的第二个数据,输入过程中会出现灰色列表,按下 Enter 键即可让闪电填充自动填充数据。
如果未自动生成预览列表,请进入“开始”选项卡,点击“填充”>“闪电填充”手动运行。
如果您熟悉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 Online中提供。
CONCAT(cell,"text")
在上述通用公式中: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键将相对引用切换为绝对引用。 |
如果您使用的是Excel2013或更高版本,强大的新功能“闪电填充”可以根据您输入的上方单元格自动填充内容。
选择原始数据旁边的单元格,手动输入带后缀的第一个数据,如下所示:
然后激活第一个结果下方的单元格,点击 数据 > 闪电填充,所有下方单元格(包括当前激活单元格)会自动填充。
这里有一段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”文本。
对于大多数用户来说,在单元格开头或结尾添加文本较为简单,但在中间插入文本可能稍有难度。例如,如下图所示,在B3:B7区域每个单元格的第二个字符后添加分隔符(如冒号:)。
这里为您提供了四种公式可完成此操作,请任选其一:
公式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键将相对引用切换为绝对引用。 |
如果您使用的是Excel2013或更高版本, 闪电填充可以根据您输入的上方单元格自动填充内容。
选择原始数据旁边的单元格,手动输入在第二个字符后带冒号的第一个数据,如下所示:
然后激活第一个结果下方的单元格,按下 Ctrl + E 组合键以激活 闪电填充 命令,所有下方单元格(包括当前激活单元格)会自动填充。
注意:如果您使用的是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,其“添加文本”功能可帮助您轻松完成。 Kutools for Excel,它提供了 添加文本 功能。
此添加文本功能可实现:
- 在首字符前添加文本
- 在末字符后添加文本
- 在指定位置添加文本
- 扩展功能:在大写字母前、小写字母前、大小写字母前、数字前添加文本
选择需要添加文本的单元格,然后点击Kutools > 文本 > 添加文本,应用该功能。 Kutools > 文本 > 添加文本.
4.1 在首字符前或末字符后添加文本
在 添加文本 对话框中,在 文本 文本框中输入要添加到单元格的内容,然后勾选 第一个字符前 在 位置 区域。
点击 应用 或 确定 完成添加。
如需在末字符后添加文本,在文本框中输入内容,然后勾选 文本 文本框,勾选 最后一个字符后 在 位置 区域。
点击 应用 或 确定 完成添加。
有时,您可能需要在单元格中间或多个位置添加文本。例如,在社会保障号码的第3位和第7位数字后添加分隔符“-”,如下图所示:
在 添加文本 对话框中,在 文本 文本框中输入内容,勾选 自定义 选项,在下方文本框中用逗号分隔输入插入位置,最后点击 确定 或 应用.
除了在常规位置(开头、结尾、指定位置)添加文本外,添加文本工具还支持在大写字母前、小写字母前、大小写字母前、数字前添加文本。
- 大写字母前
- 小写字母前
- 大小写字母前
- 数字前
在 添加文本 对话框中,在 文本 文本框中输入内容,勾选 高级 选项,然后在下方下拉菜单中选择所需操作。
除了添加文本功能外,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)
本例中公式参数为:
单元格:B4,
查找内容:price,
添加内容:(sale),
替换内容:(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,":",":$")
本例中公式参数为:
单元格:B12,
查找内容::,
替换内容::$。
查找内容长度: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)该代码会在每个字符后添加新文本。如不需要最后一个添加的文本,可用下方公式删除。更多公式详情请访问: 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 键获取第一个结果,然后拖动自动填充柄至其他单元格。
如果您使用的是Excel2013或更高版本, 闪电填充也可帮助您在文本和数字之间添加字符。
在原始数据旁边输入已添加字符的新数据,然后按Enter键进入第一个结果的下一个单元格。
再按下 Ctrl + E 组合键以启用闪电填充。
扩展
本教程还列举了一些日常生活或工作中可能遇到的添加文本场景。
有时,您需要为一系列电话号码或社会保障号码添加分隔符(如短横线),如下图所示。如果需要为数百个号码手动添加,效率极低。本节介绍三种快速处理该问题的方法。
这里有两种公式可快速为数字添加短横线。若需在B3单元格的第3位和第6位数字后添加短横线,请使用如下公式:
REPLACE函数
=REPLACE(REPLACE(B3,4,0,"-"),8,0,"-")
TEXT函数
=TEXT(B3,"???-???-??? ")
按下 Enter 键获取第一个结果,然后拖动自动填充柄至其他单元格。
注意: 您可以根据需要更改上述公式参数。例如要在第2、4、6位数字后添加“-”,可用如下公式: =REPLACE(REPLACE(REPLACE(B3,3,0,"-"),6,0,"-"),9,0,"-") =TEXT(B3,"??-??-??-??? ") |
如需直接在原单元格数字中添加短横线,可使用 设置单元格格式功能。
1.选择需要添加短横线的数字,按下Ctrl +1组合键,打开设置单元格格式对话框。
2. 在设置单元格格式对话框的“数字”选项卡下,从“分类”区域选择“自定义”。
3. 在右侧 类型 区域,输入 ###-###-### 到文本框,点击 确定.
现在所选数字已添加短横线。
10.3通过Kutools for Excel的添加文本功能为电话号码添加短横线
如果您的Excel已安装 Kutools for Excel,添加文本功能同样可以帮您实现。
1.选择包含需添加短横线数字的单元格,点击 Kutools > 文本 > 添加文本。
2. 在 添加文本 对话框中,在 文本 文本框输入短横线或其他分隔符,选择 自定义 选项,在下方文本框输入需添加短横线的位置并用逗号分隔。
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个字符,因此max_length取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%,每天为您减少数百次鼠标点击!
