使用excel统计学生成绩让相同学生分数名次相同-英雄云拓展知识分享
283
2024-01-30
今天给大家分享一个很经常使用也很实用的函数:SUMPRODUCT。尽人皆知,条件求和与计数是表格使用者最常常碰到的两个问题,而该函数不但汇聚了条件求和与计数两大功能于一身;还可用于复杂场景下的排名处理,乃至听说有人靠它一个函数就打下了Excel半壁江山……因而便不可不学了。
先来看基础语法,SUMPRODUCT的官方语法说明是在给定的几组数组(array)中,将数组间对应的元素相乘,并返回乘积之和。语法格式以下:
=SUMPRODUCT(array1,array2,array3, …)
——SUM是求和的意思,PRODUCT是相乘的意思,参数之间相乘以后再求和,你看,SUMPRODUCT确切人如其名了。
看我手,歪、图、斯瑞……总结起来,SUMPRODUCT函数具有以下3个特点:
1> 它本身默许履行数组运算。
2> 它会将参数中非数值型的数组元素作为0处理。
3> 参数必须有相同的尺寸,否则返回毛病值。
看完了SUMPRODUCT的简历,想必很多朋友是雾里看花,仅仅对它有个模糊的认知,它的这些特点是啥意思?它到底能够胜任甚么模样的工作?其实其实不了然。
打个响指,我举几个例子。
如上图所示的数据表,C列是商品单价,D列是销售数量,现在需要在C9单元格计算销售总额。
C9输入以下公式,便可得出结果11620.60=SUMPRODUCT(C3:C7, D3:D7)
这便是一个简单的SUMPRODUCT函数了。它的运算进程是:C3:C7和D3:D7两个区域数组内的元素分别相乘,也就是C3*D3,C4*D4,C5*D5……直至C7*D7
等于先将每一个商品的销售金额计算出来,最后汇总求和。
由于SUMPRODUCT函数第一个特点,本身是支持数组间运算的,所以虽然该公式履行了多项运算,但其实不需要按数组3键<Ctrl+Shift+Enter>结束公式输入。
有的朋友说啦,公式也能够写成这样:=SUMPRODUCT(C3:C7*D3:D7)
或使用以下数组公式,也是可以的。=SUM(C3:C7*D3:D7)
那末这3个公式之间有甚么区分呢?
首先,大部份情况下,SUMPRODUCT函数都不需要数组3键结束公式输入便可履行数组运算,而SUM函数是需要的。
其次,就要说到SUMPRODUCT函数另外一个非常重要的特点了。
……
我们将上面的表稍做改动,将“钢笔”的销售数量更改成:暂未统计。一样需要在C9单元格计算销售总额。
这时候候,如果使用公式:=SUMPRODUCT(C3:C7*D3:D7)
或数组公式:=SUM(C3:C7*D3:D7)
都将返回毛病值#VALUE!
返回毛病值的缘由在于D4单元格“暂未统计”为文本值,文本值是没法直接参与数学运算的,因而C4*D4返回毛病值#VALUE!,进而造成全部公式的结果返回毛病值。
而使用以下公式就没有这方面的困扰,会直接返回正确结果:=SUMPRODUCT(C3:C7,D3:D7)
这便是SUMPRODUCT函数的第2个特点:将非数值型的数组元素作为0处理。
以该示例来讲,D4单元格的值“暂未统计”为文本,并不是数值,SUMPRODUCT将其主动视为零,因而C4*D4,结果亦为零,其余数组元素照旧计算,得出11385.60的结果。
需要特别说明的是,SUMPRODUCT将非数值型的数组元素作为0处理,所谓的非数值型数组元素,包括逻辑值、文本,但其实不包括毛病值,如果数组元素中包括毛病值,该公式亦返回毛病值,比如该示例的第一条公式。
……
说完了SUMPRODUCT函数的两个特点,我们就再来聊聊它的第3个特点:数组参数必须有相同的尺寸,否则返回毛病值。
我们仍然用上述图片的例题为例,继续计算商品的销售总额。如果我们在C9输入公式:=SUMPRODUCT(C3:C7,D3:D6)
结果会是怎样样的呢?
毛病值:#VALUE!
为何?
仔细的你肯定已注意到了,两个区域数组,C3:C7明显显比D3:D6多了一个元素,C3和D3结对子,C4和D4结对子……那末C7和谁结对子呢?女人们都嫁了,结果剩下一个光棍,这日子没法过了!一个萝卜一个坑,只有萝卜没有坑,这不是要萝卜死吗,我们将继续深入。
——因而SUMPRODUCT就不高兴了,它给你一个毛病值#VALUE!,明确告知你,和谐时期幸福岁月,日子不能这么过。
这就是SUMPRODUCT函数的第3个特点:数组参数必须有相同的尺寸,否则返回毛病值。
下面是一道练习题,你看看,能用SUMPRODUCT函数做出来吗,我们将继续深入。
假定下面这张图,是某个公司工资发放的部份记录表(数据纯属虚拟,如有雷同,那是穿越)。A列是工资发放的时间,B列是员工所属的部门,C列是员工姓名,D列是相干员工领取的工资金额。
——那末,问题和广告都来了:
1
员工西门庆领取了几次工资?
这是一个单条件计数的问题,通常我们使用COUNTIF函数,但如果使用SUMPRODUCT函数,一般写成这样:=SUMPRODUCT((C2:C13="西门庆")*1)
先判断C2:C13的值是不是等于”西门庆”,相等则返回TRUE,不等则返回FALSE,由此建立一个有逻辑值构成的内存数组。
上文已说过,SUMPRODUCT有一个特质,它会将非数值型的数组元素作为0处理,逻辑值自然是属于非数值型的数组元素,为了不SUMPRODUCT函数把逻辑值视为0,造成统计毛病,我们使用*1的方式,把逻辑值转化为数值,TRUE转化为1,FALSE转化为0,最后统计求和。
2
员工西门庆领取了多少工资?
这是一个单条件求和的问题,通常我们使用SUMIF函数,如果使用SUMPRODUCT函数,我们可以写成这样:=SUMPRODUCT((C2:C13="西门庆")*D2:D13)
仍然首先判断C2:C13的值是不是等于”西门庆”,得到逻辑值FALSE或TRUE,再和D2:D13的值对应相乘。TRUE乘以数值,得到数值本身。FALSE乘以数值返回0。最后统计求和得出结果。
看完了上面两个问题,有些朋友可能会在心里想,貌似SUMPRODUCT能干的事,SUMIF和COUNTIF也能做到,而且做的更好,那末还要SUMPRODUCT干啥嘞?
乡亲们呐,话不能这么说,SUMPRODUCT可是上得厅堂下得厨房,对工作环境不挑不拣,它对参数类型没有啥特别要求,COUNTIF和SUMIF就不同了,他俩要求个别参数,必须是区域(Range型),不支持数组,比以下面这两个问题,COUNTIF和SUMIF就要绕了。
3
2月份外交部发放了几次工资?总额是多少?
第1个问题,2月份外交部发放了几次工资?
这是一个多条件计数的问题。
第一个条件,发放工资的时间必须是2月份;第2个条件,发放工资的部门必须是外交部。
如果使用多条件计数函数COUNTIFS,判断发放工资的时间是不是属于6月份,会简单问题复杂化。而使用SUMPRODUCT函数,我们可以把公式写成这样:=SUMPRODUCT((MONTH(A2:A13)=2)*(B2:B13="外交部"))
……
第2个问题,统计2月份外交部发放了多少工资?
这是一个常见的多条件求和问题。
如果使用SUMIFS函数,判断发放工资的时间是不是属于6月份,也会简单问题复杂化。
SUMPRODUCT跃但是至:=SUMPRODUCT((MONTH(A2:A13)=6)*(B2:B13="外交部"),D2:D13)
或:=SUMPRODUCT((MONTH(A2:A13)=6)*(B2:B13="外交部")*D2:D13)
打个响指,关于这两个情势的SUMPRODUCT函数的区分,我们上文已有详细说明——你还记得吗,我们将继续深入。
上面这个公式可以说是SUMPRODUCT多条件求和的典型用法啦,可以归纳为:
=SUMPRODUCT((条件一)*(条件2)……,求和区域)
4
2月份外交部和步兵部合计发放了多少工资?
解决了上面的问题,相信大家已知道如何计算2月份外交部发放多少工资了,那末2月份外交部和步兵部合计发了多少工资,又当怎样计算呢
我们常常见有些性情朴素的表亲们把公式写成这样:=SUMPRODUCT((MONTH(A2:A13)=2)*(B2:B13="外交部")*D2:D13)+SUMPRODUCT((MONTH(A2:A13)=2)*(B2:B13="步兵部")*D2:D13)
这些表亲们预估心想,不就是计算两个部门吗,我们将继续深入。甭说两个,210个咱也能算,一个加一个,一直加到210个,世上无难事,只怕有心人嘛,一砖加一砖,长城就建成了,一泡加一泡,长江就奔流了……
呃……公式写的那末长,先不谈计算速度,首先它累手啊,万一写错了,又要修改,那也是麻烦他妈哭麻烦——麻烦死了。
其实我们可以写成这样:=SUMPRODUCT((MONTH(A2:A13)=6)*(B2:B13={"外交部","步兵部"})*D2:D13)
5
排名利用
认识了SUMPRODUCT函数在条件计数和求和方面的用法,最后,我们再来看一个它在排名上的使用方法。
如上图所示,某个月某个公司某些人领了某些工资,然后呢,他们想看看自己的工资,在部门内的排名情况,比如说步兵部的鲁智深都是老员工了,非常想知道自个工资在各自部门排几号。
固然啦,不排不知道,一排就傻掉。
SUMPRODUCT是这么解决这个问题的,D2输入公式向下复制:=SUMPRODUCT(($A$2:$A$9=A2)*(C2<$C$2:$C$9))+1
(思考,为何公式的最后+1,而不是直接写成以下:)=SUMPRODUCT(($A$2:$A$9=A2)*(C2<=$C$2:$C$9))
结束语
唠唠叨叨说了这么多,眼睛都说酸麻了,是到了该结束的时候啦。
最后,请思考两个小问题:
第1个问题:下面SUMPRODUCT函数有几个参数?=SUMPRODUCT((MONTH(A2:A13)=6)*(B2:B13="财务部")*D2:D13)
下面这个SUMPRODUCT函数又有几个参数?=SUMPRODUCT((MONTH(A2:A13)=6)*(B2:B13="财务部"),D2:D13)
第2个问题:
SUMPRODUCT为何有时候比SUMIF/COUNTIF计算速度慢?
……
出处:https://mp.weixin.qq.com/s/0VZMQtCqN-Ez1FdR8i4J1g
在现代企业管理中,数据的高效管理和处理至关重要。随着信息技术的不断发展,英雄云的云表单已经成为了提高数据录入、管理和分析效率的不可或缺的工具。让我们来深入探讨英雄云-云表单的几大优势。
英雄云的云表单中包括了各种基础字段,如单行文本、多行文本、数字输入框、单选框、复选框、下拉框、下拉复选框、日期时间、分割线等。这些字段的多样性使用户可以根据具体的业务需求,轻松进行文本、数据和时间信息的录入或修改。例如,您可以使用单行文本字段录入员工姓名、产品型号等,或者使用下拉框进行多选,根据不同情况选择更加方便的字段类型。
英雄云的云表单还提供了高级字段,如地址、图片、附件、手写签名、手机、子表、关联数据、关联查询以及流水号。这些高级字段在基础字段的基础上升级,可帮助用户完成一些琐碎的工作。例如,使用地址字段可以避免逐字打字,而流水号字段可以自动生成规律性的编号,非常适用于合同编号生成等场景。
英雄云的部门成员字段允许企业对各个部门的成员进行精确管理。用户可以通过部门成员字段获取通讯录中的部门成员信息,应用于记录报销人、报销部门等场景。这些成员字段还细分为成员单选和成员多选,可根据具体需求在通讯录中选择一个或多个成员。
英雄云的聚合表功能用于对已存在的表单数据进行聚合计算,从而得到一张聚合表,后续其他表单可调用聚合表进行数据联动、关联查询和关联数据等操作完成数据处理。这一功能可应用于多种场景,如进销存管理、财务管理和门店零售管理等,帮助企业完成数据处理,提高工作效率。
英雄云的表单权限设置允许用户根据企业的具体需求管理表单的访问和操作权限。用户可以根据系统权限或自定义权限对不同成员或团队进行权限设置,以确保数据的安全和合规性。这一功能使企业能够根据变化的业务需求和团队结构,实时调整权限设置。
英雄云的云表单支持自定义打印模板,可将表单数据转换为可打印的Word文档。用户可以根据自己的需求进行排版和编辑,将产品规格说明书等文档轻松生成。这一功能提供了一种标准化的文档输出方式,简化了信息整理的过程。
综合来看,选择英雄云的云表单意味着选择更智能、更灵活、更高效的数据管理工具。无论是提高工作效率,精确管理数据,还是实现数据处理,英雄云的云表单都能满足您的多样化需求,助力您的业务发展。
如果您正在寻找一款强大的云表单工具,不妨考虑英雄云,它将为您带来更多的便捷和智能,助您事半功倍。
免责声明:
本网址(www.yingxiongyun.com)发布的材料主要源于独立创作和网友匿名投稿。此处提供的所有信息仅供参考之用。我们致力于提供准确且可信的信息,但不对材料的完整性或真实性作出任何保证。用户应自行验证相关信息的正确性,并对其决策承担全部责任。对于由于信息的错误、不准确或遗漏所造成的任何损失,本网址不承担任何法律责任。本网站所展示的所有内容,如文字、图像、标志、音频、视频、软件和程序等的版权均属于原创作者。如果任何组织或个人认为网站内容可能侵犯其知识产权,或包含不准确之处,请即刻联系我们进行相应处理。
发表评论
暂时没有评论,来抢沙发吧~