有一種病叫Excel病

Gordon Lau

Gordon Lau

2018-12-14

有一種有相當歷史的軟件,簡單易學,能滿足大多數人對電腦運算能力、資料處理的需要,除了最初設計用途,被濫用在很多不同用途上, 聰明如你,應該知道我想講的就是試算表(Spreadsheet),其中最多人用的當然就是Microsoft Excel

excel.jpg

source:https://icdn7.digitaltrends.com/image/excel-preface-your-zeroes-1500x1001.jpg

乍看之下,Excel與Word及Powerpoint分別不大,都是作為Microsoft Office三大常用軟件,但其實有很大分別: Word最適合的當然是撰寫文件,寫學術論文、鱔稿、或是一封簡單的辭職信,使用Word都是最適合不過的。 Powerpoint則是作簡報才有, 間中亦有一些人用來作其他用途(例如繪圖動畫),但絕大多數人,如果不是要做簡報的話,決不會無故使用powerpoint。

Excel與上兩者不同在於,任何一個不諳編程的普通用家,只要有任何儲存結構式資料(structured data),或者有任何計算需要,第一時 間浮進腦海的必然是Excel。Excel最初設計為試算表,本用作數據分析、數字計算,作簡單圖表而已。但隨著大眾對儲存結構式資料的需求提升,Excel竟 出人意表地多了許多用途: 項目計劃管理、時間表製訂、公司零用錢管理、公司倉儲管理等等,總之任何可以寫成一個表(Table)的資料,大家都自然會 將資料放到Excel裏面去。我遇過最為誇張的情況,是用Excel作為資料庫遷移(Database Migration)的管理,也就是用Excel 做一個資料庫,來為資料庫儲存資料,相當滑稽。

問題來了,Excel不是為了作為資料庫而設計,而大家將Excel用成了資料庫,然後連微軟自家推出的Access也不敵敗走,難道不是証明Excel非 常適合作為資料庫使用嗎?

其實不然,亂用Excel的,往往都架床疊屋,發展出一套外人無法理解的方法處理資料。資料庫儲存資料,是以有系統及方便讀取為前題,胡亂將所有資料都放到 一個Excel檔案中,充其量只是造了一個資料垃圾筒。

有些公司用Excel用上了癮,萬事萬物皆用Excel解決,這種情況,我會稱之為Excel病(Excel Syndrome)

Excel病的特徵,在於相信所有問題都可以用加一個Excel去解決

自測

想知道你工作的地方有Excel病嗎?如果每一次解決問題的方法,都包括了加一個Excel檔案的話,很不幸,你工作的地方已罹患Excel病!

Excel病的影響

1. Excel速度會隨資料量上升顯著減慢。

Excel作為一個試算表,每一次更新都會重新計算格內的數值,隨著數據量上升,每一次更新所須的計算愈來愈多,因此速度亦愈來愈慢。更甚者,有一些Excel檔案動輒數十MB,老舊一點的電腦光是開啟就要花一段時間,遑論再在上面工作。

2. Excel檔案與Excel檔案之間的連接不方便。

Excel檔案的formula可以參考其他Excel file作為數據來源,寫還可以,但在維護方面相當複雜:想像一下,你收到了一個EXCEL檔案,但發送者忘了給你參考Excel,你有方法可以重建該參考Excel嗎?顯然不能。

3. Excel不方便多人協作。

Google Sheet算是解決了這一問題,但舊版本Excel未有多人協作功能,因此同一時間只能一人更改。對工作效率有很大影響。

4. Excel的版本控制很麻煩。

大家應該遇過一個情況,就是當一些複雜Excel出現問題時,往往所有人都只能依靠一兩個技術較好的同事去解決問題,因為Excel的版本控制很陽春,改錯了也不容易返回上一個正確版本。然後又由來不能多人協作,本來無技術根底的人很難改好,久而久之,就不改了。

5 Excel無法表達複雜的數據及計算。

Excel最容易處理的就是數字及字串。但兩者以外的檔案,Excel都不在行,例如你可以想像用Excel處理上載的相片嗎?

6. 大部份臨時Excel檔案長遠而言都會變成一個資料垃圾筒。

由於Excel自由度很大,開啟一頁新的Sheet很簡單,開啟一個新的column也不難。資料上的需要,驅使大家在那個可憐的Excel檔案上加更多的Sheet,儲更多的資料,最終整個Excel檔案就變成了一個垃圾筒,儲了各式各樣不相干的數據。也不是說使用Excel就不能有效儲存數據,但據我所見,大多數沒有淪為資料垃圾筒的Excel檔案,都是有編程能力的人幫忙管理的。

以上問題,尤以第六個最嚴重,算是進入了死胡同了。

治療Excel病

治療Excel病是一個長期的過程,Excel的方便往往令大家抵受不住誘惑,又重新將資料放進Excel中。要徹底根治Excel病,在於接受Excel是一個試算表,最適合依然是數據分析、數字計算,作簡單圖表。

1. 要做項目計劃管理,請用Jira、Trello、或Monday等專用項目管理軟件

2. 要做時間表製訂,請用Google Calendar等月曆軟件。

3. 要做公司零用錢管理及倉儲管理,請用專業會計軟件如Xero或Zoho等。

4. 要做數據庫遷移,要寫代碼及用Git管理啊。

祝大家早日康復!

Comments

Read More

兩種檔案大不同

軟件工程及軟件工藝

平常人都能掌握的Programming 原則