如何基于Excel中的组将行连接到一个单元格中?
这是两列的范围,一列是班级列表,另一列是学生姓名列表。 如您所见,有些学生在同一堂课,有些则不在。 现在,我想将同一班级的学生连接到一个单元格中,如下面的屏幕截图所示,如何在Excel中快速处理它?
用公式和过滤器功能分组和连接
在Excel中,您可以将公式应用于基于一列的串联行,然后使用“筛选器”功能仅显示结果。
备注:在执行以下步骤之前,您需要按类对数据进行排序。
1.在数据范围旁边的空白单元格中,例如C13,键入此公式 =IF(A13=A12,C12&", "&B13,B13), 按 Enter 键,然后拖动填充手柄将公式填充到单元格中。
在公式中,A13是“类别”列中的第一个数据,B13是“名称”列中的第一个数据,“,”是用于分隔连接内容的分隔符。
2.然后在下一列D13中键入此公式 =IF(A13<>A14,"Last","") ,然后向下拖动填充手柄以将公式应用于所需的单元格。
3.现在选择所有数据范围,包括公式,然后单击 时间 > Filter 添加 Filter icons 数据。
4。 点击 Filter icon 在最后一个公式标题中,检查 Last 仅从下拉列表中选中复选框,然后单击 OK.
现在结果显示如下,如果不需要,您可以删除最后一个帮助器列。
分组并连接VBA代码
这是一个VBA代码,也可以处理此工作。
1。 按 Alt + F11 启用 Microsoft Visual Basic for Applications 窗口。
2.然后在窗口中,单击 Tools > References 启用 References 对话框,然后检查 Microsoft Scripting Runtime。 看截图:
3。 点击 OK和点击 Insert > Module 在VBA窗口中,然后将以下VBA代码复制并粘贴到 Module 脚本。 看截图:
VBA:根据组将行连接到一个单元格中
Sub ConcatenateCellsIfSameValues()
'UpdatebyExtendoffice20180201
Dim I As Long
Dim J As Long
Dim xRg As Range
Dim xRgKey As Range
Dim xRgVal As Range
Dim xStr As String
Dim xDic As New Dictionary
On Error Resume Next
Set xRg = Application.InputBox("Select data range", "KuTools for Excel", Selection.Address, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xRgKey = Application.InputBox("Select key column", "KuTools for Excel", xRg.Columns(1).Address, , , , , 8)
If xRgKey Is Nothing Then
MsgBox "Key column cannot be empty", vbInformation, "KuTools for Excel"
End If
Set xRgVal = xRg(1).Offset(, 1).Resize(xRg.Rows.Count, xRg.Columns.Count - 1)
For I = 1 To xRgKey.Count
If I > xRgKey.Count Then Exit For
xStr = ""
For J = 1 To xRgVal.Columns.Count
xStr = xStr & " " & xRgVal(I, J)
Next
If xDic.Exists(xRgKey(I).Text) Then
xDic(xRgKey(I).Text) = xDic(xRgKey(I).Text) & xStr
xRgKey(I).EntireRow.Delete
I = I - 1
Else
xDic.Add xRgKey(I).Text, xStr
End If
Next
For I = 1 To xRgVal.Count
xRgVal(I).Value = xDic(xRgKey(I).Text)
Next
End Sub
4。 按 F5 键,然后在弹出对话框中选择要使用的数据范围。
5。 点击 OK 选择要分组的键列。
6。 点击 OK,现在结果如下所示:
分组并连接“高级合并行”
这是一个实用程序 Kutools for Excel, Advanced Combine 行,可以合并行或基于Excel中的键列进行计算。
安装后 Kutools for Excel,请执行以下操作:(立即免费下载Kutools for Excel!)
1.选择您使用的数据范围,然后单击 Kutools > 合并与拆分 > 高级组合行.
2.在 Advanced Combine Rows 窗口中,选择要基于其合并行的列,然后单击 Primary Key 将其设置为关键列。
3.选择您需要合并的列,单击 Combine,然后选择一个用于分隔组合内容的定界符。
4。 点击 Ok。 结果显示如下:
备注:在应用该实用程序之前,最好获得原始数据的副本。
演示
最佳办公生产力工具
🤖 | Kutools 人工智能助手:基于以下内容彻底改变数据分析: 智能执行 | 生成代码 | 创建自定义公式 | 分析数据并生成图表 | 调用 Kutools 函数... |
热门特色: 查找、突出显示或识别重复项 | 删除空白行 | 合并列或单元格而不丢失数据 | 不使用公式进行四舍五入 ... | |
超级查询: 多条件VLookup | 多值VLookup | 跨多个工作表的 VLookup | 模糊查询 .... | |
高级下拉列表: 快速创建下拉列表 | 依赖下拉列表 | 多选下拉列表 .... | |
列管理器: 添加特定数量的列 | 移动列 | 切换隐藏列的可见性状态 | 比较范围和列 ... | |
特色功能: 网格焦点 | 设计图 | 大方程式酒吧 | 工作簿和工作表管理器 | 资源库 (自动文本) | 日期选择器 | 合并工作表 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊过滤器 (过滤粗体/斜体/删除线...)... | |
前 15 个工具集: 12 文本 工具 (添加文本, 删除字符,...) | 50+ 图表 类型 (甘特图,...) | 40+ 实用 公式 (根据生日计算年龄,...) | 19 插入 工具 (插入二维码, 从路径插入图片,...) | 12 转化 工具 (小写金额转大写, 货币兑换,...) | 7 合并与拆分 工具 (高级组合行, 分裂细胞,...) | ... 和更多 |
使用 Kutools for Excel 增强您的 Excel 技能,体验前所未有的效率。 Kutools for Excel 提供了 300 多种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...
Office Tab 为 Office 带来选项卡式界面,让您的工作更加轻松
- 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
- 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
- 每天将您的工作效率提高50%,并减少数百次鼠标单击!