类似如下:Excel - 一个单元格中的数据透视表值(以逗号分隔的值)
除非它可以是一个 VBA 解决方案,并且我在 A 列中没有重复项。相反,每个值下面都有空白行:
Name1|Fact1
------|Fact2
------|Fact3
------|Fact4
Name2|Fact1
------|Fact2
Name3|Fact1
就像我引用的问题一样,我想实现:
Name1|Fact1, Fact2, Fact3, Fact4
Name2|Fact1, Fact2
Name3|Fact1
每个名称的事实数量并不统一,因此简单的拖延公式是行不通的。
所有值都是字符串。
我更愿意使用宏来解决这个问题,而不是我引用的问题中给出的解决方案。
答案1
您说“每个名称的事实数量并不统一,因此简单的拖拽公式是行不通的。”
但是,您可以执行以下操作将公式插入到所有空白单元格中:
- 在单元格 A2 中插入公式 =A1
- 复制单元格 A2 中的公式
- 选择单元格 A1:B7 中的整个范围。
- 按 CTRL+G。
- 选择“特殊”。
- 选择“空白”;“确定”。
- 按 CTRL+V 将公式粘贴到选定的空白单元格中。
- 您现在可以复制粘贴特殊值来删除公式。
然后您可以继续按照上面链接中显示的方法进行操作。
答案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