今天有小伙伴问我,如何对Excel中的一列数据按照指定的规则进行分组,今天就介绍一下使用函数和数据透视表对数据分组以及每种方法适用的情形 1、用if函数进行分组if 函数适用于简单的分组规则,if函数的参数为 if(逻辑判断,为真则返回的值,为假则返回的值) 比如要统计某个班级30名学生数学考试及格和不及格的人数,可以使用if函数进行分组 接下来使用透视表就可以统计出来及格和不及格的学生数量了 2、使用透视表进行分组if函数只适用于简单分组的情形,如果要对成绩每10分为一组进行统计,即1-10分,11-20分,21-30分...,这样分组使用if函数可能得嵌套好多个if,if(xxx,if(xxx,if(xxx,if(xxx....)))),看着就眼晕 这时使用透视表的组合功能就很方便了 把“成绩”字段拖到行,右键选择“组合”,起始值和终止值默认取表格中的最小值和最大值,步长根据需要修改,这里每10分划为一段,填10,点击确定,立马就分好组了 3、使用vlookup函数分组使用透视表进行分组很方便,但是透视表有个局限,它只能等长分组,如果我想这么分,1-10分为一组,11-30分为一组,31-59分为一组,60-80为一组,81-90为一组,90以上为一组,很明显,这次分组每组的步长很随机,透视表不能满足需求,if函数虽然能做到,但需要嵌套很多层,写起来很麻烦,可以使用vlookup函数解决这个问题。 先上结果 当vlookup的最后一个参数为TRUE时,函数为近似匹配,即函数找不到精确的匹配值时,会返回小于查找值的最大值,如B2单元格的值为92,函数在做匹配时,会在E列查找,没有找到92,这时会匹配到最大值91,也就是E8单元格,E8单元格对应的是F8单元格,也就是“90分以上”这个分数段。 注意! 在使用vlookup的近似匹配功能时,查找区域必须升序排列。 什么?不升序会怎样?留给聪明的你去试一下吧 总结一下
|
|