如图,我想对每个班级,每一科,大于80分的人,进行计数,请问如何用分类汇总实现,或用其他方法实现。谢谢
想弄成如下图所示的情况。
亲,添加一个辅助列可以解决哦。详见附件的操作视频。看不见附件请按F5刷新页面。
第1步、在最后一列添加一个辅助列,公式如下,按Ctrl+Shift+Enter结束输入(数组公式):
=IF(PRODUCT(IF(E2:J2>80,1,0))=1,C2&"班,每科大于80分","有科目小于80分")
第2步、对数据按辅助列排升序
第3步、对数据分类汇总,“分类字段”就是辅助列,汇总方式“计数”,汇总项“语文”、“数学”……
方法不错,学习了,但是并不是我的要求。
例如:01班数学大于80的是3人,有一个人90分,弄到倒数第二行了。
亲,您到底要“每一科”成绩都大于80分的才统计,还是分别对单科成绩大于80分的统计?
追问对单科统计,例如下边的图片,统计单科大于90分的人数,我是笨方法弄得,五个班可以弄,但总共需要弄27个班呢,我的方法就太慢了。求快方法。谢谢
亲,您看这样行吗,M2输入公式:=COUNTIFS($C:$C,$L2,E:E,">80"),右拉,下拉,覆盖红框的区域。
不行啊,另外能给解释一下公式么,要不下回自己不会用了,我平时用公式,都是这样流程:插入--函数 ,这样直接输入不会啊。谢谢
亲,您是Excel2003么?2003不支持countifs函数,我在修改一下,您在M2改为输入这个就行了:
=SUMPRODUCT(($C:$C=$L2)*(E:E>80)),右拉,下拉。
SUMPRODUCT是乘积求和公式。
($C:$C=$L2)这部分是指第一个条件:C列从第一个开始到最后一个,如果等于L2,则逻辑条件成立,逻辑值就是1(TRUE);否则逻辑值就是0(FALSE);
(E:E>80)这部分指第二个条件:E列,也就是语文列,从第一个开始到最后一个,如果大于80分,则逻辑条件成立,逻辑值就是1(TRUE);否则逻辑值就是0(FALSE);
这两个条件“*”连接,做乘法。意思就是逻辑值相乘。如果两个条件都成立,则1x1=1;只要有一个不成立,则变成0乘另一个数,结果就是0。
最后,SUMPRODUCT闪亮登场,它对刚才从第一个到最后一个的乘积求和。于是若干个1,0求和,最后的和就是1的个数,也就是满足这两个条件的个数。
最后注意一点:用这个函数的时候,多个条件分别用括号括起来,形如(...)*(...)*(...)*...;再注意地址中“$”的使用,以免拉动公式的时候,某些地址跟着自动变化。
亲,看不到完整的数据,是否01班的语文成绩都在图片中了?,我这儿运算正常,貌似是由于您的分数中有不正确的格式,比方说(仅仅只是打个比方)“127.5”写成了“127。5”。附件是我这边测试的文件,供参考。如果您不介意,也可以把文件发到我邮箱,我分析一下原因。邮箱地址私信给您了。
这样只能对一科进行计数,我想对所有科目计数。
这样只能对一科进行计数,我想对所有科目计数。