首先,我想道歉。 封面与本文无关,不过别灰心,下面的内容更精彩。
今天有朋友问我如何在Excel中按照指定的规则对一列数据进行分组。 今天给大家介绍一下使用函数和数据透视表对数据进行分组以及每种方法的适用情况
1.使用if函数进行分组
if 函数适用于简单的分组规则。 if函数的参数为if(逻辑判断,为true则返回值,为false则返回值)
例如,如果您想统计某个班数学考试通过和未通过的 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的近似匹配功能时,搜索区域必须按升序排序。
什么? 如果我们不按升序排列会发生什么?就交给聪明的你来尝试一下吧。
综上所述