如何统计各班分数段人数并成表格 (如何统计多个分数段的名单)

如何统计各分数段的数据

大家好,今天和大家分享“如何统计各分数段的数据”,500到600有多少人,不包括600;600到700有多少人,不包括700;700到800有多少人,不包括800。更多Excel学习和问题请加群:289393114、570064677

怎么根据分数段统计表确定排名,最简单的分数段统计

一、解法1:FREQUENCY函数实现

1、公式截图

怎么根据分数段统计表确定排名,最简单的分数段统计

2、公式

=TRANSPOSE(FREQUENCY($B$2:$B$17,{600,700,800}-0.1))

3、公式解释

  • 根据FREQUENCY函数第2参数特点,是统计小于等于分数段,所以这里{600,700,800}-0.1减0.1的目的就是不包括各分数段,比它小0.1

  • FREQUENCY返回的结果会比如分数段个数还要多一个,因为它会统计大于第2参数最大值的个数,如果没有大于就返回0

  • FREQUENCY函数得到结果是纵向的一维数组,如果你要横向显示,那么就要用转置函数TRANSPOSE转置一下

怎么根据分数段统计表确定排名,最简单的分数段统计

  • 我这里用了区域数组,你在D5单元格输好公式之后,然后选中区域D5:F5,然后三键一齐下Ctrl+Shift+Enter,如果你不要用区域数组公式,你也可以用下面的公式=INDEX(TRANSPOSE(FREQUENCY($B$2:$B$17,{600,700,800}-0.1)),COLUMN(A1))

二、解法2:countif函数+拉大距离法实现

1、公式截图

怎么根据分数段统计表确定排名,最简单的分数段统计

2、公式

=SUM(COUNTIF($B:$B,">="&TRIM(MID(SUBSTITUTE(D4,"-",REPT(" ",99)),{1,99},99)))*{1,-1})

3、公式解释

  • 由于不能更改分数段要求的表头,所以通过SUBSTITUTE和REPT函数按杠分隔出来">="&TRIM(MID(SUBSTITUTE(D4,"-",REPT(" ",99)),{1,99},99)),这个的原理就是拉大横杠前面的距离;先让rept函数产生99个空格,然后把横杠替换成99个空格,然后再用mid从那这两个位置{1,99}开始提取99,这样就把横杠前面的分数段分隔出来,由于前后还存存多余的空格,再用ftrim函数去掉前后的空格,这样就得到一个数组{500,600},用它来作countif函数第2参数

  • countif($B:$B,{">=500",">=600"})返回2个结果,返回{16,13},这个是什么意思呢,大于等于500的有16个,大于等于600的13个,而大于等于500的包含大于等于600,所以用16-13得到我们的要结果,大于等于500且小于600的个数3

  • {16,13}我们要把后面的13变成-13,16不变,所以要用和这个常量数组{1,-1}相乘,相乘之后得到{16,-13}再用sum求和,相当于16-13

三、小结一下

解法1公式简短些,但是这个函数许多朋友不会用,而后面的公式复杂,相比来说比思路解法简单些,但是不会数组的朋友也一样难,当然我们也可以用2个countif相减,这里我就不说了,但是和这两个公式相比,两个countif函数相减要写3个公式,显示初级些。