Excel 根据另一列的值连接一列

Excel 根据另一列的值连接一列

类似如下:Excel - 一个单元格中的数据透视表值(以逗号分隔的值)

除非它可以是一个 VBA 解决方案,并且我在 A 列中没有重复项。相反,每个值下面都有空白行:

Name1|Fact1
------|Fact2
------|Fact3
------|Fact4
Name2|Fact1
------|Fact2
Name3|Fact1

就像我引用的问题一样,我想实现:

Name1|Fact1, Fact2, Fact3, Fact4
Name2|Fact1, Fact2
Name3|Fact1

每个名称的事实数量并不统一,因此简单的拖延公式是行不通的。

所有值都是字符串。

我更愿意使用宏来解决这个问题,而不是我引用的问题中给出的解决方案。

答案1

您说“每个名称的事实数量并不统一,因此简单的拖拽公式是行不通的。”

但是,您可以执行以下操作将公式插入到所有空白单元格中:

  1. 在单元格 A2 中插入公式 =A1
  2. 复制单元格 A2 中的公式
  3. 选择单元格 A1:B7 中的整个范围。
  4. 按 CTRL+G。
  5. 选择“特殊”。
  6. 选择“空白”;“确定”。
  7. 按 CTRL+V 将公式粘贴到选定的空白单元格中。
  8. 您现在可以复制粘贴特殊值来删除公式。

然后您可以继续按照上面链接中显示的方法进行操作。

答案2

这应该可以

Sub test()
Dim s As String
Dim i As Integer
For i = 1 To 100
    start:
    If Cells(i, 1) <> "" And Cells(i + 1, 1) = "" And Cells(i + 1, 2) <> "" Then
        s = Cells(i, 2).Value & "," & Cells(i + 1, 2).Value
        Cells(i, 2) = s
        Cells(i + 1, 1).EntireRow.Delete
        GoTo start
    End If

Next

End Sub

相关内容