批量求平均学分绩点

  • 案例目的
  • 案例背景介绍
    • 分数-绩点转化规则
    • 主修专业课程认定
    • 平均学分绩点计算公式
  • 数据处理
    • 空值的处理
    • 需合并的课程
    • 特殊值处理
    • 多列值合并
  • 计算平均学分绩点
    • 分数转绩点
    • 补入学分并加权平均
  • 注意事项
    • 消除公式
    • 粘贴保留格式

案例目的

通过表格数据批量求出每个同学的平均学分绩点
数据集(百度网盘提取码:jxxp )

案例背景介绍

本案例数据来源于某校2018级学生期末考试,已经过脱敏化处理,并相对此案例教程做了少许修改。

分数-绩点转化规则

分制 成绩/对应绩点 分数段
百分制 成绩 100-90 89-80 79-70 69-60 <60
百分制 对应绩点 5.0-4.0 3.9-3.0 2.9-2.0 1.9-1.0 0
五级制 成绩 优秀 良好 中等 及格 不及格
五级制 对应绩点 4.5 3.5 2.5 1.5 0
二级制 成绩 合格 不合格
二级制 对应绩点 3 0

主修专业课程认定

主修专业课程是指本专业指导性教学计划所要求的课程。
在本案例中为:

课程 学分 备注
体育2 1 (多项,需合并)
大学英语 2 (多项,需合并)
面向对象程序设计 2.5
离散结构 3

平均学分绩点计算公式

平均学分绩点=∑主修专业课学分绩点∑主修专业课程学分平均学分绩点 = \frac{\sum\ 主修专业课学分绩点}{\sum\ 主修专业课程学分} 平均学分绩点=∑ 主修专业课程学分∑ 主修专业课学分绩点​
专业课学分绩点=课程学分×课程绩点专业课学分绩点=课程学分\times课程绩点 专业课学分绩点=课程学分×课程绩点
绩点={(百分制)分数−5010(60分以上)0(60分以下)绩点= \begin{cases} \frac{(百分制)分数-50}{10}(60分以上)\\ 0(60分以下)\\ \end{cases} 绩点={10(百分制)分数−50​(60分以上)0(60分以下)​

数据处理

现有表格数据未经处理,较为混乱,在使用公式前需要清洗。

空值的处理

成绩表中有大量不需计入的选修课程,直接删除即可。

需合并的课程

可以发现,直接对空数据位进行函数运算会报#VALUE!需要将空数据位用0填补。
选中所有数据位,查找内容缺省,全部替换为0即可。

特殊值处理

对于不及格的分数,需要用0替换:
新建一个sheet,在sheet2中选中左上角位置,输入函数:

=if(logical_test,[value_if_true],[value_if_false])

  • =:表示输入的是函数而不是文本
  • if:对分数值进行判断
  • Sheet1!:跨sheet时使用
  • Excel对于大小写不敏感
  • 单元格位置可以通过点击相应位置或用键盘进行插入
  • logical_test:判断的内容,在本例中为是否小于60
  • [value_if_true]:如果为真,替换成的内容,本例中为0
  • [value_if_false]:如果为假,替换成的内容,本例中为原值

IF 函数是 Excel 中最常用的函数之一,它可以对值和期待值进行逻辑比较。
因此 IF 语句可能有两个结果。 第一个结果是比较结果为 True,第二个结果是比较结果为 False。
例如,=IF(C2=”Yes”,1,2) 表示 IF(C2 = Yes, 则返回 1, 否则返回 2)。
if函数-Office支持

对单个单元格操作完成后,用单元格右下角拉柄批量操作

多列值合并

新建英语列,体育列,输入函数并批量操作同上

=sum(number xnumber y)

-number x:起始单元格位置
-number y:结束单元格位置

SUM 函数是一个数学和三角函数,可将值相加。 你可以将单个值、单元格引用或是区域相加,或者将三者的组合相加。
例如:
=SUM(A2:A10)
=SUM(A2:A10, C2:C10)
SUM函数-Office支持

计算平均学分绩点

数据经过清洗后,可以进行进一步计算。

分数转绩点

输入函数,判断,批量操作均如上 (其实筛特殊值可以留到这一步)

补入学分并加权平均

需要另添加多列学分值,并用函数批量计算

SUMPRODUCT(array1,array2)

  • array1:第一个数列,本例中为成绩列
  • array2:第二个数列,本例中为学分列

SUMPRODUCT函数返回对应的区域或数组的乘积之和。 默认运算是乘法,但加、减和除也可能。执行其他算术运算:
按正常方式使用 SUMPRODUCT,但将数组参数替换为所需的算术运算符(*、/、+、-)。 执行所有操作后,结果将按常规方式进行求和。
注意:
如果使用算术运算符,请考虑将数组参数括在括号中,并使用括号对数组参数进行分组以控制算术运算的顺序。
备注:
数组参数必须具有相同的维数。 否则,函数 SUMPRODUCT 将返回 #VALUE! 错误值 #REF!。 例如,= SUMPRODUCT (C2: C10,D2: D5)将返回错误,因为范围大小不同。
SUMPRODUCT 将非数字数组条目视为零。
SUMPRODUCT函数-Office支持

注意事项

表格中的公式问题

消除公式

表中值均包含公式,可能会影响计算。
我们可以新建一个sheet,把数值复制并选择性粘贴以消除公式。

粘贴保留格式

不选择只保存数字,可能出现#REF!错误,或者出现不期望的数值。

现学现用——通过成绩统计案例了解Excel加权平均函数相关推荐

  1. 零基础10小时学会3D基础建模,可能性有多大?现学现用现演示

    本期话题:10小时搞定零基础3D建模能实现么? 学习目标:分享3D建模思路,了解3D建模原理,10小时足够了. 工具软件: CimatronE13 UG NX12 Creo 6.0 SolidEdge ...

  2. 现学现卖微信小程序开发(二)

    现学现卖微信小程序开发(一) 现学现卖微信小程序开发(三):引入Rx,为小程序插上翅膀 一个Todo应用的小程序版 好的,那么下一步我们就先照猫画虎,新建一个todos文件夹,然后一套四样同名文件准备 ...

  3. 《Microduino实战》——3.5 I/O操作——现学现用

    本节书摘来自华章出版社<Microduino实战>一 书中的第3章,第3.5节,作者:姚琪 杨立斌,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 3.5 I/ ...

  4. 现学现卖做一个炫酷的动态背景页面

    很喜欢酷炫的页面,自从看了抖音的主页之后(如下)(链接),就决定要也做一个牛逼的动态背景页面 对...背景是视频,而且还有音效,太牛逼了 然后决定自己做一个,废话不说,先弄代码: 这里为了设计简便,用 ...

  5. CTF训练之现学现卖--SSH私钥泄露

    [原创]CTF训练之现学现卖–SSH私钥泄露 Step1 环境搭建: KALI官网下载vmware虚拟机 Virtual PC加载SSH-私钥泄露.ova (链接:https://pan.baidu. ...

  6. 现学现用-我的第三个小小小私活

    之前写的博客 现学现用-我的第二个小小小私活 之前两个小小小私活,这次遇到的是第三个. 经历的大致历程: 一.背景 经朋友搭线介绍,一家公司需要做个微信小游戏,问我有没有时间和兴趣,我说可以做.做过小 ...

  7. 现学现用大数据分布式集群环境部署

    导读:        随着大数据时代的到来,传统的GIS分析工具越来越难以满足对超大体量空间数据的分析需求.SuperMap iServer 9D(本文简称iServer)实现了地理信息服务的分布式集 ...

  8. 计算机成绩统计优秀率,在excel中如何计算及格率和优秀率及统计各分数段人数.doc...

    在excel中如何计算及格率和优秀率及统计各分数段人数.doc 在excel中如何计算及格率和优秀率 在excel中如何计算及格率和优秀率 A3=85 A4=23 A5=80 =COUNTIF(A2: ...

  9. Android现学现用第十二天

    OKAY mac下的eclipse for j2ee 和for android的都弄了一遍,又捡起来年久失修的J2EE,用servlet总算把照片上传到服务器上了,下面就是服务器端对于照片的管理了,这 ...

最新文章

  1. 做事范围是多么多么重要
  2. cors在服务器还是接口_cors
  3. Atlas学习手记(5):使用服务端定时控件TimerControl
  4. 毕业生的商业软件开发之路 --- C#基本语法-C#代码模块逻辑框架
  5. 关于window.location可以获取的信息
  6. 命令行启动Angular应用
  7. 少儿编程150讲轻松学Scratch(十一)-用Scratch巧解数学题——判定质数
  8. 一加连续点Android版本号,一加6推送国内首个安卓9.0正式版!刘作虎:一加6T出厂就预装...
  9. mysql5.5.53安装教程_mysql5.5.28安装教程 超详细!
  10. 使用Excel内置控件生成二维码
  11. android word文件编辑器,docx文档编辑
  12. java.lang.UnsupportedOperationException\r\n\tat java.sql.Date.toInstant(Date.java:304)
  13. 抽象数据类型的三元组C语言,试仿照三元组的抽象数据类型分别写出数据类型复数和有理数的定义?...
  14. 经典的大学学习生活心得
  15. 人人网移动开发架构及相关服务器架构
  16. IP是如何代理的_怎么设置IP代理
  17. 剑指offer:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。
  18. Flink 消费Kafka的有趣现象:固定时间、固定数量的堆积
  19. android animator 动画
  20. UnityRenderStreaming云渲染

热门文章

  1. 高通骁龙660/骁龙662/骁龙665/骁龙670/骁龙675参数对比介绍
  2. avro java_avro序列化框架实践(一)根据schema文件反向生成java类
  3. unity保存图片到手机相册,安卓
  4. Centos7安装搭建FTP服务器VSFTPD
  5. C++this指针详解
  6. 1024程序员节,北大成立计算机学院!杨芙清任名誉院长【文末送5本书】
  7. 论文略读 | Pattern-revising Enhanced Simple Question Answering over Knowledge Bases
  8. 浅谈---免费ARP 【Gratuitous ARP】
  9. Linux--历史、安装
  10. 开发直播软件必须要用直播系统源码才行