Excel表格中如何将A列重复项的相应B列数值求和并合并?

例如:
A B
张 VE
张 RY
李 LL
王 DQ
李 XY

结果:
A B
张 VE,RY
李 LL,XY
王 DQ

可以用数据透视表功能完成,步骤如下:

1、选中数据区域中的任意一个单元格。

2、点击【插入】,在【表格】分组,找到【数据透视表】。

3、在打开的【创建数据透视表】对话框中,单击确定。

4、在【数据透视表字段】设置菜单,把A列添加到【行标签】报B列添加到【值】区域。

如下图,即可达到要求的效果。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-09

给你写的代码,你不要吗?

编程实现:

ALT+F11——F7——粘贴如下代码(注意换行)——F5运行

Sub mysub()

Dim i As Long, j As Long, k As Long

Range("c1") = [a1]

Range("d1") = [b1]

j = 1

For i = 2 To [a65536].End(xlUp).Row

    If Range("c:c").Cells.Find(Range("a" & i), , , lookat:=xlWhole) Is Nothing Then

       j = j + 1

       Range("c" & j) = Range("a" & i).Value

       Range("d" & j) = Range("b" & i).Value

    Else

       k = Range("c:c").Cells.Find(Range("a" & i), , , lookat:=xlWhole).Row

       Range("d" & k) = Range("d" & k) & "," & Range("b" & i).Value

    End If

Next i

End Sub



——————————————————————以下是不换行的纯代码——————

Sub mysub()
Dim i As Long, j As Long, k As Long
Range("c1") = [a1]
Range("d1") = [b1]
j = 1
For i = 2 To [a65536].End(xlUp).Row
If Range("c:c").Cells.Find(Range("a" & i), , , lookat:=xlWhole) Is Nothing Then
j = j + 1
Range("c" & j) = Range("a" & i).Value
Range("d" & j) = Range("b" & i).Value
Else
k = Range("c:c").Cells.Find(Range("a" & i), , , lookat:=xlWhole).Row
Range("d" & k) = Range("d" & k) & "," & Range("b" & i).Value
End If
Next i
End Sub

本回答被网友采纳
第2个回答  2013-04-08
一个笨办法,先按A列排序,然后在C列用if函数,=if(Ai+1=Ai),Bi+1+Bi,Bi+1
i和i+1为下标追问

下面内容很多的,上万行。

相似回答