[外包接案使用調查]
公告 如何發案 如何接案 幫助中心軟體程式設計
【需求】 三家門市各自匯出銷售明細,格式全都不一樣。每個月要有人手動貼在一起、對一遍、再做成月報。 【核心主張:合併 Excel 最危險的不是合不起來】 合不起來會噴錯,你馬上就知道。真正危險的是合起來了,但數字是錯的——少併了一家、或重複算了幾筆,報表照樣產出、格式照樣漂亮,你可能一整季都不會發現。 所以這支程式的重點不在合併,在於它會證明自己沒算錯:每個來源檔的「原始筆數/原始金額」與「併入後筆數/金額」都攤在對帳頁上,差額必須完全等於被移除的重複列。對不起來就不算成功,而且結果直接寫在總覽頁第一眼看得到的地方。 【第一件事:三家的日期是三種不同的東西】 一家是真正的日期型別、一家存成文字、一家是 Excel 序列數字。三種都要轉得動,而轉不動的不能猜——直接列進異常清單,附上原始值,讓人自己看。 【第二件事:我寫的去重刪掉了 80 列,而我只放了 5 列重複】 第一版用最直覺的做法:整列一模一樣就當重複刪掉。結果它刪了 80 列。 原因很簡單——同一天賣出兩杯一樣的拿鐵,在沒有交易編號的明細裡長得完全一樣,那是兩筆真實營收,不是重複。刪錯的後果是營收變少、報表照樣漂亮,沒有人會發現。 改成只認「連續三列以上完全相同」——那才是系統重跑一次匯出的特徵。落單的重複則只標記、不刪除,並在異常清單寫明「沒有交易編號無法區分,請自行確認」。 抓到這件事的不是我看程式碼,是自我檢查裡那條「應該剛好抓到 5 筆」。如果我只驗「程式有沒有跑完」,這個錯會一路跟到客戶那裡。 【第三件事:不認得的欄位不可以當作沒看到】 其中一家多了一欄「備註」。欄位對映做成白名單,對映不到的欄位會列進異常清單告訴你「這欄沒有併進報表」,而不是靜靜丟掉。你可能覺得它不重要,但那要你決定,不是程式替你決定。 【交付長什麼樣】 一個 Excel 檔五個分頁:月報總覽(KPI、營收圖表、對帳狀態)、明細(凍結窗格、篩選、退貨紅字)、品項排行、異常清單(每筆寫明類型與原因)、對帳。 實測:3 個來源共 571 列,併入 566 列,異常清單 7 筆,對帳全部通過。自我檢查 19 項全通過,其中 8 項是反向對照組。 【可交付】 合併程式、欄位對映設定、異常規則、月報範本、排程設定、原始碼與說明文件。新增門市或改欄位名只要改對映表,不用改程式。
熊熊