其實Excel和Python在近兩年一直在被做對比 ,有的小夥伴現在並不需要學習,但是並不代表以後用不上,技多不壓身,我們可以先分析一下,excel的vba其實是很強大,學的深的話基本可以解決大部分數據處理問題!但是excel仍然有局限性:

1.office正版要錢,python正版不要錢

2.python連接資料庫並執行資料庫查詢比excel vba要方便的多!並且資料庫內表格行數常常會超過excel處理極限。而且處理速度會很快,python代碼是可以重複使用的,下次需要運行相似的分析情景時,只需運行腳本就可以了,同時你也可以把這些內容共享給你的同事們,不用在編寫描述 Excel 中操作步驟手冊,提高我們的工作效率

3.python使用pandas對特殊的文本數據進行定製化的解析。python對複雜邏輯的處理和對正則表達式的支持要強過vba。當然並不是vba不能實現,就是比較麻煩!

簡單來說Python≥excel,excel能做到的Python都能做到,但是excel不能很強大的編程,不能進行豐富邏輯處理,複雜的運算分析

當然具體還是要看你的工作場景需求,以及以後你要發展路線上它們對你的幫助,如果真的用不到那就無所謂了,因為它們只是工具,我們更加需要加強邏輯思維和業務分析能力,找到自己的核心競爭力,工具只是輔助的東西和幫助你表達出來的東西

學習周期的話這個看個人,本身你有基礎,學習起來並不會很難,工具只有多用才會更熟練


首先說結論:不一定

因為你還可以選擇VBA!當然VBA你也不一定需要!

按你說的「一個Exce函數加填充就能搞定的事」,說明你對Excel的需求並不是很高,不是重度用戶,可能就是日常做做表,記錄一些數字。如果你跟我一樣天天跟Excel打交道,天天做一些重複工作,那麼你一定就不會這樣想了,你會想"我都累死了,什麼時候才能幹完啊,有沒有簡單的方法啊"!舉個例子,是我干過的活,如圖

這是一個二維表,需要我展開成一維的,就是橫坐標,縱坐標,然後取對應的值,你當然可以手動去一個個去輸入,可能你眼神好,手速快,半個小時就搞定了,然後檢查一遍發現錯了一個數,再改改就搞定了,但是我現在手上有一百個類似這樣的表,有的還是三維的,還有的需要×係數,有的一個係數,有的兩個三個,遇到這樣的問題你打算怎麼辦?還要去輸入嗎?反正我想想都覺得累,眼睛累,手也累。這時候你肯定會到知乎來問,有沒有什麼簡單的方法把表格展開?那麼,肯定就會有大佬推薦你VBA或者Python!我當然就是用的VBA,做完你猜有多少數據?16萬行!每行最少三個數據。你可以想想手動輸入要多久嗎?按照你一秒鐘輸入一個數據來算算看,你需要16個工作日每天八小時不停歇幹才行!

所以當你覺得沒用或者不需要,只能說明你做的事不夠多,遇到的問題不夠多


如果把數據分析比作建一座高樓,那麼excel就是給你一個個組件,你的工作就是把他們組裝起來,就跟最近的火神山醫院一樣,像是搭積木

雖然這種方法可能很快就能出結果,效率很高,但是因為用的都是設計好的組件,所以你基本上只能循規蹈矩,遇到問題也不能把組件推倒重建,只能換其他的組件或者換個組合方式;

而且還不能用大數據量,因為excel的邏輯關係太弱,就跟搭積木搭高了就會倒塌一樣,處理個萬級數據就有點吃力了;所以excel不能用來建高樓,畢竟沒有一座世界高樓,是搭積木搭起來的。

從數據分析的角度來看,excel的可視化要差一些,數據採集也不能跟python相比,這都不是excel的專業,但是excel在數理統計上的表現還是很不錯的

所以當數據分析量小、想要快速出結果、邏輯關係簡單的情況下,excel很香!

python就是給你一堆原材料,水泥、磚頭、鋼筋等等,你的工作就是自己要從頭搞,一步步把高樓給建造出來

壞處嘛就是要求你什麼都要會,你要會砌牆、會施工、會圖紙,學習起來自然是比excel要難

從效率上講,處理簡單問題肯定要比excel差,但是在複雜問題面前,python的好處才能凸顯出來

而且你擁有了這堆原材料,不僅可以建高樓,還能用來造飛機、造輪船,造火箭,所以人們都說python是萬能語言,除了生孩子什麼都能做

另外一點python是開源的,起碼比matlab要強多了(深深執念)

從數據分析的角度看,python肯定是要優於excel的,數據採集、數據處理和數據分析、可視化方面都比excel要強,當然這只是對於數據分析來說

所以當數據量大、邏輯關係複雜的時候,python是最優解

PS:

當然了,VBA就另說了,其實我覺得VBA跟python的學習難度其實差不了太多,但就是用起來太難用,看個人具體的需求吧,具體的區別這裡就不詳細說了


類似的問題我寫過回答也寫過文章,放在下面,如果有興趣可以去看一下。其實主要還是看你有沒有遇到Excel的瓶頸,然後對於這些瓶頸你是準備用什麼辦法去處理。

  1. 比如說Excel不能處理過大的數據表,但是說白了,pandas也有限制,超出內存的表是不能讀取的。當然了,到了那個時候,還有新的工具。
  2. 比如說Excel不能編程,所以沒法抽象化用戶操作。但是人家有vba呀。我沒有認真學過vba,所以不好多做評論。但是一個語言好不好學,(尤其是vba和python相比,大家畢竟都是應用層面的語言),說到底還是這個語言的用戶數量決定的,vba有幾個包?github上有幾個repo是用vba寫的?你去Stack Overflow上面搜vba能搜出幾個高質量答案?你有問題以後能不能儘快的找到答案?你能不能*免費*的從網上找到高質量的vba學習資料?所以說白了,具體學什麼語言真的不重要,關鍵是要容易學。如果你現在發現vba很容易學容易用,那完全沒有必要去學python
  3. 比如說Excel有太多的黑箱,太多自動化的工具,而且最關鍵的,它是圖形化操作界面。你會覺得這些都是好處呀?為什麼要作為瓶頸呢?確實,這些都是好處,但是圖形界面也是雙刃劍。圖形界面是很難抽象化的,你很難將用戶操作轉化成一個按鈕,一個對話框。所以如果你想自由,你必須放棄圖形界面。這是很矛盾的一個事情,這很可能也只是千禧年以前長大的人的無聊的堅持,但是說回來,到了2020年我也沒覺得這個看法有什麼大錯。

所以說到底,如果你現在覺得Excel足夠解決你現在的問題,你自然沒有必要提前去學。但是很多時候真的是這樣么?你就沒有一些自己想做,但是不知道怎麼用Excel去做的東西?如果別人告訴你,用vba可以這樣這樣這樣這樣解決,那你就可以去學python了

關於學了多久,應該說是一年吧。18年底的時候我做科研成果總結,當時用的是excel,到了去年年底的時候做課程表處理的時候就主要依靠pandas了,但是怎麼說呢,我在18年以前的時候也已經學過一段時間pandas了,而13年的時候我也用js連抄帶編的做了一個雜誌的光碟導航系統,所以學編程這個事情不是一下子就能做好的,但是一直學肯定會越學越好


附上兩個之前的回答:

如何才能成為EXCEL數據處理大神??

www.zhihu.com圖標路人乙小明:[Excel]如果你愛Excel,請學好pandas?

zhuanlan.zhihu.com圖標

我覺得一切要以工作目的為導向,以解決問題為導向。

凡是能儘快協助你高效處理工作任務的,你都要去學習和了解,但是不必精通,除非你想轉行(敲重點)

我學生時代用Python做爬蟲,畫圖,輔助做Excel,覺得逼格很高,工作了以後發現我這行Excel和vba已經能實現逆天操作了,再花時間去精通Python反而本末倒置。如果你覺得Python有確實幫到你的地方,再用Python也可以,但是你多動動手會發現網上有現成的輔助工作的小程序,沒必要親自操刀設計。

你的價值是你的專業能力,行業經驗,溝通協調能力,資源整合能力。你未來幾十年的成長也都是在這些方面。多花時間鑽研「術」並不會為你帶來多大成就(除非你想轉行),讓專業的人去做專業的事,讓每個人都當好社會運轉的螺絲釘,這才是主流。


推薦閱讀:
相关文章