编按:哈喽,大家好!在日常工作中,相信大家都遇到过这样一种情况,要求按照等级统计得分。这个问题说难倒也不难,但如果要小伙伴列出3种以上的解决方法,估计不少人会蒙圈。思路越多,解决问题的方法就越多,对函数的掌控程度也会越好。今天作者E图表述将为大家分享7种解决方法,赶紧来看看吧!学习更多技巧,请收藏部落窝教育excel图文教程。 【前言】故事是这样的,公司的业绩到了瓶颈期,以前总能发掘出新的客户,业绩也在蒸蒸日上的发展。但是当手中的资源发掘的差不多了的时候,没有了后续的资源,公司的业绩就到了瓶颈。 销售部门习惯了使用公司提供的潜在客户群,所以没有哪个人主动出去拉业务,当然"拉业务"是一件很辛苦的事情,而且未必就会有成效。 于是老板就着急了,要实行考核制,减少保底工资提高绩效工资,要求每天都要给销售员评定等级,具体评级规则就不提了,一周后我们得到了下面的统计表: 【正文】 "老板啊,阿拉心里可实诚的好不啦,你可不好耍我滴。"统计员小张操着南方口音问着老板。 一问才知道,老板要小张按照等级,计算每个业务员本周得分。 其实在实际工作中也是这样,我们是操作EXCEL统计分析数据的人,只要需求明确,我们就需要根据不同的需求设计不同的表格,这些设计是为了更加有效率的工作而设定的,如果领导一开始就制定出等级分数的评定标准,那么我们可以直接录入这些得分,总分用SUM函数统计就可以了,或者更简单的按下快捷键ALT+=。可是现在写了一堆ABCD,我们是不是还需要VLOOKUP这样的函数,制作"得分表"再进行汇总呢?那么就这个问题,我们来看看函数的处理方法吧。 【解法1】 在H3单元格输入函数: =SUM(VLOOKUP(T(IF({1},B3:G3)),{"A",1;"B",2;"C",3;"D",4;"E",5;"F",6;"G",7},2,0)) 函数解析:这个函数利用了T+IF({1})的结构,将一组数据,转换成多维引用,我们利用F9功能键,可以看到函数红色部分的值为: 可以看到,这段T函数形成的数列和数据源的内容是一样的,再用VLOOKUP函数索引对应得分,最后用SUM函数汇总出总分,即完成工作。不熟悉T+IF({1})结构的同学,可以查看一下往期教程《excel转换为数值的函数:excel之n函数,最短函数之一》 【解法2】 在H3单元格输入函数: =SUMPRODUCT(COUNTIF(B3:G3,{"A","B","C","D","E","F","G"}),{1,2,3,4,5,6,7}) 函数解析:这是COUNTIF函数的数组用法,红色部分将得到等级出现的次数,再使用SUMPRODUCT函数将"次数"乘"对应得分",最后求和。 【解法3】 在H3单元格输入函数: {=SUM(FIND(B3:G3,"ABCDEFG"))} 需要使用CTRL+SHIFT+ENTER三键结束录入生成数组函数。 函数解析:这个函数比较取巧,因为等级和对应得分都是升序排序的,所以我们可以用ABCDEFG字符串中对应的序号作为得分,用FIND函数找出员工评级在字符串中的对应的序号,最后相加即可。如果序号和得分不能对应时,需要考虑其他的方法。 利用F9快捷键,我们可以看到FIND函数得到如上图的一组数列,再用SUM求和就是最终的得分。 不熟悉FIND函数的同学,可以查看一下往期教程《Excel中的最强助攻——FIND函数》。 【解法4】 在H3单元格输入函数: {=SUM(--MID("1234567",MATCH(B3:G3,{"A","B","C","D","E","F","G"},0),1))} 需要使用CTRL+SHIFT+ENTER三键结束录入生成数组函数。 函数解析:通过MATCH函数找到每次评级在"等级列表"中的序号,再在"1234567"得分列表中,使用MID函数提取出对应得分,再用"--"减负运算将其转换成数值,最后用SUM汇总得分即可。(由于这里ABCDEFG字符串的序号对应得分,所以可以省略MID函数,将公式简化为:{=SUM(--MATCH(B3:G3,{"A","B","C","D","E","F","G"},0)) },不过如果不是这种情况,就不能省略MID了。) 需要注意的是:因为这次的等级分值都是个位数(即分值的位数都一致的情况),所以可以使用这个方法,否则请考虑采纳其他的方法解决。 【解法5】 在H3单元格输入函数: {=SUM((B3:G3={"A";"B";"C";"D";"E";"F";"G"})*{1;2;3;4;5;6;7})} 需要使用CTRL+SHIFT+ENTER三键结束录入生成数组函数。学习更多技巧,请收藏部落窝教育excel图文教程。 函数解析:这个思路就比较巧妙了,逻辑值参与了数学计算,我们选中函数中(B3:G3={"A";"B";"C";"D";"E";"F";"G"})的部分,按F9键,就会看到下面的内容: =SUM(({TRUE,FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,TRUE,FALSE,FALSE;FALSE,TRUE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,TRUE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,TRUE,FALSE,FALSE,TRUE;FALSE,FALSE,FALSE,FALSE,FALSE,FALSE})*{1;2;3;4;5;6;7}) 这个函数的思路需要从数列说起,B3:G3是横向的一排数列,而{"A";"B";"C";"D";"E";"F";"G"}是纵向的一列数列(它们在内存中存储的区别在于,横向的是用"英文逗号"间隔,纵向是用"英文分号"间隔),那么有了这样的一个概念后,就要在脑中有个空间感,用下图来辅助我们理解: 因为TRUE默认值是1,FALSE默认值是0,所以用这个由"TRUE"和"FALSE"组成的数列矩阵乘以{1;2;3;4;5;6;7},相乘后就会得到另外一组数据: 看到这里是不是恍然大悟,在实际工作中使用EXCEL函数有很多时候是需要去结合逻辑值进行思考,尤其是在数组函数中,这一点就显得更加重要,一定要学会。 【解法6】 在H3单元格输入函数: {=SUM(LOOKUP(B3:G3,CHAR(64+ROW($1:$7)),ROW($1:$7)))} 需要使用CTRL+SHIFT+ENTER三键结束录入生成数组函数。 函数解析:这个函数其实就是LOOKUP的常规应用,之前我们有出过这个函数的图文教程,所以今天我们重点来说CHAR函数,这个函数的作用是将数值转换成对应的字符: 这就是函数中数值对应的字符,即A~G。 使用公式求值,我们可以看到函数的计算步骤,方便我们对数组函数的理解。 【解法7】 在H3单元格输入函数: {=SUM(CODE(B3:G3)-64)} 需要使用CTRL+SHIFT+ENTER三键结束录入生成数组函数。 函数解析:这个方式算是【解法6】的一个变形吧,CHAR函数是将数值转换为字符,CODE函数是CHAR函数的反作用:将字符转换为对应的数值。因为我们等级和数值的对应关系比较整齐,所以这个方法也算是取巧了,计算步骤如下: 【编后语】殊途同归,任何一种方法都可以得到我们的答案,当然也可以使用IF函数,列出所有的对应关系,但是作者E图表述没有列出这个"大家都会"的方法,因为我们想让大家对于函数的思路和使用能通过这样的一篇文章有所提高,那么,现在就动手操作一番吧。学习更多技巧,请收藏部落窝教育excel图文教程。 ****部落窝教育-excel分级统计技巧**** 原创:E图表述/部落窝教育(未经同意,请勿转载) 更多教程:部落窝教育