分类目录归档:教程

为 SCU URP 助手增加「计算各种绩点与均分」的功能

期末考试结束了,又到了一年的出分季,若是在过去,算平均绩点和平均分不是什么难事,因为不论是飞扬的绩点计算器还是后来的「We 川大」(现川大圈校内通)都很好用。然而,因为教务处这学期的升级改造,帮助了无数学子多年的「川大圈校内通」牺牲了……

于是我身边的同学们不得不倒退回用 Excel 或者纸笔计算的原始时代……但作为半个程序猿,还用纸笔算这种事情实在是不大合适,于是我决定为我的四川大学综合教务系统助手增加一个自动计算绩点和平均分的功能。

四川大学综合教务系统助手-绩点与均分计算

现在脚本的新版本已经上传了,有需要的同学可以点击下面的链接安装使用:

四川大学综合教务系统助手

下面的,我将记录一下编写这个功能时的要点。

继续阅读

用 INDEX 和 MATCH 函数的组合取代 VLOOKUP 函数

0x00 前言

在 Excel 里,有无数或简单或复杂的函数,有些函数如 COUNT 可能我们天天都会用到,有些函数则是一辈子都不会碰到的陌生人,爱情也是如此。

而在那些复杂一点的函数里,最广为人知的函数可能就是 VLOOKUP 函数了,这个函数的作用很简单也很强大,就是从表格里找出匹配的的数据。用严肃的语言来说就是:「在数组第一列中查找,然后在行之间移动以返回单元格的值」。

个人认为是否可以使用 VLOOKUP 与 HLOOKUP 函数,大抵是一个人是否对 Excel「略知一二」的分界线。

但 VLOOKUP 函数虽然简单、易用、强大,却仍然有一些呆板的地方,这也很正常,在计算机程序里,「简单易用」往往「灵活多变」的反义词。VLOOKUP 函数的「查阅值」必须位于单元格区域的第一列,这让我们在表格中使用 VLOOKUP 函数时,不得不按照自己的需求重新组织单元格区域的结构,以让 VLOOKUP 函数可以正常工作。

那有没有方法可以让我们在达到 VLOOKUP 函数功能的同时,又可以避开这个「查阅值必须在首列」的白璧微瑕呢?答案就是使用「INDEX 和 MATCH 函数的组合」,我将在下文具体说明这个技巧。

继续阅读

如何为新版的「四川大学综合教务系统」增加「一键评教」功能

8 月 27 日无疑是个伟大的日子,在 110 年前的这一天,晚清政府颁布钦定宪法大纲,标志着中国第一部真正意义上的宪法诞生。如果把时间继续向前推移,我们会发现,凯撒在这一天登陆英格兰;而如果把时间继续向后推移,我们会发现,摩尔多瓦在这一天脱离苏联独立,甚至在 2004 年的这一天的雅典奥林匹克体育场上,刘翔跑出了 12 秒 91 平世界纪录的佳绩勇夺金牌……

但是,这些事情对我而言,都不如 2018 年 8 月 27 日发生的事情令人振奋——「四川大学综合教务系统」终于更新了。

我是在江安寝室里的一号坑上得知这个消息的,随后我便意识到了一个严重的问题,我先前写的四川大学综合教务助手失效了!老系统都没了,皮之不存,毛将焉附?一个现实的问题摆在了我面前,是补作业还是重构这个程序?在收到下面这封邮件后,我决定补完重要的作业后就把这个程序重构一下。

现在程序已经重构完成,有需要的同学可以点击这里安装使用。

下面我将记述一下重构过程中的一些要点,基本原理和之前旧系统一键评教那篇文章中所讲的类似,所以一些旧文中提过的内容将不再详述。

继续阅读

如何为「四川大学综合教务系统」增加「一键评教」功能

生活中总有些事情是绕不开的,比如明远湖上的长桥与概率统计的小测,比如学校的评教系统:

我不知道为什么「教学评估」和江安西园二餐厅的二楼天花板一样是绿色,也许是为了告诉大家要坚强,或者在暗示别的什么,但当我每次面对着三十个待评价的老师/助教,却只有一两个想专门写两句评语时,我都感觉自己坚强不起来。

大一上学期时,有人在群里共享了这个,以及类似的一系列自动评教软件,只需要输入教务处的账号和密码就可以使用:

我用了后感觉还行,但后来假期邱哥说他看到有人统计上课数据信息之类的,统计时的数据来源就是这类软件截留下的信息。这类软件很多,我不知道邱哥指的是哪一款,但这种独立的评教软件,不管是一个 exe 桌面程序,还是一个网页,还是一个微信小程序,本质上都是「代理登录」,也就是说,这个程序拿着我的学号和密码去登陆教务处帮我完成评教工作,至于程序干了什么事,我的账号和密码在教务处之外的服务器上存放着有没有风险,这都不得而知。

于是作为一个程序猿,我决定自己写一个一键评教工具。

继续阅读