Note: The other languages of the website are Google-translated. Back to English
登陆  \/ 
x
or
x
点此注册  \/ 
x

or

如何基于Excel中的组将行连接到一个单元格中?

这是两列的范围,一列是班级列表,另一列是学生姓名列表。 如您所见,有些学生在同一堂课,有些则不在。 现在,我想将同一班级的学生连接到一个单元格中,如下面的屏幕截图所示,如何在Excel中快速处理它?
doc按组1连接

用公式和过滤器功能分组和连接

分组并连接VBA代码

分组并连接“高级合并行”好主意3


用公式和过滤器功能分组和连接

在Excel中,您可以将公式应用于基于一列的串联行,然后使用“筛选器”功能仅显示结果。

备注:在执行以下步骤之前,您需要按类对数据进行排序。

1.在数据范围旁边的空白单元格中,例如C13,键入此公式 =IF(A13=A12,C12&", "&B13,B13), 按 Enter 键,然后拖动填充手柄将公式填充到单元格中。
doc按组2连接

在公式中,A13是“类别”列中的第一个数据,B13是“名称”列中的第一个数据,“,”是用于分隔连接内容的分隔符。

2.然后在下一列D13中键入此公式 =IF(A13<>A14,"Last","") ,然后向下拖动填充手柄以将公式应用于所需的单元格。
doc按组3连接

3.现在选择所有数据范围,包括公式,然后单击 数据 > Filter 添加 Filter icons 数据。
doc按组4连接

4。 点击 Filter icon 在最后一个公式标题中,检查 Last 仅从下拉列表中选中复选框,然后单击 OK.
doc按组5连接

现在结果显示如下,如果不需要,您可以删除最后一个帮助器列。
doc按组6连接


分组并连接VBA代码

这是一个VBA代码,也可以处理此工作。

1。 按 Alt + F11 启用 Microsoft Visual Basic for Applications 窗口。

2.然后在窗口中,单击 Tools > References 启用 References 对话框,然后检查 Microsoft Scripting Runtime。 看截图:
doc按组7连接
doc按组8连接

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

doc按组9连接

4。 按 F5 键,然后在弹出对话框中选择要使用的数据范围。
doc按组10连接

5。 点击 OK 选择要分组的键列。
doc按组11连接

6。 点击 OK,现在结果如下所示:
doc按组12连接


分组并连接“高级合并行”

这是一个实用程序 Kutools for Excel, Advanced Combine ,可以合并行或基于Excel中的键列进行计算。

Kutools for Excel, 与超过 300 方便的功能,使您的工作更加轻松。 

安装后 Kutools for Excel,请执行以下操作:(立即免费下载Kutools for Excel!)

1.选择您使用的数据范围,然后单击 Kutools > 合并与拆分 > 高级组合行.
doc按组13连接

2。 在里面 Advanced Combine Rows 窗口中,选择要基于其合并行的列,然后单击 Primary Key 将其设置为关键列。
doc按组14连接

3.选择您需要合并的列,单击 Combine,然后选择一个用于分隔组合内容的定界符。

doc按组15连接 doc箭头向右 doc按组16连接

4。 点击 Ok。 结果显示如下:
doc按组17连接

备注:在应用该实用程序之前,最好获得原始数据的副本。


最佳办公效率工具

Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%

  • 重用: 快速插入 复杂的公式,图表 以及您以前使用过的任何东西; 加密单元 带密码 创建邮件列表 并发送电子邮件...
  • 超级公式栏 (轻松编辑多行文本和公式); 阅读版式 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不会丢失数据; 拆分单元格内容; 合并重复的行/列...防止细胞重复; 比较范围...
  • 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择...
  • 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等...
  • 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级滤镜 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体...
  • 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF...
  • 超过300种强大功能。 支持Office / Excel 2007-2019和365。支持所有语言。 在您的企业或组织中轻松部署。 完整功能30天免费试用。 60天退款保证。
kte选项卡201905

Office选项卡为Office带来了选项卡式界面,使您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
officetab底部
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.