什么是分类汇总

作者&投稿:人采 (若有异议请与网页底部的电邮联系)
什么叫做EXCEL分类汇总啊?~

分类汇总



分类汇总
目录·基本概念
·Excel数据分类汇总
·用匿名类处理分类汇总的方法
·对重复数据中的值进行分类汇总

基本概念

对所有资料分类进行汇总。

Excel数据分类汇总

Excel数据分类汇总满足多种数据整理需求
我们日常工作中经常接触到Excel二维数据表格,我们经常需要通过需要根据表中某列数据字段(如“工程类型”)对数据进行分类汇总。
下面我们针对三种不同的分类汇总需求,为大家介绍不同的解决方案。这三种需求分别是:既想分类汇总又想分类打印、不想分类打印只是想随时查看各类数据的明细和统计情况、不想打乱正常的流水式数据表格的数据顺序而是想随时查看各类数据的统计结果(此处假定将统计结果保存在另外一个工作表中)。
需求一、既想分类汇总,又想分类打印
解决方案:直接利用Excel内置的“分类汇总”功能来实现。
1、选中工程类型列的任意一个单元格,按一下“常用”工具栏上的“升序排序”或“降序排序”按钮,对数据进行一下排序。
注意:使用“分类汇总”功能时,一定要按分类对象进行排序!
2、执行“数据→分类汇总”命令,打开“分类汇总”对话框。
图2
3、将“分类字段”设置为“工程类型”;“汇总方式”设置为“求和”;“选定汇总项”为“面积”和“造价”;再选中“每组数据分页”选项。最后,确定返回。
4、分类汇总完成。
需求二、不想分类打印,只是想随时查看各类数据的明细和统计情况
解决方案:利用Excel自身的“自动筛选”功能来实现。
1、任意选中数据表格中的某个单元格,执行“数据→筛选→自动筛选”命令,进入“自动筛选”状态。
2、分别选中F203、G203单元格(此处假定表格中共有200条数据),输入公式:=SUBTOTAL(9,F3:F202)和=SUBTOTAL(9,G3:G202)。
小提示:此函数有一个特殊的功能,就是后面进行自动筛选后,被隐藏行的数据不会被统计到其中,达到分类统计的目的。
3、以后需要随时查看某类(如“经济住宅”)数据的明细和统计情况时,点击“工程类型”右侧的下拉按钮,在随后弹出的快捷菜单中即可。
需求三、如果我们不想打乱正常的流水式数据表格的数据顺序,而是想随时查看各类数据的统计结果(此处假定将统计结果保存在另外一个工作表中)
解决方案:利用Excel的函数来实现。
1、切换到Sheet2工作表中,仿照图5的样式,制作好一个统计表格。
2、分别选中B3、C3、D3单元格,输入公式:=COUNTIF(Sheet1!$E:$E2,A3)、=SUMIF(Sheet1!$E:$E2,A3,Sheet1!$F:$F2)、=SUMIF(Sheet1!$E:$E2,A3,Sheet1!$G:$G2)。
3、同时选中B3、C3、D3单元格,将鼠标移至D3单元格右下角成细十字线状时,按住左键向下拖拉至D10单元格,将上述公式复制至B4至D10单元格区域中。
4、选中B11单元格,输入公式:=SUM(B3:B10),并仿照上面的操作,将此公式复制到C11和D11单元格中。
确认以后,各项统计数据即刻呈现在我们的面前。

用匿名类处理分类汇总的方法

分类汇总是统计中常用,举例来说如统计学生成绩,及格不及格的归类,分优良中差等级归类等,每个单项代码很好写,但是如果分类汇总的项目多了,能一种汇总写一个函数吗?比如说有些科目60分才算及格,有些科目50分就算;有些老师喜欢分优良中差四等,有些老师却喜欢分ABCD;不一而足,如果每个都写一个函数无疑是个编写和维护恶梦.如果我们用匿名类把分类汇总的规则和分类汇总的过程分别抽象出来,代码就清晰灵活多了,以下代码讲述了这个过程,代码比较简单,这里就不赘述了,相信大家都能看明白.
首先是数据的基本类Student:
publicclassStudent{
privateStringname;
privateintscore;
publicStudent(Stringname,intscore){
this.name=name;
this.score=score;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetScore(){
returnscore;
}
publicvoidsetScore(intscore){
this.score=score;
}
}
然后是用于分类汇总的类,它强制子类实现getKey和getvalue两个方法:
publicabstractclassClassifyRule{
publicStudentstudent;
publicClassifyRule(){
}
publicvoidsetStudent(Studentstudent){
this.student=student;
}
abstractpublicStringgetKey();
abstractpublicintgetValue();
}
接下来是对Student进行CRUD处理的StudentService类,注意getSum方法,它保留了筛选过程,筛选规则则不在其中:
importjava.util.ArrayList;
importjava.util.Hashtable;
importjava.util.List;
publicclassStudentService{
privateList<Student>students;
publicStudentService(){
students=newArrayList<Student>();
}
publicvoidadd(Studentstudent){
students.add(student);
}
publicHashtable<String,Integer>getSum(ClassifyRulerule){
Hashtable<String,Integer>ht=newHashtable<String,Integer>();
for(Studentstudent:students){
rule.setStudent(student);
Stringkey=rule.getKey();
intvalue=rule.getValue();
if(ht.containsKey(key)){
IntegeroldValue=ht.remove(key);
oldValue+=value;
ht.put(key,oldValue);
}else{
ht.put(key,value);
}
}
returnht;
}
}
最后是测试代码,注意其中筛选规则的创建:
importjava.util.Hashtable;
importjava.util.Iterator;
publicclassTest{
publicstaticvoidmain(String[]args){
//初始化
StudentServiceservice=newStudentService();
service.add(newStudent("Andy",90));
service.add(newStudent("Bill",95));
service.add(newStudent("Cindy",70));
service.add(newStudent("Dural",85));
service.add(newStudent("Edin",60));
service.add(newStudent("Felix",55));
service.add(newStudent("Green",15));
//60分及格筛选
ClassifyRulerule60=newClassifyRule(){
publicStringgetKey(){
returnstudent.getScore()>=60?"及格":"不及格";
}
publicintgetValue(){
return1;
}
};
System.out.println("60分及格筛选");
printHt(service.getSum(rule60));
//50分及格筛选
ClassifyRulerule50=newClassifyRule(){
publicStringgetKey(){
returnstudent.getScore()>=50?"及格":"不及格";
}
publicintgetValue(){
return1;
}
};
System.out.println("\n50分及格筛选");
printHt(service.getSum(rule50));
//分"优良中差"等级
ClassifyRuleruleCn=newClassifyRule(){
publicStringgetKey(){
Stringretval="";
intscore=student.getScore();
if(score>=90){
retval="优";
}elseif(score>=80){
retval="良";
}elseif(score>=60){
retval="中";
}elseif(score>0){
retval="差";
}
returnretval;
}
publicintgetValue(){
return1;
}
};
System.out.println("\n分优良中差等级筛选");
printHt(service.getSum(ruleCn));
//分"ABCD"等级
ClassifyRuleruleWest=newClassifyRule(){
publicStringgetKey(){
Stringretval="";
intscore=student.getScore();
if(score>=90){
retval="A";
}elseif(score>=80){
retval="B";
}elseif(score>=60){
retval="C";
}elseif(score>0){
retval="D";
}
returnretval;
}
publicintgetValue(){
return1;
}
};
System.out.println("\n分ABCD等级筛选");
printHt(service.getSum(ruleWest));
}
privatestaticvoidprintHt(Hashtableht){
for(Iteratorit=ht.keySet().iterator();it.hasNext();){
Stringkey=(String)it.next();
Integervalue=(Integer)ht.get(key);
System.out.println("Key="+key+"Value="+value);
}
}
}
测试结果如下:
60分及格筛选
Key=及格Value=5
Key=不及格Value=2
50分及格筛选
Key=及格Value=6
Key=不及格Value=1
分优良中差等级筛选
Key=优Value=2
Key=良Value=1
Key=中Value=2
Key=差Value=2
分ABCD等级筛选
Key=AValue=2
Key=DValue=2
Key=CValue=2
Key=BValue=1

对重复数据中的值进行分类汇总

假设您要建立一个其中每个帐户代码均可出现多次的月度事务列表。在月末,您需要按帐户代码对数据进行组织和分类汇总。
执行此任务的方法至少有5种。以下是这5种方法的教程。
注释示例数据集中的帐户号码在列A中,金额在列B中。数据区域是A2:B100,数据目前未排序。
方法1:使用创造性的IF语句和“选择性粘贴”
步骤如下:
按帐户(列A)对数据进行排序。
在列C中创建一个公式,以持续对每个帐户进行动态汇总。例如,在单元格C2中创建公式:
=IF(A2=A1,C1+B2,B2)
在列D中创建一个公式,以标识特定帐户的最后一个条目,例如,在单元格D2中创建公式:
=IF(A2=A3,FALSE,TRUE)
将C2:D2中的公式向下复制到所有行中。
复制C2:D100。在此区域仍处于选中状态时,单击“编辑”菜单上的“选择性粘贴”,单击“数值”,然后单击“确定”,将C2:D100中的公式改为数值。
按列D排序,降序排列。
对于在列D中值为TRUE的行,列A中是帐户号码的唯一列表,列C中是帐户的最终动态汇总。
优点速度快。只需对写IF语句感觉敏锐。
缺点还有更好的方法。
方法2:使用“高级筛选”获得唯一帐户列表
这是一种获得唯一帐户号码列表的方法:
突出显示区域A1:A100。
在“数据”菜单上,指向“筛选”,然后单击“高级筛选”。
单击“将筛选结果复制到其他位置”。
选中“选择不重复的记录”复选框。
选择要在其中显示唯一列表的工作表空白部分。将此位置键入“复制到”框中。
注释单击“将筛选结果复制到其他位置”之前,“复制到”框显示为灰色。
单击“确定”。唯一帐户号码将显示在输入的位置。
输入获得结果所需的所有进一步操作、数组公式等。
优点比方法1快。无需排序。
缺点此后所需输入的数组公式将使您头晕。
方法3:使用“合并计算”命令
此方法使用“合并计算”命令,这有几项要求:帐户号码必须在要汇总的数值字段的左侧。每列上方必须有标题。需要对其中包括左列中的帐户号码和顶部标题的单元格矩形块指定区域名称。在本例中,该区域为A1:B100。
突出显示区域A1:B100。
通过在名称框(在编辑栏左侧)中单击并键入TotalMe之类的名称,对此区域指定区域名称。(也可以在“插入”菜单上单击“名称”。)
将单元格指针置于工作表的空白部分。
在“数据”菜单上,单击“合并计算”。
在“引用位置”框中,键入区域名称(TotalMe)。
在“标志位置”部分,选中“首行”和“最左列”。
单击“确定”。
优点无需排序。可用一系列键盘快捷键将其实现:Alt+D+N(区域名称)、ALT+T、ALT+L、Enter。易于缩放。如果区域包括12个月份列,则结果将是每月的汇总。
缺点如果在同一工作表上再次使用“合并计算”功能,则需要通过使用Delete键从“所有引用位置”中清除旧区域名称。帐户号码必须位于数值数据的左侧。这要比数据透视表稍慢,对于具有超过10,000个记录的数据集,这会变得很明显。
方法4:使用“分类汇总”命令
这是一种很棒的功能。但因为得出的数据处理起来很陌生,所以与“合并计算”相比,您可能不常使用此功能。
按列A排序,降序排列。
选择数据区域内的任一单元格。
在“数据”菜单上,单击“分类汇总”。
默认情况下,Excel支持对最后一列数据的分类汇总。这在此例中有效,但您往往必须在“选定汇总项”列表中滚动才能选择正确的字段。
单击“确定”。Excel将在每当更改帐户号码时插入一个新行,并进行分类汇总。
添加汇总后,您将看到小按钮“1”、“2”和“3”显示在名称框下,单击“2”只查看每个帐户其中有汇总的一行。单击“3”查看所有行。
优点很棒的功能。极适于打印有汇总和每节后都有汇总的报告。
缺点必须先对数据进行排序。对于大量数据,这可能会很慢。必须使用“定位”命令(“编辑”菜单),然后单击“定位条件”才能只选择可见的单元格,将汇总移动到其他位置。必须使用“分类汇总”命令(“数据”菜单),然后单击“全部删除”才能恢复原始数据。
方法5:使用“数据透视表”
“数据透视表”是所有解决方案中最全面的。不必对数据进行排序。数值列可位于帐户号码的左侧或右侧。可轻易使帐户号码向下或跨页排列。
选择数据区域内的任一单元格。
在“数据”菜单上,单击“数据透视表和数据透视图”。
单击“下一步”接受步骤1中的默认设置。
确保步骤2中的数据区域是正确的(通常是正确的),然后单击“下一步”。
单击步骤3中的“布局”按钮。(Excel97用户会自动转到“布局”作为步骤3。)
在“布局”对话框中,将“帐户”按钮从右侧拖放到“行”区域。
将“金额”按钮从右侧拖放到“数据”区域。
单击“确定”。(Excel97用户单击“下一步”。)
指定是要将结果放在新工作表中还是放在现有工作表的特定部分内,然后单击“完成”。
优点快速、灵活、强大。即使对于大量数据也很快。
缺点有些令人望而却步。

分类汇总




什么叫分类汇总
基本概念 对所有资料分类进行汇总。分类汇总是统计中常用,举例来说如统计学生成绩,及格不及格的归类,分优良中差等级归类等,每个单项代码很好写,但是如果分类汇总的项目多了,能一种汇总写一个函数吗?比如说有些科目60分才算及格,有些科目50分就算;有些老师喜欢分优良中差四等,有些老师却喜欢分ABCD;不...

分类汇总和数据透视表有什么区别?
一、概念不同 1、分类汇总:分类汇总是对相邻的相同项进行汇总。2、数据透视表:数据透视表是利用排序。二、使用方法不同 1、分类汇总:分类汇总在“数据”选项卡的分级显示。2、数据透视表:数据透视表在“插入”。三、功能不同 1、分类汇总:按某一个字段将数据进行汇总统计。2、数据透视:功能非常...

什么是分类汇总?举例说明。
分类汇总是指数据按不同的类别进行汇总。但在分类汇总之前必须先对数据清单进行排序。使同一类的记录集中在一起,然后才对记录进行汇总。在Excel中,选择“数据---排序。”排序后,再选择“数据--分类汇总”你可以按照对话框中的内容尝试一下,多练习几就能掌握了 ...

什么是分类汇总如何进行分类汇总
数据分类汇总是数据分析中的一项关键技能,尤其在Excel处理中尤为重要。其核心是根据表格中某一列特定的数据,将数据进行有序的整理和汇总。以下是实现这一过程的详细步骤:首先,确保你的工作表包含完整且准确的数据。选择工作表中的一个数据单元格,使其成为活跃单元格,确保它在数据的有效范围内。接着...

电子表格EXCEL中的分类汇总是什么意思,到底有什么作用呢
excel 的分类汇总就是,按照设定的字段做分组,并按此分组计算你要的字段。分类汇总使用前提是需要先按分组字段排序。

什么叫做EXCEL分类汇总
详情请查看视频回答

分类汇总和数据透视表有什么区别
一、定义 1. 分类汇总 分类汇总是对相同类别(列)的数据进行统计汇总,包括求和、计数、求平均等汇总运算。这种方法涉及将同类别的数据集中在一起,然后进行汇总运算。2. 数据透视表 数据透视表则通过不同的行或列组合来对源数据进行统计汇总,包括求和、计数、求平均等汇总运算。它允许用户自定义透视...

什么叫做EXCEL分类汇总啊?
EXCEL分类汇总就是把资料进行数据化后,先按照某一标准进行分类,然后在分完类的基础上对各类别相关数据分别进行求和、求平均数、求个数、求最大值、求最小值等方法的汇总。分类汇总步骤:1、选中要分类汇总的数据。2、点击工具栏中的数据。3、在数据页面点击分类汇总。4、点击分类汇总后,汇总方式可以...

分类汇总和合并计算有什么区别?
一、概念区别 1. 分类汇总:这种方法涉及对相邻的相同项进行汇总。它适用于对数据进行分级显示,例如财务科目汇总,但前提是需要先对数据进行排序。2. 合并计算:合并计算则是对不相邻的相同项进行合并计算。它能够跨表操作,将子表区域中的第一列作为行标题,其他列作为列字段,如果列字段名相同则汇总...

分类汇总与合并计算的区别是什么?
一、概念不同 分类汇总:分类汇总是对相邻的相同项进行汇总。合并计算:合并计算是对不相邻的相同项进行合并计算。数据透视表:数据透视表是利用排序、筛选、分类汇总与合并计算共同对表格进行数据分析。二、使用方法不同 分类汇总:分类汇总在“数据”选项卡的“分级显示”栏目中添加。合并计算:合并计算在...

包头市17582812950: 分类汇总(对所有资料分类进行汇总) - 搜狗百科
书进糖柯:[答案] 分类汇总是指数据按不同的类别进行汇总.但在分类汇总之前必须先对数据清单进行排序.使同一类的记录集中在一起,然后才对记录进行汇总.在Excel中,选择“数据---排序.”排序后,再选择“数据--分类汇总”你可以按照对话框中的内容尝试...

包头市17582812950: 什么是分类汇总?定义 -
书进糖柯: 分类汇总就是按一定的类别进行汇总.

包头市17582812950: 什么叫分类汇总 -
书进糖柯: 基本概念对所有资料分类进行汇总.分类汇总是统计中常用,举例来说如统计学生成绩,及格不及格的归类,分优良中差等级归类等,每个单项代码很好写,但是如果分类汇总的项目多了,能一种汇总写一个函数吗?比如说有些科目60分才算及格,有些科目50分就算;有些老师喜欢分优良中差四等,有些老师却喜欢分ABCD;不一而足,如果每个都写一个函数无疑是个编写和维护恶梦.如果我们用匿名类把分类汇总的规则和分类汇总的过程分别抽象出来,代码就清晰灵活多了,以下代码讲述了这个过程,代码比较简单,这里就不赘述了,相信大家都能看明白.

包头市17582812950: 分类汇总的意义主要在于什么 -
书进糖柯:[答案] 分类汇总把所有记录根据要求条件进行汇总汇总条件有计数,求和,最大最小或方差等比如选择的条件是计数,目标关键字是日期那么汇总结果就是把所有记录按日期进行 如果满意请点击右上角评价点【满意】即可~

包头市17582812950: 请教,excel分类汇总是什么意思呢? -
书进糖柯: 分类汇总是按指定的字段(通常为表格中的列标题)对数据进行计算,例如:对于加油站来讲,销售的汽油有93#、90#等,每个月月末,也许会统计各种油品卖了多少(即分类统计月销售额),这时就可按“品种”进行分类汇总.分类汇总之前,必须对要汇总的字段进行排序,使该字段下具有相同属性的值排列在一起.

包头市17582812950: 什么叫做EXCEL分类汇总啊? -
书进糖柯: 分类汇总,就是按照用户指定的数据列,对数据分类,并(或)求和、求平均数、计数等等. 例如某销售数据表,数据列A是店铺名,B列是销售商品名称,C列是商品单价,D列是单项商品销售额.那么,以A列分类,进行汇总,就可以求出各店铺的总销售额了.

包头市17582812950: excel 分类汇总是什么意思? -
书进糖柯: 分类汇总是通过 SUBTOTAL 函数利用汇总函数 (汇总函数:是一种计算类型,用于在数据透视表或合并计算表中合并源数据,或在列表或数据库中插入自动分类汇总.汇总函数的例子包括 Sum、Count 和 Average.)(例如,“求和”或“平均值”)计算得到的.可以为每列显示多个汇总函数类型.

包头市17582812950: 请问什么是excel分类汇总 -
书进糖柯: 分类汇总就是按一定的类别进行汇总. 比如你可以将员工按籍贯进行汇总人数 分类汇总应该可以说是数据透视表的简单应用,工资表用法一例: 姓名 月份 基本工资 奖金 小张 1月 100 200 小张 2月 50 100 小陈 1月 60 70 小陈 2月 10 20 选择以上所有区域后,使用分类汇总,可以分别求出小张、小陈的基本工资与奖金的小计,也可以求出分别求出1、2月份的工资小计 分类汇总只能指定一个分类项目,比如姓名,或月份进行汇总

包头市17582812950: excel中的分类汇总我们用在什么场合? -
书进糖柯: 用在 你既想看到明细数据 同时又想得到 按着某种分类 来做的合计数据 在原明细表的基础上来做的……

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网