操作方法
方法一、数据透视表法: 选中图中区域或者将光标放在表格内任何一个单元格,点击【插入】/【数据透视表】,就弹出了【创建数据透视表】的对话框。 在【创建数据透视表】中【选择放置数据透视表的位置】下侧选择【现有工作表】,在【位置】处录入要放置数据透视表的位置,此例中我们选择【Sheet2!$D$1】,点击【确定】。 在【数据透视表字段列表】框内,将【业务员】字段拖到【行标签】区域,将【销售额】拖到【数据】区域。如图所示。
可以看到,事实上,每个业务员的销售总额已经汇总,为了更加清晰可见,可以将【行标签】更改为【业务员】,将【求和项:销售额】更改为【销售总额】,将字体格式更改为数据源的格式,还可以将透视结果复制粘贴到其他我们需要的位置等。
方法二、函数SUMIF: 选择区域【A1:A11】,点击【数据】/【筛选】/【高级】,在【高级筛选】的选择框内,选择【将筛选结果复制到其他位置】,在【复制到】右侧框内录入放置结果的位置,本例中我们选择【$D$1:$D$11】,勾选【选择不重复的记录】,点击【确定】。不重复的业务员姓名已经提取出来了。
在E1录入销售总额,E列作为汇总数据结果的列。 在E2中录入函数公式:=SUMIF($A$2:$A$11,D2,$B$2:$B$11),回车,函数就将业务员【张三】的销售总额求出来了,向下复制填充公式,就将所有业务员的销售总额全都汇总出来了。
方法三、函数SUMPRODUCT法: 先提取不重复的业务员姓名。方法步骤跟用SUMIF函数一样,在此不再赘述。只是函数公式的差别。 在E2中录入函数公式:=SUMIF($A$2:$A$11,D2,$B$2:$B$11),回车,函数就将业务员【张三】的销售总额求出来了,向下复制填充公式,就将所有业务员的销售总额全都汇总出来了。,回车,SUMPRODUCT函数就将业务员【张三】的销售总额求出来了,向下复制填充公式,就将所有业务员的销售总额全都汇总出来了。
方法四、vba代码法: 先做好准备放置结果的位置:在C2和D2单元格中分别录入【业务员】和【销售总额】。 我们再用下述方法调出vba的代码编辑窗口。 点击【开发工具】/【visual basic】,就调出了visual basic for appliction的窗口功能区,点击【视图】/【代码窗口】,将如图所示的代码窗口就调出来了。 如果没有【开发工具】选项卡 的可以参看下列经验调出。在此不再赘述。
在代码区填写下列代码: Sub 分类求和() Dim arr1(1 To 10, 1 To 2) last = Cells(Rows.Count, 1).End(xlUp).Row arr = Range("a2:b" & last) For i = 1 To last - 1 For j = 1 To UBound(arr1) x = arr(i, 1): y = arr1(j, 1) If x = y Then arr1(j, 2) = arr(i, 2) + arr1(j, 2) GoTo 100: End If Next j k = k + 1 arr1(k, 1) = arr(i, 1) arr1(k, 2) = arr(i, 2) 100: Next i [c2].Resize(k, 2) = arr1 End Sub
点击如果所示的代码运行按钮,可以看到,在所指定的区域已经将结果统计出来了。需要注意的是,在运行代码的时候,我们的数据源所在的工作表必须处在激活的状态,否则会运行错误。