在Microsoft Excel中合并两列的9种方法
当您知道如何在 Excel 中合并两列时,您可以更好地管理原始数据集,以便为复杂的数据分析和可视化创建有意义的数据模型。
通常,商业应用或网站服务器可能会错误地收集和划分列中的数据。这些数据源可能会与列标题混淆,例如全名、时间戳、用文本和数字分隔的产品代码、带有国家代码的电话号码、调查回复等。
因此,您会发现这些不可分割的数据点位于不同的列中,而不是同一列中。在 Excel 中合并列的技巧可以帮助您应对这种具有挑战性的情况。
在本教程中,我将逐步指导您,提供见解和技巧来简化单独列的数据管理流程。无论您是经验丰富的 Excel 用户还是想要提高电子表格熟练程度的初学者,您都必须学习 Excel 中的这种列合并策略。
推荐:清除Microsoft Excel格式的8种方法
为什么要在 Excel 中合并两列?
在 Excel 中合并两列的主要目的是创建有意义的数据集列。您可以找到一个 Excel 数据集,其中名字、姓氏、电话号码、国家代码等被分隔在许多其他列的数组中。
通过学习 Excel 中合并列的过程,您可以将相关列并排放置,并将相关数据集合并为单个列。
以下是在工作表中合并两列的其他重要原因:
- 合并列可使数据呈现更加清晰。当您展示数据集或 Excel 表格时,您的观众可以轻松集中注意力。
- 通过合并它们,您可以在减少列数的同时获得数据集的整体视图。因此,您可以在原始数据中找到模式。
- 统一的列允许根据特定标准更快地对数据进行排序和筛选。
- 通过合并列可以整合相关信息,从而减少数据输入过程中出现错误的机会。
- 合并的列为创建图表和图形提供了清晰的基础,从而有助于视觉呈现。
- 组合列可以更顺畅地利用VLOOKUP和INDEX – MATCH函数进行数据检索。
使用快速填充
Flash Fill允许 Excel 识别您操作中的模式并重复相同的任务。您可以使用数据集向 Excel 显示数据输入模式。然后,使用Flash Fill命令,您可以让 Excel 只需单击一下即可执行这些任务。
打开 Excel 电子表格并导航到包含要合并的列的工作表。
单击要开始合并列数据的单元格。输入合并信息所需的格式。
例如,在上面的屏幕截图中,我通过在第一个单元格中输入格式将名字和姓氏组合在一起并用空格分隔。
现在,转到Excel 功能区上的“数据”选项卡。找到并单击“数据工具”组中的“快速填充”选项。
或者,您可以在Windows PC上使用键盘快捷键Ctrl+ ,在Mac上使用键盘快捷键+ 。ECommandE
Excel 将根据您编辑的第一个单元格自动检测模式,并将相同的格式应用于整个列。
您可以检查合并后的数据以确保其符合您的预期。如有必要,您可以手动调整特定单元格。
使用等号和与号
如果您使用的是旧版 Excel 软件(例如 Excel 2010),则找不到“快速填充”选项。相反,您可以使用包含等号和“与”符号的组合公式。
假设您想要将 A 列和 B 列的数据合并到 C 列中。您可以按照以下步骤使用此组合公式:
- 突出显示C2。
- 复制并粘贴以下公式到C2中:
=A2&" "&B2
- 点击Enter应用公式。
- Excel 将合并源列的前两个单元格的数据。
- 使用填充柄在整个列中应用公式。
复制组合的内容,按Ctrl+ Alt+ V,然后在选择性粘贴对话框中选择值,将单元格中的公式数组转换为文本值。
推荐:动态显示WordPress数据插件Dynamic Shortcodes
使用 CONCAT 函数
如果您在 PC 或 Mac 上使用Excel 2016或更新版本软件,则可以使用更简单的公式在 Excel 中合并两列。这就是CONCAT函数。
访问您的 Excel 电子表格并转到要显示合并数据的单元格。假设它是C2,并且您要合并A 列和B列中的名称。
在突出显示的单元格中,输入以下公式并点击Enter。Excel 应自动合并目标列的前两个单元格。
=CONCAT(A2," ",B2)
现在,您可以将上述公式复制并粘贴到C 列。或者,您可以将填充柄向下拖动到C 列,直到相邻的A 列和B列中的最后一行非空白行。
使用 TEXTJOIN 函数
有时,您在 Excel 中要合并的两行中可能会有一行是空单元格。要指示 Excel 忽略这些空单元格,您可以使用TEXTJOIN公式。
这是您需要在所选的任何单元格中使用的公式:
=TEXTJOIN(" ",TRUE,A2,B2)
修改公式的方法如下:
A2
是要合并的第一列中第二个单元格的引用- 类似地,
B2
是第二列第二个单元格的单元格地址 " "
是我在此示例中使用的分隔符。这是一个空格,用于将输出显示为Olivia Reynolds。您可以使用任何分隔符,如逗号、分号、@等。但分隔符两侧必须使用双引号。
这是 Excel 中一个相当新的公式,自Windows 版 Excel 2019、Mac 版 Excel 2019和Web 应用程序版 Excel起可用。
因此,当与使用早于 Excel 2019 的 Excel 桌面软件的人员共享工作簿时,可能会遇到向后兼容性问题。
在 Windows PC 上使用记事本应用程序
通常,从软件或服务器提取的数据在列中包含不需要的字符。如果您使用上述任何一种方法,则合并两列后,最终的 Excel 数据集中可能会包含这些不必要的字符。
这就是记事本。它是一个简单的文本编辑器,也是在合并之前从列中删除奇怪符号的最佳工具。
转到您的 Excel 工作簿并复制需要合并的两列。
打开一个新的记事本文件并将内容粘贴到其中。
按Ctrl+在Windows PC上H启动记事本的“查找和替换”工具。
在“查找内容”字段中输入要删除的字符。例如,右 Tab或简单的Tab。
在替换为字段中输入要消除的符号的替换内容。例如,空格。
点击“全部替换”按钮。
现在,复制记事本文件内容并将其粘贴到想要合并 Excel 工作表两列的列上。
这种方法的优点是最终合并的数据是文本格式。您无需复制合并的数据并使用选择性粘贴来粘贴为值。
在 Power Query 中使用合并列
Power Query有一些很酷的数据转换工具,其中之一就是合并列。它使您只需单击几下即可合并 Excel 中的两列。
首先,突出显示工作表中需要合并为一列的两列数据。然后单击“获取和转换数据”命令块中的“来自表/范围”按钮。
将弹出“创建表”对话框。在此处,勾选“我的表有标题”复选框,然后单击“确定”以将数据集导出到Power Query 编辑器。
您现在应该在Power Query上看到两列(本教程中为A和B ) 。
选择这些并右键单击。在打开的上下文菜单上,选择合并列选项。
在“合并列”向导中,选择“分隔符”字段中的条目,例如本教程中的“空格” 。此外,不要忘记在“新列名称”字段中为合并列键入列标题,例如“全名”。单击“确定”以在Power Query中合并列。
单击Power Query 编辑器的“文件”选项卡。然后,选择“关闭并加载到”选项。
在“导入数据”对话框中,勾选“现有工作表”圆圈并突出显示工作表上的目标单元格。单击“确定”将合并的列导出到目标工作表。
太棒了!您已成功使用 Power Query 合并 Excel 中的两列。
推荐:WordPress代码片段插件WPCode Pro
使用 Power Pivot
打开您的 Excel 电子表格并确保您的列被格式化为表格。
转到Excel 功能区上的“Power Pivot”选项卡,然后单击“添加到数据模型”选项为您的工作簿启用 Power Pivot。
双击Power Pivot 编辑器的添加列列标题并将其重命名为新标题,如全名。
单击刚刚创建的新列的公式栏并输入以下公式:
=[First Name]&" "&[Last Name]
Hit和 Power Pivot 会将名字和姓氏Enter列中的数据合并到全名列中。
右键单击“全名”列并从上下文菜单中选择“复制” 。
转到原始工作表并按热键Ctrl+ Shift+粘贴内容V。这可确保您获得干净的文本数据而不是 Excel 表格。
使用 Excel VBA
如果您不想在 Excel 中手动合并两列,则必须使用Excel VBA。在这里,您可以使用一个简单的脚本来自动化该过程。
请随意将此脚本用于个人或专业目的:
Sub CombineColumnsWithSpace()
Dim col1 As String, col2 As String, outputCol As String
' Get column 1 from user input
col1 = InputBox("Enter the cell reference for the first column (e.g., A:A)")
' Check if input is valid
If col1 = "" Then
MsgBox "Please enter a valid cell reference.", vbExclamation
Exit Sub
End If
' Get column 2 from user input
col2 = InputBox("Enter the cell reference for the second column (e.g., B:B)")
' Check if input is valid
If col2 = "" Then
MsgBox "Please enter a valid cell reference.", vbExclamation
Exit Sub
End If
' Get output column from user input
outputCol = InputBox("Enter the cell reference for the combined column (e.g., C:C)")
' Check if input is valid
If outputCol = "" Then
MsgBox "Please enter a valid cell reference.", vbExclamation
Exit Sub
End If
' Loop through each row and combine columns with space
Dim i As Long
For i = 1 To Cells(Rows.Count, col1).End(xlUp).Row
Cells(i, outputCol).Value = Cells(i, col1).Value & " " & Cells(i, col2).Value
Next i
' Message box confirmation
MsgBox "Columns successfully combined in " & outputCol & ".", vbInformation
End Sub
上述脚本将帮助您创建一个要求以下输入的 VBA 宏:
- 工作表名称
- 第一列,例如
A:A
- 第二列,例如
B:B
- 目的地栏,例如
C:C
因此,您不需要修改上述脚本的任何部分。
阅读如何使用在线找到的 VBA 代码以了解如何使用上述脚本创建 VBA 宏。
使用 Office 脚本
使用 Microsoft 365 商业标准版或更高级的订阅,您可以获得 Office 脚本,以便在 Excel 中实现高级自动化。当您需要使用 Power Automate 时,它特别方便。
这是一个脚本,可用于自动执行 Excel 中的列合并过程:
function main(workbook: ExcelScript.Workbook) {
//getselected range
let rng = workbook.getSelectedRange();
let rows = rng.getRowCount();
let cols = rng.getColumnCount();
if (cols
第一次接触 Office 脚本?别担心!阅读这篇精彩文章,了解如何使用上述代码创建可共享的脚本:
结论
到目前为止,您已经学习了在 Excel 中合并两列的各种方法。
如果您是 Excel 电子表格软件的新用户,Flash Fill和Notepad应该是您的首选。
如果您愿意接受挑战并希望提升自己的水平成为中级 Excel 用户,请练习基于函数的方法,例如 Equals 和Ampersand、CONCAT和TEXTJOIN。
最后,如果您认为自己是 Excel 专家,则应该使用自动和扩展的方法,如Power Query、Power Pivot、Office Scripts和Excel VBA。