前言
职场,与数据,很多时候,是密不可分的,现在很多公司都有绩效考核,很多学校也要进行成绩分析,那么,当我们用EXCEL将我们需要的原始数据,整理好后,下一步就是要分析出我们需要的结果,这个时候,才是最考验职场员工能力的时候。
要知道,一切只有数据没分析,还不如不录入数据来的实在
本文案例有难度,欢迎评论区讨论
今天就给大家分享一期关于考核等级分析的技巧,包含众多知识点,只有认真看了,练习了,才能真正体会到本文核心!
案例:
案例要求:
根据每个学科的等级评分,求出在C等级以上,包含C的个数,
举例201906班有4个C等的,结果就必须为4
解题思路:
因为在A-D的等级后面,还有评分,因为评分是不相同的,所以,无法用一个公式
我们要做的,就是如何在不添加辅助列的情况下,让括号前面的,单独形成一个数组,而后进行分析,当然,如果允许添加辅助列,直接每行下面插入一行,而后用LEFT函数,提取等级,而后用countif计算即可,但是,如果有1万行,你也插入?所以显然不是最佳方案
常规方法1:失败
要讲括号前面的等级放到一起,我们首先想到的函数是code,就是将前面的字母,返回其字符集,比如code(C) 结果为67, code(B) 结果为66,而后我们就可以用countif进行计数,计算小于等于67的个数即可
从而我们可以输入公式CODE(B4:L4),而后我们按F9键,就可以看到,这里得到的,是一个数据集,{67,67,68,67,#VALUE!,#VALUE!,#VALUE!,#VALUE!,67,68,68},因为第四行有介个空格,所以中间有错误值。
在有错误值的情况下,是无法计算的,所以我们要套一个EXCEL错误值屏蔽iferror函数,进行错误值屏蔽,因为要求的是67以下的,我们可以将错误值替换为67以上的即可, 这里我们替换为100,IFERROR(CODE(B4:L4),100),而后按F9,就可以看出结果为{67,67,68,67,100,100,100,100,67,68,68}
这时有的亲们说,我已经会了,不就是EXCEL公式嘛,这里有了这些数字,外套countif函数,就求出个数了
如果这么认为,请往下看
亲常用的公式是countif (code(B9:L9),"<=67"),但是当我们输入完后,竟然无法保存,是因为countif函数的第一个参数,必须是直接的区域引用,就是说不能经过中转,不能用在数组,如果是countif (B9:L9,"<=67")这样的是可以的,但是加了code函数,就不可能实现
正确方法:成功
原先的思路,是正确的,不正确的是我们最后选择了无法使用数组的EXCEL计数函数,我们只要选择可以用数组的即可
正确的公式:=SUMPRODUCT(--(IFERROR(CODE(B4:L4),100)<=67))的的因为是数组公式,输入完后,在键盘上按ctrl+enter+shift三键结束即可
可是有的亲们会说,我就是不喜欢用数组公式,太占内存,卡,那么继续往下看
正确方法2:
对上面的数组公式,我们可以继续优化,最终最佳EXCEL函数公式为
=SUMPRODUCT(--(LEFT(B4:L4,1)={"A";"c";"B"}))无需数组,快速解决
说到这里,就不多说了,职场办公的你,学会了吗?光说不练,永远不会,欢迎大家练习下,有不明白的,请看评论区一楼讨论方式
留言与评论(共有 0 条评论) |