【211期】高手?小白?统计合格人数的方法,都值得看,80%人不会

【【211期】高手?小白?统计合格人数的方法,都值得看,80%人不会】前言
职?。胧荩?很多时候,是密不可分的,现在很多公司都有绩效考核,很多学校也要进行成绩分析,那么,当我们用EXCEL将我们需要的原始数据 , 整理好后,下一步就是要分析出我们需要的结果,这个时候 , 才是最考验职场员工能力的时候 。
要知道,一切只有数据没分析 , 还不如不录入数据来的实在
本文案例有难度,欢迎评论区讨论
今天就给大家分享一期关于考核等级分析的技巧,包含众多知识点 , 只有认真看了,练习了,才能真正体会到本文核心!
案例:

【211期】高手?小白?统计合格人数的方法,都值得看,80%人不会

案例要求:
  1. 根据每个学科的等级评分,求出在C等级以上,包含C的个数,
  2. 举例201906班有4个C等的,结果就必须为4
解题思路:
因为在A-D的等级后面 , 还有评分,因为评分是不相同的,所以,无法用一个公式
我们要做的,就是如何在不添加辅助列的情况下,让括号前面的 , 单独形成一个数组,而后进行分析,当然,如果允许添加辅助列,直接每行下面插入一行 , 而后用LEFT函数,提取等级,而后用countif计算即可 , 但是,如果有1万行,你也插入?所以显然不是最佳方案
常规方法1:失败
  1. 要讲括号前面的等级放到一起,我们首先想到的函数是code,就是将前面的字母,返回其字符集,比如code(C) 结果为67, code(B) 结果为66,而后我们就可以用countif进行计数,计算小于等于67的个数即可
  2. 从而我们可以输入公式CODE(B4:L4),而后我们按F9键,就可以看到,这里得到的,是一个数据集,{67,67,68,67,#VALUE!,#VALUE!,#VALUE!,#VALUE!,67,68,68} , 因为第四行有介个空格,所以中间有错误值 。
  3. 在有错误值的情况下,是无法计算的 , 所以我们要套一个EXCEL错误值屏蔽iferror函数 , 进行错误值屏蔽,因为要求的是67以下的,我们可以将错误值替换为67以上的即可 , 这里我们替换为100,IFERROR(CODE(B4:L4),100),而后按F9,就可以看出结果为{67,67,68,67,100,100,100,100,67,68,68}

【211期】高手?小白?统计合格人数的方法,都值得看,80%人不会


这时有的亲们说 , 我已经会了,不就是EXCEL公式嘛,这里有了这些数字,外套countif函数,就求出个数了
如果这么认为,请往下看
亲常用的公式是countif (code(B9:L9),"<=67"),但是当我们输入完后,竟然无法保存,是因为countif函数的第一个参数,必须是直接的区域引用,就是说不能经过中转,不能用在数组,如果是countif (B9:L9,"<=67")这样的是可以的 , 但是加了code函数 , 就不可能实现
正确方法:成功
  1. 原先的思路,是正确的,不正确的是我们最后选择了无法使用数组的EXCEL计数函数 , 我们只要选择可以用数组的即可
  2. 正确的公式:=SUMPRODUCT(--(IFERROR(CODE(B4:L4),100)<=67))的的因为是数组公式,输入完后,在键盘上按ctrl enter shift三键结束即可
可是有的亲们会说,我就是不喜欢用数组公式,太占内存,卡,那么继续往下看
【211期】高手?小白?统计合格人数的方法,都值得看,80%人不会

正确方法2:
对上面的数组公式,我们可以继续优化,最终最佳EXCEL函数公式为
=SUMPRODUCT(--(LEFT(B4:L4,1)={"A";"c";"B"}))无需数组,快速解决
说到这里,就不多说了 , 职场办公的你,学会了吗?光说不练 , 永远不会,欢迎大家练习下,有不明白的,请看评论区一楼讨论方式

相关经验推荐