iT邦幫忙

2026 iThome 鐵人賽

DAY 8
0

盤點跟報表的差別

昨天講怎麼篩課。今天講一件更嚴肅的事:那個數字最後是要交出去的。

自己看的盤點和要報出去的數字,標準完全不同。自己看的只要方向對;要報出去的,必須經得起一句追問:

「這個數字怎麼來的?」

答不出來,整份資料就沒有價值——不管它多接近真實。

我以為我發現了一個問題

寫這篇之前,我把課程盤點的檔案重新數了一次。

同一批全校課程資料,我手邊有兩個檔案。用程式一數,數字對不起來:

檔案 數出來的筆數
全校課程.csv 404
全校課程(已自動修復).xlsx 416

差了 12 筆。

那個「已自動修復」不是我取的名字,是 Excel 自己加的——檔案曾經損壞過,修復之後另存成新檔。所以我當時的推論很自然:修復的過程多生出了 12 筆東西,可能是空白列,也可能是重複列。

我把這個「發現」寫進了草稿,還寫了一整段講分母有多重要。

然後我回頭去查那 12 筆到底是什麼

因為答不出「是哪 12 筆」,這個結論就站不住。所以我把兩個檔案逐列比對。

結果是:那 12 筆不存在。整件事從頭到尾是我數錯。

錯在哪?我用的方法是問程式「這張表有幾列」。而程式回答的是表格範圍——Excel 記錄的「這張工作表用到第幾列」——不是「有幾列真的有資料」。

那張工作表的範圍到第 417 列,但實際有資料的只有 23 列,剩下 393 列是空的。曾經有資料、後來被刪掉,範圍卻留著。

而且我還漏了更大的一件事:那個檔案裡有四個工作表,我只數了第一個。

工作表 表格範圍 實際有資料
全校課程 417 23
第一波篩選 212 208
工作表2 159 145
碩士班 22 18

所以它根本不是「同一批資料的另一個版本」,是一個做到一半的工作檔——裡面有篩選過程、有碩士班的另外一份。拿它跟原始的 csv 比對母體,這件事本身就問錯了。

真正的母體就是 csv 的 404 筆,沒有爭議。 爭議是我自己製造的。

這個烏龍才是這篇真正的重點

我原本要講的是「分母錯了,整個比例都是錯的」。這個道理沒有變,但現在有了一個更好的例子——而且例子是我自己。

如果我沒有回頭查那 12 筆,會發生什麼事?

我會留下一份文件,上面寫著「母體有兩個版本,404 和 416,尚待釐清」。這句話看起來很嚴謹、很誠實,實際上是把一個不存在的問題記錄成待辦事項,然後它會一直待在那裡,每次有人問到都要重新解釋一次。

比「算錯數字」更麻煩的,是「記錄了一個假的疑點」。

前者會被發現,因為數字可以再算一次。後者不會,因為它看起來就是一個還沒解決的問題——而沒解決的問題,本來就長那個樣子。

另一個問題:有個檔案我打不開

同一個資料夾裡還有一個檔案,是六月做的關鍵字盤點,1.3 MB,副檔名是 .xlsx。

我打不開它。 程式讀取時直接報錯,說它不是有效的檔案格式(BadZipFile,意思是「這不是一個壓縮檔」——現在的 .xlsx 本質上就是一個壓縮檔)。

我原本寫的是「這個檔案大概損壞了」。發稿前再查一次,這句話也是錯的。

我去看檔案開頭的那幾個位元組——每種檔案格式的開頭都有固定的識別碼,像是簽名。它的簽名是 D0CF11E0,那是微軟舊版 Office 的容器格式,不是壓縮檔。所以程式報錯是對的:它看到的確實不是 zip。

再往裡面看,容器裡有三個叫做 EncryptedPackage、DataSpaces、StrongEncryption 的東西,卻找不到任何試算表的內容。這個檔案沒有壞,它是加密的——有人給它設了開啟密碼,Excel 就會把真正的內容包成這種殼。

所以正確的說法是:這份六月的盤點檔是加密的,要密碼才打得開。

這兩件事的處理方式完全不同。如果是損壞,要找備份、或者整份重做;如果是加密,檔案是完整的,要處理的是另一回事。我用「大概是壞了」把自己帶往錯的那一邊,而且如果不是為了寫這篇再查一次,我就會這樣寫出去。

至於原本想講的那個教訓,仍然成立,只是換了內容:那份是六月做的,中間過了三個月,我一直到要用它的時候才知道自己進不去。而那通常是最趕的時候。

所以我現在會做的事

這幾件事都是被上面這些狀況逼出來的:

一、母體先確認,而且只認一個。
開始篩之前,先確定「全部」是多少、來源是哪裡、匯出日期是什麼時候。有兩個版本就先搞清楚差在哪,不要同時用。

二、判準跟結果放在一起。
檔名叫「AI相關課程表」,三個月後沒人知道那是哪一種相關。判準要寫在檔案裡。

三、留下處理過程。
不是為了給別人看,是為了自己能重跑一次。如果有人質疑數字,我要能當場重現。

四、定期打開來確認檔案還在、還讀得開。
這聽起來很蠢,但我就是因此才發現有一份盤點檔我根本打不開。

AI 幫得上什麼

在這一段,AI 的角色其實很有限,但很具體:

它可以幫我做「核對」這件苦工。 就像上面那件事——把兩個檔案逐列比對、把每張工作表實際有幾列數清楚,這種工作量大又單調,但結果我打開檔案就能驗。這次戳破那個假疑點,靠的就是這種比對。

它不能替我決定用哪個分母。 那要判斷哪個來源比較可信,而那取決於我知道這批資料是誰匯出的、什麼時候、用什麼條件。

再一次是同一個結論:它做事,我負責這件事對不對。

明天

Day 9:換一個主題。一份上級來文的 PDF,怎麼變成校網上的一則公告。


上一篇
Day 7:四百多門課,篩出 11 門還是 30 門?
下一篇
Day 9:一份來文 PDF,要變成什麼
系列文
用 Google AI 簡化行政工作流程:一個學校行政人員的 30 天實作紀錄 共 19 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言