有一種病叫Excel病
2018-12-14
有一種有相當歷史的軟件,簡單易學,能滿足大多數人對電腦運算能力、資料處理的需要,除了最初設計用途,被濫用在很多不同用途上, 聰明如你,應該知道我想講的就是試算表(Spreadsheet),其中最多人用的當然就是Microsoft Excel。
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
兩種檔案大不同
2018-12-14
當你想寫好一個文件,用 .doc 檔 及 .txt檔 有何分別? 驟看之下,最大分別就是 .doc檔 要用Microsoft Word開, .txt檔 只要一個簡單Notepad就可以。實情是 .doc檔 跟 .txt檔 分別代表兩種截然不同的檔案,如果你用一個純文字編輯 器打開他們,分別就顯而易見了。
軟件工程及軟件工藝
2018-12-24
軟件工程是一個相當耳熟能詳的名詞,軟件工程(Software Engineering)由來已久,亦因此程式設計師(Programmer)又稱為軟件工程 師(Software Engineer)。
平常人都能掌握的Programming 原則
2019-01-29
大家會定時整理自己電腦中的文件嗎?大家看軟件工程師工作時,往往會發現他們的檔案總是井井有條,資料有條不紊地排列。難道學習軟件工程能使人變得 整齊?原因其實在於軟件工程師經常需要處理大量檔案及資料,因此發展出一套完整的工程原則(Engineering Practice),久而久之,就掌握了資料管理 的要訣。而如果平常人也掌握了這些工程原則,在日常電腦使用,其實也有不少好處。