當班上段考成績遇上試算表巨集,還能即時更新排名

段考結束後,大家總要面臨段考成績的折磨(嗚嗚嗚),我們班總是會在段考完就瘋狂跟老師要成績,但只有貼進群組,沒有人統整、規劃這些成績,成績可能還真的只是那一次段考,沒有太大作用吧。 因此我們班有了線上成績表(每次段考進化中),會不定期推出各種分析功能,最近想挑戰更刺激的:「在 A裝置 key 入成績時,投影在黑板上的 B裝置 呈現著成績試算表並即時更新某科的排名」,讓大家考完試也無法逃出成績的魔掌。 只要執行寫好的巨集,我們在輸入成績時就能達到「即時排名成績的效果了」 我覺得滿好解決的,我們的成績表使用 Google Sheets 建置,所以巨集主要 Base on Javascript。 先大概講解一下實作的流程,需要大概掌握「巨集」、「Javascript 迴圈」這兩個概念。 巨集 會計類可能會比較容易用到(?)在 Excel 常常會需要自動化跑一些步驟,而巨集專門幫人類省去這些重複性動作,只需要先指定好巨集該做哪些事情,只要一鍵點下去就會自動做好這些以前需要手動做的事了。 而巨集通常可以執行先前錄製片段(錄製步驟,例如我在A3換成紅色,再將B6刪除),也可以在錄製完步驟後編輯程式碼(例如我加上迴圈功能,或讓巨集執行完後跳出提示訊息提醒自己)。 迴圈 Base on Javascript 因為巨集只會執行一次,但我們要的是「持續即時更新」,因此我們需要讓巨集啟動後,不斷重複執行。而 Google Sheets 的程式碼仰賴 Google Script 平台編譯執行,基於 Google Script 主要以執行 Javascript語言 為主,因此我們會需要認識 Javascript 的這幾個函數: function(巨集) variables(變數,用於計次) for(loop迴圈) 開始囉 好的,大概掌握素材後,我們這次的主題為「即時更新排名」(白話:重複設定篩選儲存列 Z to A,也就是數字最大排到最小)。前面有提到「巨集」幫我們節省掉原本我們要重複執行的步驟,也認識了一下 Javascript 程式語法,那麼我們今天的行程大概是「錄製排序成績的巨集」->「設定休息緩衝時間,避免持續無間斷瘋狂執行(選用)」->「測試完成」。 準備一份班級成績單 就來到我們的試算表啦~首先,我們需要一個已經設定好篩選範圍的班級成績單(Google Sheets 的喔,不是 Excel),裡面可以先填好一些成績,這裡以「生物」欄示範。 先用 Google Sheets 製作一個簡易的成績單。 錄製排序成績的巨集 接著依序點選上方選單的「工具」->「巨集」->「錄製巨集」,即可開始錄製接下來的操作步驟。 ...

油成 · 2021 年 04 月 04 日 發布