excel中 B列中有相同姓名,C列是数据,想把相同姓名的行合并,C列数据相加,如何写公式

C列数据相加,是指B列相同姓名的行中的数据相加

第1个回答  2012-04-25
数据——筛选——高级筛选
条件区域和列表区域选择b列
勾选 将筛选结果复制到其他位置
勾选 不重复的值
复制到 选择d列(后面的任意空列都可以)

这样d列中的数据都是唯一的
在e1单元格输入
=sumif(B:b,d1,c:c)
下拉
ok
第2个回答  2012-04-25
第一步
在D1输入公式=INDEX(A:A,MIN(IF(COUNTIF(C$1:C1,A$2:A$100)=0,ROW($2:$100),60000)))&""
数组公式,
第二步
公式在编辑状态按shift+ctrl+ENTER结束,
第三步
在E1输入公式=IF(C2="","",SUMIF(A:A,C2,B$1)),选中D1和E1向下填充公式.
祝你好运
第3个回答  2012-04-25
姓名合并d1={IF(SUM(1/COUNTIF($B:$B,$B:$B))>=ROW(B1),INDEX($B:$B,SMALL(IF(ROW($B:$B)=MATCH($B:$B,$B:$B,0),ROW($B:$B),"0"),ROW(B1))),"END")}
数据相加e1=sumif($B:$B,$D1,$C:$C)
公式往下拉
第4个回答  2012-04-25
Sub 合并相同数据()
Dim i, l As Long
Dim rng As Range
Dim XingMing As String
Dim ShuJu
With Application
.ScreenUpdating = False
End With

Sheets("sheet1").Select
For i = 3 To Sheet1.UsedRange.Rows.Count
ShuJu = Cells(i, 3)
XingMing = Cells(i, 2)
If ShuJu <> "" And XingMing <> "姓名" Then
xiayige:
On Error Resume Next
Set rng = Sheet1.UsedRange.Find(what:=XingMing, lookat:=xlWhole)
address1 = rng.Address
Do
Set rng = Sheet1.UsedRange.FindNext(rng)
If rng.Value <> XingMing Or rng.Value = "" Then Exit Do
address2 = rng.Address
p = rng.Row
If address1 <> address2 Then
ShuJu = ShuJu + Cells(p, 3)
Rows("" & p & ":" & p & "").Select
Selection.Delete Shift:=xlUp
GoTo xiayige
End If
Loop While address1 <> address2
End If
If Cells(i, 1) <> "合计" Then
Cells(i, 3) = ShuJu
End If
Next
With Application
.ScreenUpdating = True
End With
End Sub
如果表名不是sheet1就把代码中的表名改为你相应的表名本回答被提问者采纳
第5个回答  2012-04-25
以B列为分类字段,汇总求和C列