热心网友
回答时间:2023-05-22 21:19
如果你的实际数据如你所列的例题一样格式规整
楼上说的数据透视表就能满足你了
以03版为例 将A1:D8的数据全部选中
在菜单栏依次点击 数据—数据透视表和数据透视图
弹出的导向对话框中 进行如下选择:
step1 数据源类型:excel数据列表或数据库
创建的报表类型:数据透视表
step2 选定或确认要透视的数据源 即A1:D8
step3 选择透视表保存位置 新建sheet或当前激活的sheet
以上步骤完成后 得到一个空白的单元格布局(以加粗蓝框为标示)
在数据透视表字段列表(默认在最右侧固定显示)
分别选择字段列表中的“部门”、“人名”、“行为” 添加到 “行区域”
将“产生金额”添加到“数据区域”
(可以直接点选“字段名”并拖到空白布局中,也可以在字段列表的下方 使用“添加到”的下拉选择完成)
在已完成的数据透视表中 分别双击灰色的“部门”和“人名”字段 在弹出的字段对话框中
将“分类汇总”点选为“无” 确定 即可
附图为效果 箭头表示新表生成过程
如有问题请详述
收起
热心网友
回答时间:2023-05-22 21:20
ALT+F11,插入模块,复制代码进行,按F5运行:
Sub 统计()
Dim d1 As Object, rng As Range, arr, arr1, arr3()
Set d1 = CreateObject("Scripting.Dictionary")
arr = Range("A1").CurrentRegion
For i = 2 To UBound(arr)
d1(arr(i, 1) & "," & arr(i, 2) & "," & arr(i, 3)) = d1(arr(i, 1) & "," & arr(i, 2) & "," & arr(i, 3)) + arr(i, 4)
Next
ReDim arr3(d1.Count - 1, 3)
arr1 = d1.Keys
For i = 0 To d1.Count - 1
arr2 = Split(arr1(i), ",")
For j = 0 To 2
arr3(i, j) = arr2(j)
Next
arr3(i, 3) = d1(arr1(i))
Next
Range("G1").Resize(1, 4) = Range("A1:D1").Value
Range("G1").Offset(1, 0).Resize(d1.Count, 4) = arr3
End Sub
收起
热心网友
回答时间:2023-05-22 21:20
07版本参考下:
1、复制A\B\C列内容到H\I\J 列,使用 数据 菜单中的 “删除重复项”删除完全重复的内容,根据你的表格,只有“销售 大侠 吃饭”有重复,得到 6 行数据;
2、在K1单元格输入
=SUMIFS(D:D,A:A,H1,B:B,I1,C:C,J1)
然后下拉5行就得到结果表格了。
收起