工廠、大樓或園區的設施管理,常需要定期抄錄水表、電表、瓦斯表等設備的讀數,並計算每天的用量。這類讀數多半是累計數字,每日用量要用「本日讀數」減去「前一日讀數」,如果用紙本或 Excel 逐筆計算,不僅耗時,也容易抄錯或漏算。
這篇文章以水表為例,示範如何在 Ragic 中,讓現場人員掃描設備上的 QR Code,直接開啟這台設備的輸入畫面,只需要填寫當天的讀數,系統就會自動帶出前一日讀數並算出每日用量。內容分為三個部分:
・建立每日抄表紀錄,自動計算每日用量
・產生 QR Code,掃碼開啟輸入畫面
・使用說明

要自動算出每日用量,系統必須取得「前一天的讀數」。不過子表格中的公式只能讀取同一列的資料,無法直接取得上一列的數字,所以不能只靠子表格完成。
做法是先把每天的抄表資料轉成獨立的一筆資料,再讓系統自動找出「同一支水表、前一天」的那一筆,把它的讀數帶過來相減。
在「水表紀錄」(每一支水表一筆資料)建立一個獨特值欄位作為「水表編號」,並新增一個子表格,用來逐日紀錄水表讀數。
在子表格中建立一個「子表格獨特值」欄位,使用字串公式把「水表編號」與「抄表日期」組合成專屬識別碼,例如 WM-001-20260720,代表 WM-001 這支水表在 2026/07/20 的紀錄。公式範例如下(A1 為「水表編號」、D5 為「抄表日期」,請依實際的欄位調整):
A1+"-"+YEAR(D5)+RIGHT("0"+MONTH(D5),2)+RIGHT("0"+DAY(D5),2)
之後要找「前一天的資料」,就是靠比對這個「子表格獨特值」。

在設計模式的表單工具中,使用用子表格產生新表單,把抄表子表格轉成一張獨立的「水表抄表紀錄」。這樣每天的紀錄都會是各自獨立的一筆資料,系統才能互相比對。
「水表抄表紀錄」與「水表紀錄」中的抄表子表格是同一份資料,在「水表抄表紀錄」新增的資料,也會出現在對應水表的子表格中。日常輸入建議以第二部分掃碼開啟的「水表抄表紀錄」為主,子表格則適合用來檢視單一水表的歷史讀數。
接著從原始表單欄位,把「水表紀錄」的「水表編號」新增到這張表單,後續組合「子表格獨特值」時會用到。
再建立一個公式欄位「前一日日期」,公式為該筆資料的「抄表日期」減 1 天。

先建立一個連結欄位,設定連結與載入連到「水表抄表紀錄」自己。將左側的「前一日子表格獨特值」設為連結欄位,對應右側的「子表格獨特值」(藍色線);再將左側的「前一日水表數值」設為載入欄位,對應右側的「本日水表數值」(黑色線)。

接著在這個連結欄位(「前一日子表格獨特值」)套用公式,用「水表編號」與「前一日日期」組合出「前一天那筆資料的子表格獨特值」。組合時請使用 YEAR()、MONTH()、DAY() 等日期公式搭配字串公式,並確保格式與步驟 1 的「子表格獨特值」完全一致(包括月、日是否補零),才能比對到正確的資料。公式範例如下(A9 為「水表編號」、D1 為「前一日日期」,請依實際的欄位調整):
A9+"-"+YEAR(D1)+RIGHT("0"+MONTH(D1),2)+RIGHT("0"+DAY(D1),2)

如此一來,輸入「抄表日期」後,系統就會自動算出「前一日日期」,並連結到前一天的那一筆資料,再把該筆資料的「本日水表數值」帶進來,作為「前一日水表數值」。

最後建立一個公式欄位「本日用量」,公式為「本日水表數值」減去「前一日水表數值」。公式範例如下(A3 為「本日水表數值」、A14 為「前一日水表數值」,請依實際的欄位調整):A3-A14

備註:
1. 這一套設定同時用到多個功能,建議先在測試表單上用兩三天的假資料實際跑一輪,確認「前一日水表數值」與「本日用量」都有正確帶出後,再套用到正式表單。
2. 如果之後調整過公式或欄位,請記得重新計算公式,已建立的資料才會套用新的結果。
有了「水表抄表紀錄」之後,就可以為每支水表產生專屬的 QR Code。現場人員掃描後,會直接開啟這張表單的新增資料畫面,並自動帶入這支水表的編號與相關資訊,只需要輸入今天的讀數,本日用量就會由第一部分設定的公式自動算出。
如果條碼的內容是網址,掃描後就等同於在瀏覽器中開啟該網址,還可以透過網址參數,在開啟的畫面帶入特定欄位的值。
在「水表紀錄」上建立一個自由輸入欄位,用字串公式組合出「水表抄表紀錄」新增資料的網址,並在網址後面帶上這支水表的編號,網址寫法請參考這篇文件。公式範例如下(A1 為「水表編號」):
"https://ap11.ragic.com/example/forms12/2/?webview&webaction=form&ver=new&pfv1006213="+A1
設計概念是:網址前半段指定要開啟「水表抄表紀錄」的新增畫面,最後的 pfv 參數則預先填入「水表編號」欄位(欄位 ID:1006213),其值為這支水表自己的編號。這樣每支水表的 QR Code 網址都不一樣,掃描後打開的畫面就會自動帶入對應的水表。

組好網址後,把這個欄位設定為以條碼顯示,就會自動變成 QR Code。

使用標籤產生器,把 QR Code 欄位排版成標籤樣式印出,貼在對應的水表設備上。現場人員之後只要用手機相機或 Ragic App 掃描,就會直接開啟「水表抄表紀錄」的新增畫面,水表編號也會自動帶入。

「水表編號」是從原始表單欄位新增的連結欄位,可以在連結與載入設定中,再加入要一併帶出的載入欄位,例如「水表名稱」、「廠區編號」、「位置」,邏輯與第一部分的連結與載入相同。掃碼帶入「水表編號」後,這些資料就會自動出現。
「抄表日期」則可以在欄位的預設值設定中選擇「建立日期 $DATE」,這樣開啟新增畫面時,日期就會自動帶入當天,不需要另外選擇。如果需要補登過去的日期,也可以自行修改。
在「子表格獨特值」欄位的附加欄位設定中勾選不可重複。儲存時 Ragic 會自動比對,如果同一支水表、同一天已經有紀錄,就會擋下並提示無法儲存。
整體設定完成後,建議先挑一支水表完整測試一輪:掃碼開啟、輸入讀數、儲存,並確認「前一日水表數值」與「本日用量」都正確。如果有套用上面的進階設定,也一併確認資料是否自動帶出、重複輸入是否會被攔截,再大量印製標籤給現場人員使用。
現場人員只要用手機相機或 Ragic App 掃描水表上的 QR Code,就會開啟「水表抄表紀錄」的新增畫面。這張表單和「水表紀錄」的抄表子表格是同一份資料,儲存後也能在該水表的子表格中查看歷史讀數。
開啟畫面後,「水表編號」與「抄表日期」(預設為當天)會自動帶入,系統也會一併帶出「前一日日期」與「前一日水表數值」。使用者只需要填寫「抄表人」與「本日水表數值」,再按儲存即可。

如果是週一或連假後才抄表,請先將「抄表日期」改為未抄表的日期,逐日補上紀錄,「前一日水表數值」才能正確串接。未抄表日期的讀數要如何填寫(例如沿用前一筆已知讀數,讓用量集中反映在恢復抄表的那一天),需由管理者依實際情況決定,這和使用紙本紀錄時會遇到的狀況相同,並非系統能代為判斷的部分。
同樣的做法也可以用在電表、瓦斯表或其他設備的定期讀數,只要把「水表編號」換成對應的「設備編號」即可。