Excel 教程:合并列、行、单元格
在日常 Excel 工作中,您可能经常需要合并列、行或单元格——例如将名字和姓氏两列合并为一列以生成全名,根据相同 ID 合并行并对对应数值求和,或将一个单元格区域合并为单个单元格等。本教程全面涵盖 Excel 中合并列、行与单元格的所有常见场景,并为您提供多样化的高效解决方案。
本教程导航 |
1 将合并列/行合并到一个单元格中1.1 将合并列/行合并到一个单元格中,并以空格、逗号或其他分隔符分隔 1.12 使用 CONCATENATE 函数(Excel 2016 或更早版本) |
2. 按相同 ID 合并行 |
3. 合并单元格3.12 使用 CONCATENATE 函数(Excel 2016 或更早版本) |
在本教程中,我精心准备了一些示例,以清晰展示相关方法的实际应用。当您使用下方的 VBA 代码或公式时,可根据实际需求灵活调整引用内容,也可直接下载示例文件,立即体验这些高效方法。
1 将合并列/行合并到一个单元格中
在 Excel 中,将多列或多行内容合并到一个单元格中,并以逗号、空格或其他分隔符分隔(如下方截图所示),是最常用的操作之一。
| 将合并列合并到一个单元格中 |
![]() |
| 将合并行合并到一个单元格中 |
![]() |
在 Excel 中,符号 & 通常用于连接文本。
示例:将名字(A 列)和姓氏(B 列)合并为全名
选择一个用于放置合并结果的单元格,然后输入如下公式:
=A2&" "&B2
在该公式中,& 用于连接文本,A2 和 B2 是需要合并的两个文本,“ ”则作为结果单元格中分隔这两段文本的分隔符(即空格)。如果您希望改用逗号作为分隔符,只需将空格替换为双引号括起的逗号“,”即可。
按 Enter 键获取合并结果,然后向下拖动自动填充柄即可继续填充。
示例:将编号(第 15 行)和名称(第 16 行)合并到一个单元格中
如果您希望将合并行的内容整合到一个单元格中,请根据需要调整公式中的单元格引用和分隔符,然后向右拖动填充柄,即可快速获得合并结果。
1.12 使用 CONCATENATE 函数(Excel 2016 或更早版本)
如果您使用的是 Excel 2016 或更早版本,CONCATENATE 函数将为您提供有力支持。
| CONCATENATE 函数语法 |
| CONCATENATE (text 1,[text 2],…) |
想了解更多关于 CONCATENATE 函数的详细信息?立即访问!
示例:将姓名(F 列)和地址(G 列)合并为一列
选择一个用于放置合并结果的单元格,然后输入如下公式:
=CONCATENATE(F2,",",G2)
在该公式中,F2 和 G2 是需要合并的两个文本,“,” 是结果单元格中用于分隔这两个文本的分隔符(逗号)。如果您希望使用空格作为分隔符,只需输入用双引号括起来的空格 “ ” 即可。
按 Enter 键获取合并结果,然后向下拖动自动填充柄即可快速填充其余合并结果。
对于合并行,只需按需调整单元格引用和分隔符,然后向右拖动自动填充柄即可。
1.13 使用 CONCAT 函数或 TEXTJOIN 函数(Excel 2019 或 Excel 365)
如果您使用的是 Excel 2019 或 Excel 365,CONCAT 函数和 TEXTJOIN 函数或许是更优之选。
| CONCAT 函数语法 |
| CONCAT (text 1,[text 2],…) |
如需了解 CONCAT 函数的更多详细信息,请立即访问!
CONCAT 函数的用法与 CONCATENATE 函数完全相同。若要将名字和姓氏分别位于两列中的内容合并为一列,可使用以下公式:
=CONCAT(A21," ",B21)
在该公式中,A21 和 B21 是需要合并的两段文本,“ ”(空格)则是用于分隔它们的分隔符。若您希望使用其他分隔符,只需将相应字符用双引号括起并输入即可。
按 Enter 键获取合并结果,然后向下拖动自动填充柄以填充其余合并结果。
与合并列不同,在合并行时,输入第一个公式后,您需要向右拖动自动填充柄,直至获得所有合并结果。
| TEXTJOINT 函数语法 |
| TEXTJOIN (delimiter, ignore_empty, text 1, [text 2], ...) |
想了解更多关于 TEXTJOIN 函数的详细信息?立即访问:TEXTJOIN。
使用 TEXTJOIN 合并合并列或行:
=TEXTJOIN(",",TRUE,E21:G21))
在该公式中,E21:G21 是需要合并的连续区域;“ ”(空格)是结果单元格中用于分隔文本的分隔符。若要使用其他分隔符,只需将相应字符用双引号括起即可。逻辑值“TRUE”表示合并时忽略空单元格;如需保留空单元格,请将 TRUE 替换为 FALSE。
按 Enter 键获取合并结果,然后向下拖动自动填充柄以填充其余合并结果。
| 忽略空值 |
![]() |
| 包含空值 |
![]() |
1. 使用记事本即可实现列的合并(不支持行合并)。
选择要合并为一个单元格的区域,然后按下 Ctrl+C 键复制该区域。
2. 打开记事本,然后按 Ctrl+V 即可粘贴已复制的内容。
3. 在记事本中选择两个文本之间的制表符,然后按 Ctrl+H 启用替换功能,此时制表符已自动填入查找内容文本框中。
4. 在替换为文本框中输入您希望用于分隔合并文本的分隔符,然后单击全部替换,随后关闭替换对话框。
5. 现在选中记事本中的文本,按下 Ctrl+C 复制,然后切换到 Excel,选择一个单元格并按下 Ctrl+V 粘贴合并结果。

如果您希望将合并列或行合并到一个单元格中,并使用换行符作为分隔符(如下方截图所示):
首先,您需要了解在 Excel 中,CHAR()函数可用于输入公式中难以直接键入的字符,例如 CHAR(10) 即可返回一个换行符。
然后将 CHAR(10) 应用于上述公式中,即可使用换行符作为分隔符合并合并列或行:
与符号:
=A49&CHAR(10)&B49
CONCATENATE 函数:
=CONCATENATE(A49,CHAR(10),B49)
CONCAT 函数
=CONCAT(A49,CHAR(10),B49)
TEXTJOIN 函数
=TEXTJOIN(CHAR(10),TRUE,A49:B49)
输入上述任一公式后,选中结果,然后单击开始> 自动换行。
现在,这些列已合并为一列,并以换行符分隔。
如果您只想将某一列中的多行内容合并到一个单元格中,Excel 的“两端对齐”功能就能轻松实现!选中包含多行的列,然后点击开始> 填充> 两端对齐,这些内容便会自动合并到该区域顶部的单元格中,并以空格作为分隔符。
![]() | ![]() |
本节教程将介绍如何将合并列或行合并到一个单元格中,并按如下截图所示进行忽略空白单元格:
1.21 使用 TEXTJOIN 函数(适用于 Excel 2019 或 Excel 365)
如果您使用的是 Excel 2019 或 Excel 365,全新函数 TEXTJOIN 能轻松搞定这项任务。
| CONCATENATE 函数语法 |
| TEXTJOIN (delimiter, ignore_empty, text 1, [text 2], ...) |
有关 TEXTJOIN 函数的更多详情,请立即访问!
示例:将姓名(A 列)、编号(B 列)和域名(C 列)合并到一个单元格中,生成邮箱地址,其中部分编号可能为空。
选择一个用于放置合并结果的单元格,输入如下公式:
=TEXTJOIN("",TRUE,A2:C2)
在该公式中,A2:C2 是待合并文本所在的区域;“““”表示结果单元格中用于分隔文本的分隔符(此处为空)。若您希望使用分隔符,请在双引号内输入相应字符,例如““,“”。逻辑值“TRUE”表示合并时忽略空单元格;若要保留空单元格,请将 TRUE 替换为 FALSE。
按下 Enter 键获取第一个结果,然后根据需要向右或向下拖动自动填充柄,即可快速生成所有结果。
如果您使用的是 Excel 2016 或更早版本,可使用 & 符号逐个连接文本,并手动跳过空单元格。
选择一个用于放置合并结果的单元格,然后输入如下公式:
=A10&C10
在该公式中,& 用于连接文本,A10 和 C10 是需要合并的两个文本。如果希望以逗号作为分隔符,只需在双引号中输入逗号(如“,”),并用 & 将两个文本连接起来。
按下 Enter 键即可获取合并结果,随后修改公式中的引用,就能获得下一个合并结果。
对于使用 Excel 2016 及更早版本的用户,若需合并多个列或行并自动跳过空单元格,可通过 VBA 快速创建自定义函数轻松实现。
1. 按下 Alt+F11 键,即可打开 Microsoft Visual Basic for Applications 窗口。
2. 点击插入> 模块 即可插入一个新模块。
3. 将下方代码复制并粘贴到新模块中,然后保存。
VBA:合并单元格忽略空白单元格
Function Concatenatecells(ConcatArea As Range) As String
'updateby Extendoffice
For Each n In ConcatArea: nn = IIf(n = "", nn & "", nn & n & "_"): Next
Concatenatecells = Left(nn, Len(nn) - 1)
End Function 
4. 返回工作表,选择一个用于放置合并结果的单元格,然后输入公式。
=Concatenatecells(A15:C15)
在该公式中,A15:C15 为需要合并文本的区域。在 VBA 代码中,“_” 用作分隔合并结果中各段文本的分隔符,您可根据实际需求随时更改。
如果您已在 Excel 中安装了 Kutools for Excel,合并行/列/单元格并保留值功能将在各类合并任务中为您提供极大帮助。
1. 请选择要合并的单元格,以及用于放置合并结果的目标单元格。
2. 点击 Kutools > 合并和拆分 > 合并行/列/单元格并保留值。
3. 在弹出的对话框中,请按以下方式指定选项:
1)指定要合并列、合并行,或将所有单元格合并为一个单元格。
| 合并列例如 | 合并行例如 | 合并到一个单元格例如 |
![]() | ![]() | ![]() |
2)指定用于分隔合并结果中文本的分隔符。
3)指定合并结果的位置(选择“合并到一个单元格”选项时,此设置不可用)。
选择合并列选项时,您可以将结果放置在所选区域左侧或右侧的单元格中。
| 左边的单元格例如 | 右边的单元格例如 |
![]() | ![]() |
选择合并行选项时,您可以指定将结果放置在所选区域上方的单元格中,或下方的单元格中。
| 上面的单元格例如 | 下面的单元格例如 |
![]() | ![]() |
4)指定如何处理合并结果。
4. 点击确定或应用即可完成合并。
| 保留这些单元格的内容 |
![]() |
| 删除这些单元格的内容 |
![]() |
| 合并这些单元格 |
![]() |
有关此功能的更多详情,请访问合并列、行或单元格且不丢失数据。
想了解 Kutools for Excel 的更多详情,请立即访问!
如需免费试用 Kutools for Excel 30 天,请立即下载。
有时,您可能希望在某一列包含空单元格的情况下合并两列。例如,A 列包含用户名及部分空单元格,B 列包含姓名;此时合并两列,仅用 B 列对应内容填充 A 列中的空单元格,如下图所示:
IF 函数可用于测试特定条件。在此,您可以利用 IF 函数检测单元格是否为空,并在为空时用另一列的内容自动填充。
| IF 函数语法 |
| IF (logical_test, [value_if_true], [value_if_false]) |
有关 IF 函数的更多详情,请访问:IF
选择要放置合并结果的列的上面的单元格,然后复制或输入以下公式:
=IF(A2="",B2,A2)
然后按下 Enter 键获取第一个结果,并向下拖动自动填充柄,即可快速获取所有结果。
现在,A 列中的空单元格已由 B 列的内容自动填充。
以下 VBA 代码同样能高效完成此任务。
1. 按下 Alt+F11 键,打开 Microsoft Visual Basic for Applications 窗口,然后点击插入> 模块,即可创建一个新空白模块。
2. 将下方代码复制并粘贴到新建的模块中。
VBA:若为空则合并两列
Sub MergebyBlank()
'UpdatebyExtendoffice20220506
Dim xRg1, xRg2, xRgUser As Range
Dim xRg As Range
Dim xWsh As Worksheet
Dim xCount, xFNum As Integer
Set xRg1 = Range("A:A")
Set xRg2 = Range("B:B")
Set xWsh = xRg1.Worksheet
Set xRgUser = xWsh.UsedRange
Set xRg1 = Intersect(xRgUser, xRg1)
Set xWsh = xRg2.Worksheet
Set xRgUser = xWsh.UsedRange
Set xRg2 = Intersect(xRgUser, xRg2)
xCount = xRg1.Count
If (xCount > xRg2.Count) Then
xCount = xRg2.Count
End If
For xFNum = 1 To xCount
If (xRg1.Item(xFNum).Value = "") Then
If (xRg2.Item(xFNum).Value <> "") Then
xRg1.Item(xFNum).Value = xRg2.Item(xFNum).Value
End If
ElseIf (xRg2.Item(xFNum).Value = "") Then
If (xRg1.Item(xFNum).Value <> "") Then
xRg2.Item(xFNum).Value = xRg1.Item(xFNum).Value
End If
End If
Next
End Sub

在代码中,A:A 和 B:B 是待合并的两列,您可根据实际需求进行调整。
3. 然后按下 F5 键或点击运行
按钮,即可将 B 列中的值自动填充到 A 列的空白单元格中。
2 按相同 ID 合并合并行
假设您有一个包含多列的表格,其中某一列包含重复的 ID 值。本教程将为您介绍如何根据相同的 ID 合并表格行,并执行相应的计算。
本节将介绍如何按相同 ID 合并行,并以逗号分隔,如下图所示:
以下提供了一段可完成此任务的 VBA 代码。
1. 按 Alt+F11 键打开 Microsoft Visual Basic for Applications 窗口,然后单击插入> 模块,创建一个新的空白模块。
2. 将以下代码复制并粘贴到新建的模块中。
VBA:按相同 ID 合并合并行
Sub Combine_Rows()
'UpdatebyExtendoffice20220506
Dim xRg As Range
Dim xRows As Long
Dim I As Long, J As Long, K As Long
On Error Resume Next
Set xRg = Application.InputBox("Select Range:", "Kutools For Excel", Selection.Address, , , , , 8)
Set xRg = Range(Intersect(xRg, ActiveSheet.UsedRange).Address)
If xRg Is Nothing Then Exit Sub
xRows = xRg.Rows.Count
For I = xRows To 2 Step -1
For J = 1 To I - 1
If xRg(I, 1).Value = xRg(J, 1).Value And J <> I Then
For K = 2 To xRg.Columns.Count
If xRg(J, K).Value <> "" Then
If xRg(I, K).Value = "" Then
xRg(I, K) = xRg(J, K).Text
Else
xRg(I, K) = xRg(I, K).Text & "," & xRg(J, K).Text 'here uses comma as separator, you can change it to others as you need
End If
End If
Next
xRg(J, 1).EntireRow.Delete
I = I - 1
J = J - 1
End If
Next
Next
ActiveSheet.UsedRange.Columns.AutoFit
End Sub 
3. 然后按 F5 键,或单击功能区中的运行
按钮,随后将弹出一个 Kutools for Excel 对话框,供您选择需要按相同 ID 合并行的表格。
4. 单击确定,即可根据相同 ID 合并所选表格中的行。
如果仅有两列,且您希望将具有相同 ID 的行合并,并以逗号分隔另一列的值(如下图所示),IF 函数即可满足您的需求。
1. 对 ID 列按 A 到 Z 排序:选中 ID 列,单击数据> 升序。
2. 然后在排序警告对话框中,勾选扩展选定区域选项,再单击排序。
现在,相同 ID 的项目已集中排列在一起。
3. 在相邻列中,使用以下 IF 函数:
=IF(A17=A18,C17&", "&B18,B18)
公式中,A17 和 A18 是 ID 列中的两个相邻单元格(其中 A17 为 ID 列的标题),B18 是与 A18 对应的单元格。“,”表示使用逗号分隔数值。您可根据需要调整单元格引用及分隔符。
4. 按 Enter 键获取第一个结果,然后向下拖动自动填充柄即可获取所有结果。
5. 转到相邻列,输入以下公式:
=IF(A18A19,"Merged","")
在公式中,A18 和 A19 是 ID 列中的两个相邻单元格;若二者不相等,则返回“Merged”,否则返回空值。
6. 按 Enter 键获取第一个结果,然后向下拖动自动填充柄,即可快速填充所有结果。
7. 选中包含标题的最后一列公式,然后单击数据> 筛选。
8. 单击筛选按钮,在下拉菜单中勾选 Merged 复选框,再单击确定。
现已仅筛选出已合并的行,请复制筛选后的数据并粘贴至其他位置。
想深入了解 IF 函数?立即访问:IF。
如果您已在 Excel 中安装了 Kutools for Excel,即可轻松使用其高级合并行工具完成此任务。
1. 选择表格,然后单击 Kutools > 合并和拆分 > 高级合并行。
2. 在高级合并行对话框中,请执行以下操作:
1)选择 ID 列,并将其设为主键;
2)选择要使用分隔符合并值的列,单击合并,即可选择一个分隔符。
3)单击确定。
现在行已按相同 ID 合并。
高级合并行功能可能会破坏原始数据,请在使用前务必将数据另存为副本。
有关此功能的更多详情,请访问高级合并行。
想了解 Kutools for Excel 的更多详情,请立即访问!
如需体验 Kutools for Excel 的 30 天免费试用版,请立即下载。
如果您希望按相同 ID 合并行,并对数值进行求和或其他计算(如下图所示),以下方法将为您提供帮助。
如果仅有两列,其中一列包含文本(ID),另一列包含需要计算的数值(例如求和),Excel 内置的合并计算功能即可满足您的需求。
1. 选择一个用于放置合并结果的单元格,然后点击数据> 合并计算。
2. 在合并计算对话框中,请执行以下操作:
1)根据需要选择函数;
2)单击箭头选择表格;
3)单击添加,将选择区域添加到所有引用列表中;
4)勾选首行和最左列的复选框;
5)单击确定。
表格现已按相同 ID 汇总求和。
以下 VBA 代码同样可根据相同 ID 合并行并对数值求和。
1. 按下 Alt+F11 键,打开 Microsoft Visual Basic for Applications 窗口,然后单击插入> 模块,创建一个全新的空白模块。
2. 在新模块中,复制并粘贴以下 VBA 代码。
VBA:合并重复行并求和
Sub CombineRows()
'Updateby Extendoffice
Dim WorkRng As Range
Dim Dic As Variant
Dim arr As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Set Dic = CreateObject("Scripting.Dictionary")
arr = WorkRng.Value
For i = 1 To UBound(arr, 1)
Dic(arr(i, 1)) = Dic(arr(i, 1)) + arr(i, 2)
Next
Application.ScreenUpdating = False
WorkRng.ClearContents
WorkRng.Range("A1").Resize(Dic.Count, 1) = Application.WorksheetFunction.Transpose(Dic.keys)
WorkRng.Range("B1").Resize(Dic.Count, 1) = Application.WorksheetFunction.Transpose(Dic.items)
Application.ScreenUpdating = True
End Sub 3. 然后按 F5 键,或单击
按钮旁的运行,随后会弹出一个对话框供您选择所用表格,再单击确定。
当前所选区域已按相同值合并并求和。
VBA 可能会破坏原始数据,请在使用前务必将数据另存为副本。
如果表格中有超过两列需要合并并进行计算,例如有三列:第一列包含需合并的重复产品名称,第二列包含需用逗号分隔合并的店铺名称,最后一列列包含需根据第一列重复行求和的数值(如下图所示),Kutools for Excel 的高级合并行可为您提供帮助。
1. 选择表格,然后单击 Kutools > 合并和拆分 > 高级合并行。
2. 在高级合并行对话框中,请执行以下操作:
1)选择 ID 列,并将其设置为主键;
2)选择要使用分隔符合并值的列,单击合并并选择一个分隔符。
3)选择要进行计算的列,点击计算,即可选择一种计算方式。
4)单击确定。
现在,内容相同的行已合并并完成计算。
高级合并行功能可能会破坏原始数据,请在使用前务必将数据另存为副本。
有关此功能的更多详情,请访问高级合并行。
有关关于 Kutools for Excel 的更多详情,请访问 Kutools for Excel。
如需免费试用 Kutools for Excel 30 天,请立即下载。
如果表格包含多列,且其中某一列存在重复值,如何将该列中相邻且值相同的行合并,如下图所示?
Excel 本身并未内置可直接完成此任务的功能,但这里提供了一段 VBA 代码来实现它。
1. 按 Alt+F11 键以打开 Microsoft Visual Basic for Applications 窗口,然后单击插入> 模块 以创建一个全新的空白模块。
2. 在新模块中,复制并粘贴以下 VBA 代码。
VBA:合并相邻且值相同的行
Sub MergeSameCell()
'Updateby Extendoffice
Dim Rng As Range, xCell As Range
Dim xRows As Integer
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xRows = WorkRng.Rows.Count
For Each Rng In WorkRng.Columns
For i = 1 To xRows - 1
For j = i + 1 To xRows
If Rng.Cells(i, 1).Value <> Rng.Cells(j, 1).Value Then
Exit For
End If
Next
WorkRng.Parent.Range(Rng.Cells(i, 1), Rng.Cells(j - 1, 1)).Merge
i = j - 1
Next
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

3. 然后按 F5 键或单击功能区中的运行
按钮以启用此 VBA,随后将弹出对话框供您选择要使用的表格,请单击确定。
现在,选择区域中第一列值相同的相邻行已被合并。
VBA 可能会破坏原始数据,请在使用前务必将数据另存为副本。此外,此 VBA 会将所选表格第一列中的相同值自动合并。
如果您已在 Excel 中安装了 Kutools for Excel,则其合并相同单元格功能可一步完成此任务。
选择要合并相同值的列,然后单击 Kutools > 合并和拆分 > 合并相同单元格。
现在,值相同的相邻单元格已被合并。
如果您想取消合并单元格并还原填充值,可使用取消合并单元格并填充值功能。
有关此功能的更多详情,请访问合并相同单元格。
有关此功能的更多详情,请访问取消合并单元格页面。
有关关于 Kutools for Excel 的更多详情,请访问 Kutools for Excel。
如需体验 Kutools for Excel 的 30 天免费试用,请立即下载。
3 合并单元格
此处提供了四种方法,用于将包含多行多列的区域合并到单个单元格中。
示例:合并区域 A1:C3
在 Excel 中,符号 & 通常用于连接文本。
选择一个用于放置合并结果的单元格,然后输入如下公式:
=A1&", "&B1&", "&C1&", "&A2&", " &B2&", "&C2&", "&A3&", "&B3&", "&C3
公式中,& 用于连接文本,“, ”是分隔符(逗号加空格),用于在结果单元格中分隔两个文本;若要使用其他分隔符,只需在双引号内输入所需分隔符即可。
按下 Enter 键即可获取合并结果。
3.12 使用 CONCATENATE 函数(Excel 2016 或更早版本)
如果您使用的是 Excel 2016 或更早版本,CONCATENATE 函数将为您提供有力支持。
| CONCATENATE 函数语法 |
| CONCATENATE (text 1,[text 2],…) |
有关 CONCATENATE 函数的更多详情,请访问:CONCATENATE
选择一个用于放置合并结果的单元格,然后输入如下公式:
=CONCATENATE(A1,", ",B1,", ",C1,", ",A2,", ",B2,", ",C2,", ",A3,", ",B3,", ",C3)
公式中,A1、B1……、C3 是您要合并的文本。“, ”是分隔符(逗号加空格),用于在结果单元格中分隔两个文本;若要使用其他分隔符,只需在双引号内输入所需分隔符即可。
然后按下 Enter 键,即可获取合并结果。
3。13 使用 CONCAT 函数或 TEXTJOIN 函数(适用于 Excel 2019 或 Excel 365)
如果您使用的是 Excel 2019 或 Excel 365,CONCAT 函数和 TEXTJOIN 函数或许是更优之选。
| CONCAT 函数语法 |
| CONCAT (text 1,[text 2],…) |
想了解更多关于 CONCAT 函数的详情,请访问:CONCAT。
CONCAT 函数的用法与 CONCATENATE 函数完全相同。若要将分别位于两列中的名字和姓氏合并到一列中,可使用以下公式:
=CONCAT(A1,", ",B1,", ",C1,", ",A2,", ",B2,", ",C2,", ",A3,", ",B3,", ",C3)
公式中,A1、B1……、C3 是您要合并的文本。“, ”是分隔符(逗号加空格),用于在结果单元格中分隔两个文本;若要使用其他分隔符,只需在双引号内输入所需分隔符即可。
然后按下 Enter 键,即可立即获取合并结果。
| TEXTJOIN 函数语法 |
| TEXTJOIN (delimiter, ignore_empty, text 1, [text 2], ...) |
有关 TEXTJOIN 函数的更多详情,请访问:TEXTJOIN。
使用 TEXTJOIN 合并合并列或行:
=TEXTJOIN(", ",TRUE,A1:C3)
公式中,A1:C3 是需要合并的连续区域。“, ”是分隔符(逗号加空格),用于在结果单元格中分隔两个文本;若要使用其他分隔符,只需在双引号“”内输入所需分隔符即可。逻辑值“TRUE”表示在合并时忽略空单元格;若要在合并时保留空单元格,请将 TRUE 替换为 FALSE。
然后按 Enter 键以获取合并结果。
若要使用换行符作为分隔符,请在公式中使用 CHAR(10),例如 =TEXTJOIN(CHAR(10),TRUE,A1:C3),然后将结果单元格设置为“自动换行”。
3.14 使用合并列/行/单元格合并到一个单元格且不丢失数据
如果您已在 Excel 中安装了 Kutools for Excel,即可使用其合并行/列/单元格并保留值功能快速完成此任务。
1. 选择要合并到一个单元格的单元格区域,然后单击 Kutools > 合并和拆分 > 合并行/列/单元格并保留值。
2. 在弹出的对话框中,根据需要勾选合并到一个单元格选项及分隔符,然后单击确定。
现在,单元格已使用指定分隔符合并到一个单元格中。如果合并后的内容过长无法完整显示,您可以单击开始选项卡下的自动换行,即可完整显示全部内容。
有关此功能的更多详情,请访问合并列、行、单元格且不丢失数据。
有关关于 Kutools for Excel 的更多详情,请访问 Kutools for Excel。
如需 Kutools for Excel 的 30 天免费试用版,请立即下载。
| 将单元格转置为单列 |
![]() |
| 将单元格转置为单行 |
![]() |
如果要将单元格区域转置为单列,可以先命名该区域,然后使用 INDEX 函数。
1. 选择单元格区域,右键单击打开上下文菜单,然后点击定义名称。
2. 在弹出的新建名称对话框中,于名称文本框中输入名称,然后单击确定。
3. 命名区域后,选择一个用于放置转置数据的单元格,并使用如下 INDEX 函数:
=INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1)
想深入了解 INDEX 函数?立即点击此处获取详情!
4. 按 Enter 键,然后向下拖动自动填充柄填充公式,直至出现 #REF! 错误值。
5. 删除错误值后,单元格区域将自动合并为单列。
此处还提供了一段 VBA 代码,用于将单元格合并为单列。
1. 按 Alt+F11 键以打开 Microsoft Visual Basic for Applications 窗口,然后单击插入> 模块 以创建一个新的空白模块。
2. 将下方的 VBA 代码复制并粘贴到空白模块中。
VBA:转换区域转换为一列
Sub ConvertRangeToColumn()
'UpdatebyExtendoffice
Dim Range1 As Range, Range2 As Range, Rng As Range
Dim rowIndex As Integer
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
rowIndex = 0
Application.ScreenUpdating = False
For Each Rng In Range1.Rows
Rng.Copy
Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
rowIndex = rowIndex + Rng.Columns.Count
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

3. 然后按 F5 键,或单击功能区上的运行
按钮,即可弹出对话框以选择单元格区域,单击确定。
4. 随后将弹出另一个对话框,用于选择结果存放的单元格,单击确定。
如果您希望将多个单元格合并为一行,Excel 并未提供内置功能支持此操作。但若您已安装 Kutools for Excel,即可使用其转换区域功能,轻松将区域转换为单列或单行,也能将一行或一列还原为区域。
1. 选择单元格区域,然后单击 Kutools > 区域 > 转换区域。
2. 在转换区域对话框中,根据需要勾选区域转单列或区域转单行选项,然后单击确定。
3. 在弹出用于选择放置结果单元格的对话框后,单击确定。
现在,个单元格已经被成功转换已转换为一行或一列。
了解更多此功能的详情,请访问转换区域。
有关关于 Kutools for Excel 的更多详情,请访问 Kutools for Excel。
如需 Kutools for Excel 的 30 天免费试用版,请立即下载。
如果一个多列表格中包含重复项,如何将各列堆叠为一列并去除重复项(如下图所示)?
本节提供了三种不同的处理方法。
在 Excel 中,解决此任务的常规方法是逐列复制粘贴,然后删除重复值。
1. 选择第一列,按下 Ctrl+C 键复制,再选中目标单元格,按下 Ctrl+V 键粘贴。
2. 然后重复步骤 1,依次复制其他列并将其粘贴到第一列下方。
3. 然后选择堆叠后的列,单击数据 > 删除重复,在弹出的删除重复项对话框中勾选列名,再单击确定。

4. 此时会弹出一个对话框,提示您已删除重复值。单击确定即可关闭该对话框,堆叠后的列将仅保留唯一值。
如果有数百列,逐列复制粘贴将非常耗时。但如果您已在 Excel 中安装了 Kutools for Excel,即可使用其转换区域功能,快速将区域转为一列,再结合 Excel 的删除重复功能,轻松提升效率!
选择多列区域,然后单击 Kutools > 区域 > 转换区域。
然后勾选区域转单列选项,并单击确定,以选择用于放置堆叠列的单元格。
然后应用“删除重复”功能,以清除重复值。
有关此功能的更多详情,请访问转换区域。
有关关于 Kutools for Excel 的更多详情,请访问 Kutools for Excel。
如需 Kutools for Excel 的 30 天免费试用版,请立即下载。
此外,以下 VBA 代码也能轻松完成此任务。
1. 按 Alt+F11 键以打开 Microsoft Visual Basic for Applications 窗口,然后单击插入> 模块 以创建一个新的空白模块。
2. 将以下代码复制并粘贴到新模块中。
VBA:将多列堆叠为一列并去除重复项
Sub FindUniques()
'UpdatebyExtendoffice
Dim rng As Range
Dim InputRng As Range, OutRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set dic = CreateObject("Scripting.Dictionary")
For j = 1 To InputRng.Columns.Count
For i = 1 To InputRng.Rows.Count
xValue = InputRng.Cells(i, j).Value
If xValue <> "" And Not dic.Exists(xValue) Then
OutRng.Value = xValue
dic(xValue) = ""
Set OutRng = OutRng.Offset(1, 0)
End If
Next
Next
End Sub

3. 然后按 F5 键,或单击运行
按钮,随后会弹出一个对话框用于选择需要堆叠的列,单击确定。
4. 在第二个弹出的对话框中,选择用于放置堆叠后列的目标单元格,然后单击确定。
现在,这些列已堆叠为一列,并保留了所有唯一值。
如果有两列,其中一列采用了特殊格式(例如自定义日期时间格式 mm/dd/yyyy),使用常规方法将这两列合并为一列时,自定义格式会被移除(如下图所示):
本节将介绍几种合并单元格并保留格式的方法。
TEXT 函数用于将数值至文本转换为特定格式。此处我们可先用它将包含数字的单元格转换为指定格式,再通过“&”、CONCATENATE 函数、CONCAT 函数或 TEXTJOIN 函数与其他单元格合并。
有关常规合并单元格的详细信息,请返回至 1.1.
| TEXT 函数语法 |
| TEXT (value, format_text) |
有关 TEXT 函数的更多详情,请访问该函数页面。
以下以在 CONCAT 函数中嵌入 TEXT 函数为例。
请将下方公式复制并粘贴到您希望放置合并结果的单元格中:
=CONCAT(TEXT(A2,"mm/dd/yyyy hh:mm")," ",B2)
公式中,A2 是您希望保留其格式的单元格,“mm/dd/yyyy hh:mm” 是所用的格式,B2 是用于合并的另一单元格。“ “ 表示用空格分隔值。您可以根据需要更改引用、格式和分隔符。
按 Enter 键后,向下拖动自动填充柄,即可将此公式填充到其他单元格。
1. 选择要合并为一个单元格的表格,然后按下 Ctrl+C 进行复制。
2. 打开一个空白的 Word 文档,按下 Ctrl+V 将其粘贴进去,然后单击文档中的表格,此时表格右上角将出现一个十字图标。
3. 单击布局选项卡,然后在数据组中单击转换为文本,在弹出的表格转文本对话框中指定列之间的分隔符,再单击确定。

现在,Word 中表格的内容已转换为文本。
4. 选中转换后的文本,按下 Ctrl+C 复制,然后返回 Excel,选择一个空白单元格,按下 Ctrl+V 粘贴合并结果。
最高效的方法是使用 Kutools for Excel 的合并行/列/单元格并保留值功能——只需在应用该功能时勾选使用格式化后的值复选框,即可让合并结果完美保留原有数据格式!
1. 选择包含结果单元格的表格,单击 Kutools > 合并和拆分 > 合并行/列/单元格并保留值。
2. 在弹出的对话框中,按需指定合并操作,并取消勾选使用格式化后的值复选框(该选项默认已勾选),然后单击确定。
现在数据已合并,且格式已完整保留。
有关此功能的更多详情,请访问合并列、行、单元格且不丢失数据。
有关关于 Kutools for Excel 的更多详情,请访问 Kutools for Excel。
如需 Kutools for Excel 的 {module 745} 天免费试用版,请立即下载。
假设有一个表格,其中年、月、日分别位于不同的列中,任务是将这些列合并生成如下图所示的日期:
DATE 函数用于根据年、月、日创建日期。
| DATE 函数语法 |
| DATE( year, month, day ) |
有关 DATE 函数的更多详情,请访问 DATE 函数。
将以下公式复制并粘贴到用于显示日期的单元格中:
=DATE(A2,B2,C2)
公式中的 A2、B2 和 C2 分别是包含年、月、日数值的单元格。
按下 Enter 键获取第一个日期,然后向下拖动自动填充柄,即可快速生成所有日期。
更多 Excel 教程:
将多个工作簿/工作表合并为一个
本教程涵盖几乎所有您可能遇到的合并场景,并为您提供专业的解决方案。
拆分文本、数字和日期单元格(分离为多列)
本教程分为三个部分:拆分文本单元格、拆分数字单元格和拆分日期单元格,每部分均配有实用示例,助您轻松掌握对应场景下的拆分技巧!
在 Excel 中合并多个单元格内容而不丢失数据
本教程聚焦于从单元格的特定位置提取内容,汇总了多种方法,助您轻松根据指定位置从单元格中提取文本或数字。
在 Excel 中对比两列以查找匹配项和差异
本文涵盖您可能遇到的绝大多数两列对比场景,助您轻松应对,不容错过!
- 超级编辑栏(轻松编辑多行文本和公式);阅读版式(轻松阅读和编辑大量单元格);粘贴到筛选范围……
- 合并单元格/行/列并保留数据;分割单元格内容;合并重复行并求和/求平均值……防止重复项单元格;比较区域……
- 选择重复或唯一行;选择空白行(所有单元格均为空);超级查找和模糊查找多个工作簿中的内容;随机选择……
- 精准公式复制多个单元格而不更改公式引用;自动创建引用到多个工作表;插入项目符号、复选框等更多功能……
- 收藏并快速插入公式、区域、图表和图片;加密单元格并设置密码;创建邮件列表并发送电子邮件……
- 提取文本、添加文本、删除某位置字符、删除空格;创建并打印数据分页统计;在单元格内容与批注之间转换……
- 超级筛选(保存并应用筛选方案到其他工作表);高级排序按月/周/日、频率等分组;特殊筛选按加粗、倾斜等格式……
- 合并工作簿和工作表;汇总表格基于关键列;分割数据到多个工作表;批量转换 xls、xlsx 和 PDF……
- 数据透视表按周数、星期几等分组……显示未锁定、选区锁定并以不同颜色标识;高亮显示包含公式/名称的单元格……

- 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑与阅读,大幅提升多文档操作效率!
- 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中操作。
- 将您的工作效率提升 50%,每天减少数百次鼠标点击!



















