課堂工具 × Google Apps Script

單打循環賽計分網頁教學

比分只填一次,戰況即時掌握。
建立自己的副本,讓課堂比賽更好記錄。

3~15 隊 / 勝率自動統計 / A4 橫向列印

奕鈞老師人物拿著筆電,介紹單打循環賽計分系統:比分自動鏡射、即時勝率排行、Google 試算表存檔,支援 3 至 15 隊並提供 GAS 副本。

01 / 先試一個小操作

比分填一次,
另一側就對上。

循環賽表格中,同一場比賽會出現在兩個位置。輸入 A 隊對 B 隊的局數,反向位置就會自動帶入對應比分。

這是本頁的操作示範,資料只在畫面中變更,不會寫入任何試算表。

循環賽比分表以 4 隊為例
四隊循環賽的比分鏡射示範
隊伍A 隊B 隊C 隊D 隊
A 隊—3:1··
B 隊1:3—··
C 隊··—·
D 隊···—
A 對 B 3:1B 對 A 1:3

原版的小技巧
在比分格輸入「3」、按空白鍵、再輸入「1」,就會成為「3:1」。

02 / 從計分到整理

一場比賽需要的紀錄,
放在同一個畫面。

老師掌握進度,學生專心比賽;紀錄員少抄一次,也少一次核對的負擔。

01

參賽名單彈性調整

支援 3~15 隊,可填選手名稱、班級、組別與紀錄員。選手人數改變,表格也會跟著調整。

02

勝敗與戰況即時呈現

輸入比分後,更新勝場、敗場、勝率與得失局比,搭配排行榜、直條圖及已賽/未賽場數。

03

比賽分次進行也能接續

GAS 版按下儲存後,將賽事寫入自己的 Google 試算表;下次開啟網頁,再讀取存檔。

04

JSON 匯出與匯入

把賽事另存為 JSON 檔,作為備份或移轉資料。單機版的存檔則保存在目前瀏覽器。

05

對戰表與排行榜一起列印

A4 橫向雙頁配置:第一頁是對戰表,第二頁是戰況統計與圖表,方便紙本登錄與留存。

06

依使用方式選擇表格樣式

可切換對角線的標語、淺灰、斜線與黑底樣式,投影展示或紙本列印都能選擇合適的呈現。

03 / 把工具帶進課堂

不同情境,
同一份清楚的紀錄。

桌球・羽球

讓學生輪流當紀錄員,練習登錄與核對。

以 4 人小組的單循環賽為例,每人與其他 3 人各比一場,共 6 場。每組指定一位紀錄員,賽後雙方一起核對比分。

  1. 課前

    設定隊數與選手代號,確認採用幾局制。

  2. 課中

    逐場登錄賽果,從已賽場數確認進度。

  3. 課後

    儲存賽事,或列印紀錄供下一節課接續。

04 / 製作方式

從一張紀錄表,
做成可以操作的網頁。

把畫面、資料傳遞與存檔分開處理,就是這份工具的製作思路。

畫面與運算

HTML / CSS / JavaScript

建立比分表與名單欄位;輸入比分後鏡射對手結果,並在瀏覽器更新統計與圖表。

index.html
串接與服務

Google Apps Script

提供網頁入口,接收前端的儲存、讀取與刪除要求,再處理試算表中的賽事資料。

Code.gs
資料保存

Google 試算表

在「賽事存檔清單」工作表保存賽事名稱、班級、隊數及完整資料,作為後續讀取的來源。

賽事存檔清單

單機模式則使用瀏覽器的 LocalStorage 儲存,不會寫入 Google 試算表。

05 / 跟著做

建立自己的副本,
部署自己的計分網址。

副本會一起複製試算表與綁定的 GAS 程式。請用自己的 Google 帳號操作。

  1. 1

    複製試算表與 GAS 程式

    開啟副本連結,登入 Google 帳號後按「建立副本」。頁面會提示一併複製附加的 Apps Script 檔案與相關功能。

    建立我的副本 ↗

    完成後,可將試算表重新命名,例如「八年一班桌球循環賽」。

  2. 2

    從副本開啟 Apps Script

    留在剛複製的試算表,依序點選:

    開啟後應看到 Code.gs 與 index.html,分別是後端程式與網頁畫面。請確認使用的是自己的副本。

  3. 3

    新增「網頁應用程式」部署

    在程式編輯器右上角,選擇「部署 → 新增部署作業」,部署類型選「網頁應用程式」。

    執行身分
    選擇「我」,由你的帳號執行試算表讀寫。
    誰可以存取
    依使用範圍選擇。若需要免登入開啟,可在帳號允許的情況下選「任何人」。
    授權與網址
    依 Google 提示檢視並完成授權;部署完成後,複製結尾為 /exec 的網頁網址。

    學校 Workspace 帳號可能受管理設定限制,可選的存取對象以實際畫面為準。

  4. 4

    正式上課前,做一次存取測試

    用新的網頁網址開啟系統,先用測試代號跑一遍,確認資料確實存到自己的試算表。

    部署後測試清單

    已檢查 0 / 4 項

06 / 使用前先知道

常見問題

建立副本後,就有自己的計分網址嗎?

還沒有。副本包含試算表與綁定的程式,仍需在自己的 Apps Script 專案新增「網頁應用程式」部署,才會產生自己的網址。之後修改程式,也需要更新部署,讓正式網址使用新版本。

雲端存檔等於多人即時同步嗎?

不是。比分輸入後會先更新當前畫面,按下儲存才會寫入試算表。其他裝置需要讀取存檔;目前沒有多人即時同步或衝突合併功能。

排名如何計算?正式比賽可以直接採用嗎?

依勝率由高至低排列;勝率相同時先比較勝場數,再比較局數比(得局 ÷ 失局)。各賽事的同分處理可能不同,正式使用前請核對自己的比賽規章。

勝率=勝場數 ÷ 出賽數。請在一場比賽結束後再填入完整局數,避免將未結束的比分當成賽果。

本機存檔會跟著 Google 帳號走嗎?

不會。單機版的 LocalStorage 屬於目前裝置與瀏覽器,清除瀏覽器資料可能使存檔消失。換裝置或保留備份時,請先匯出 JSON,再用匯入功能還原。

原版網頁有使用外部樣式資源;要在無網路環境使用,請先於實際裝置測試畫面與操作。

儲存時顯示「找不到綁定的 Google 試算表」,怎麼辦?

先確認是在自己的試算表副本中,透過「擴充功能 → Apps Script」開啟程式,並使用這個專案產生的部署網址。這份程式依賴綁定試算表,單獨複製程式碼到獨立專案,不能直接沿用相同的讀寫方式。

如果正確建立副本後仍出現錯誤,需進一步檢查執行環境與試算表連線設定,完成存取測試後再提供課堂使用。

學校帳號沒有「任何人」選項,怎麼辦?

可用的部署與共用範圍,受帳號種類及學校管理政策影響。請選擇目前允許的對象,並以學生或紀錄員的帳號測試存取;若需要更廣的範圍,再向學校管理員確認。

準備下一場課堂循環賽

讓紀錄清楚,
比賽就更好進行。

建立自己的試算表與 GAS 副本,完成部署與測試,再帶進課堂。

建立我的 GAS 副本 ↗