Excel

要你命1000:數據管理

////////////////////////////////////////////////

表格是什么?表格就是數據容器,對于非IT人士來說,這輩子可能都不會用數據庫,但是!Excel讓每個人都可以管理數據庫了!其提供的基本功能足以完成大部分數據管理統計工作。

(進度條效果:http://jingyan.baidu.com/album/09ea3ede275d8ac0aede39bb.html

打個比方,同事拿到全國資料開始挨個數每個省有多少個客戶數了半個小時,而你只是點了兩下鼠標就完成了工作。沒錯,在同事眼里你就是那個百年難得一見的練武奇才(以后就可以承擔更多工作了,可喜可賀)!


////////////////////////////////////////////////

要你命2000:數據處理(函數)

////////////////////////////////////////////////

別人向你扔屎,你可以躲。客戶扔給你屎,你只能接住!比如這種屎:

這種亂七八糟表格是沒有任何數據意義的,如果只有三坨,動手處理一下就好了,如果有100坨,怎么辦?不要緊張,我們只需要處理一行,其余99行交給excel即可。。。

首先,數據-分列:


然后,直接查找替換,將沒用的天字去掉:


最后這個毛比較難以處理,動用函數:先找出具體數字,如果里面有“毛”字,直接將結果乘以0.1,一個規范的表格就誕生了:


(如無特殊需要,最后帶漢字的D列可以用E列覆蓋掉)

======================================================================

Excel也可以為自己所用,再來舉一個例子:

時間管理。與一般時間管理App不同,因為我們可以自己設計研發,做出最適合自己的版本!Go

首先寫兩行


拖動一下右下角的小圓點


同理增加橫軸


填寫數據,編寫公式。這樣計算當天任務量:

=COUNTA(B2:P2)

這樣計算完成量

=SUM(B3:P3)

這樣計算完成度

=Q3/Q2

最后完成度那里設置單元格格式-數字-百分比。最后填寫數據。最終效果圖(點擊看大圖):


只要三個函數,每天的工作生活一覽無遺!

P.s 還可以拓展一些功能,比如當天完成度到達xx就有獎勵/懲罰之類

總結:掌握了函數,只要是和數據相關的工作,就可以考慮用Excel來處理。

////////////////////////////////////////////////

要你命3000控制一切

////////////////////////////////////////////////

著名籃球員赤木剛憲曾經說過,掌握代碼就等于掌握了整個Excel,此言非虛。Excel自帶編程功能,只有想不到,沒有做不到!接下來就用解決吃飯問題做一個簡單例子展示一下:

對于有選擇困難癥的人,讓上天來決定吃啥是最好了,我們先填一點數據,如圖:


然后選擇開發工具-VisualBasic(為了做例子專門下了一個office365,我也是拼了= =),然后什么都不管,直接粘貼代碼:

DimaAsInteger'定義公共變量Sub隨機()DimxAsIntegerDimyAsIntegera=0Randomize'初始化reselect:x=Rnd()*(3-1)+1'生成2至7的隨機數,代表列數y=Rnd()*(4-1)+1'生成2至6的隨機數,代表行數Range("a1:d3").Interior.ColorIndex=xlNone'去掉填充色Cells(x,y).Interior.ColorIndex=3'填充為紅色a=a+1Ifa=300ThenExitSubGoToreselectEndSub

然后保存回到excel,選擇開發工具-插入-表單-按鈕,畫一個按鈕在excel上,命名為“吃啥好”


在按鈕上點右鍵,指定宏,選擇我們剛才做的函數,然后點確定:


至此,一個聽天由命的菜單就出現了。。。點一下看看什么效果:

http://ww4.sinaimg.cn/mw1024/59fc3998gw1eofwet4475g20d703zglo.gif

========================================================

貼一點別人的作品,看看Excel的強大之處:

Excel制作的半即時戰斗模擬(原文地址Excel潛能系列——Excel游戲(2v2戰斗~5v5戰斗模擬器)【更新V1.5】 Einsphoton_Einsphoton_新浪博客


Excel制作的超級瑪麗(日本人很閑啊= =)

超牛的EXCEL版《超級瑪麗》總結:掌握了代碼,理論上可以用它來做任何小型項目!

================================

要你命4000:一些奇奇怪怪的事情

================================

用來畫像素畫(只要把格子調到寬高一致即可),矢量畫亦可


用來做動畫:

[Excel]Bad Apple!!

推薦書籍:

你早該這么玩Excel(數據管理、工作用)

Excel 2013高級VBA編程寶典(裝逼、開發用)

另外光有技巧是不夠的,表格美化也很重要。(做人也一樣,牛逼不夠,還得帥。。。)

雨聲的軟件小科普系列:

有哪些看上去很高大上,但實際很簡單的 Ps 技巧?

編輯于 2016-09-24

8.3K285 條評論

分享

收藏感謝

收起

何明科

用戶標識

創業互聯網投資等 5 個話題的優秀回答者

3978 人贊同了該回答

(在做投行、行研、咨詢等金融崗位,有沒有什么好用的找數據技巧呢? - 何明科的回答中重點講了如何利用爬蟲來收集數據和做出炫酷的表格,這篇主要講講如果用程序來替代人工,一個頂倆:雖然不如AlphaGo,但也是機器替代人類的一個小側面)

(在專欄文章中粉絲回饋:程序讓你更性感 - 數據冰山 - 知乎專欄,提供學習VBA的實戰技巧。)

許多高級程序員瞧不上VBA。因為程序員是有鄙視鏈的:匯編 >C >C++ >Python >Java及C#及PHP(這三者相互撕) >VB >HTML。在這長長的鄙視鏈中,甚至都沒有VBA的位置。

可是,Excel+VBA是圖靈完備的(謝謝@Octolet的精辟總結),所以被程序員用來耍酷的各類性感語言能實現的大部分功能,Excel+VBA都能實現,而且往往是以更高效更快捷的方式,在這里不談效率和優雅。而且考慮到大部分普通群眾是沒有編程環境的(各種依賴各種包,各種OS各種編譯環境,還有IDE),然而使用VBA,只需要打開裝機自帶的Office,然后按下Alt+F11就自動進入編程和執行環境;甚至可以更簡單的通過錄制宏來解決寫程序的問題,只需要在簡單的代碼基礎上修修補補就可以執行。再考慮到VBA和Office各軟件的完美整合,所以在便捷性方面,VBA是無可比擬的。最后,Office+VBA的分享性和移植性很強,任何測試通過的程序放到別的機器上也可輕易執行;而其他程序,哪怕是一段最簡單的“Hello World”,也不一定。

因此本文討論各種通過Excel+VBA能實現的各種炫酷功能(也會拓展到Office+VBA),主要是為Professional Service以及各行各業不寫程序但是又嚴重依賴于Office的職場人士服務的。

曾經有一個朋友和我說,“Excel根本不需要編程,像我這樣的Excel大牛靠函數和自定義函數能解決所有的問題。”對于這樣的評論,我想起自己小學時的一段經歷。因為不能理解虛數i(i^2 = -1)的價值,問我爸i有卵用?我爸說,“等你長大了,遇到更多的問題,就知道i的價值。”

1、自動打印

剛進職場的新人,只要爸爸不是李剛,基本都做過影帝影后(影=印,各種復印打印的體力勞動)。特別是咨詢投行服務行業,在某次給客戶的大匯報或者大忽悠會議之前,花數小時或者整晚來打印數個文件,并不是天方夜譚。而且這件事情是對著同樣一堆不斷修改的文件,會經常不斷重復發生。

我加入BCG的第一個項目,就是幫助某大型企業從上到下設計KPI體系并實施。從上到下涉及到幾十個部門,大概有100多張的KPI表格需要完成,這些KPI表格分布在各個Excel文件里。我們4個咨詢顧問的任務:

設定好KPI的基本格式,然后每個顧問負責幾個部門,在Excel里不斷修改KPI表格,打印出來后去各個當事人及其領導那里討論并修改

每周把所有的Excel文件中的KPI表格歸集在一起,按順序分部門打印出來,并需要多份,找負責該項目的HR頭兒匯報進度和情況

這里面有個費時費力的環節,每周需要在多個Excel文件中找出目標Worksheet,然后選定合適的區域作為輸出的表格,按照一定的格式和一定的順序,打印出這100多張表格。之前我們全是憑借人力,每周由一個Analyst把所有最新的Excel文件收集在一起,然后挨個打開文件選中合適的Worksheet,選中區域設置好格式進行打印。每進行一次,幾乎耗費一兩個小時,還不能保證不出錯。

于是寫下了我的第一個VBA程序,而且基本上是宏錄制之后來改的,沒有使用參考書及搜索引擎,全靠F1和自動提示,所以貼出來特別紀念一下。實現的功能就是將上述的人肉實現的功能全部自動化。按下一個妞,就慢慢等著打印機按順序出結果吧。


后來這個程序的升級版是:調度多臺打印機,進一步提高效率,以及將打印機卡紙造成隊列錯誤的概率降到極小的范圍內。

2、制作圖表及GIF動畫

圖表制作是每個Office一族的必備任務,制得一手好表格,絕對是升職加薪和偷懶放風的利器。在回答(黃燜雞米飯是怎么火起來的? - 何明科的回答),就利用Excel+VBA做出數張炫酷的信息地圖,利用VBA為每個省的圖形涂色。


(涂色部分來自于網上的一段程序,制作GIF動畫的是自己完成的)

同時,為了進一步增強炫酷結果,還利用VBA將這些連續變化的圖表做成了GIF動畫,可惜知乎不支持GIF的顯示。


3、制作復雜的分析圖表

下圖是研究各個車型之間的用戶相互轉換關系,因為要將一維的轉化率向量,變成兩維的矩陣,所以使用了如下的復雜公式。

=IF(ISERROR(OFFSET($C$2,MATCH(CONCATENATE(ROW(A4),"-",COLUMN(A4)),$D$3:$D$600,FALSE),0)/OFFSET($C$2,MATCH(CONCATENATE(ROW(A4),"-",ROW(A4)),$D$3:$D$600,FALSE),0)),"",OFFSET($C$2,MATCH(CONCATENATE(ROW(A4),"-",COLUMN(A4)),$D$3:$D$600,FALSE),0)/OFFSET($C$2,MATCH(CONCATENATE(ROW(A4),"-",ROW(A4)),$D$3:$D$600,FALSE),0))

同時為了用顏色的深淺來表示轉化率的大小關系而便于比較,使用了VBA對下面的矩陣進行著色。當然有人肯定會說可以使用條件化格式,但是使用VBA保持了最高靈活度和效率。


4、根據格式化信息,生成標準的word文件

這是幫朋友實現的一個項目,他們實驗室是研究某類事故并對重大事故進行鑒定,最后發布word版的正式報告。之前的工作流程是在專業的軟件中完成計算和仿真,最后按照正式報告八股文的行文,把各種關鍵信息填進去,最后寫成word文件。寫報告的過程枯燥而沒有技術含量,但卻要反復進行。

通過下圖的Word+VBA,完成主要的交互界面并連接計算軟件。在通過簡單的交互獲取主要信息后,在后臺完成計算并將主要信息填寫入八股文的word模版,最終完成報告,同時將結構化的信息存入Access數據庫。


希望有機會和@Raymond Wang@金有元等大律師合作,將Termsheet的書寫及Termsheet到SPA及M&A等的法律文件書寫工作徹底自動化。

5、通過Excel管理分布的任務流,并將Excel表格輸出到Powerpoint

這是協助某國際大型汽車制造廠完成新品牌及其新款車型上市,面臨車型即將斷檔的窘境,該新車型的上市非常關鍵,不能錯失時間節點。然而,新車型上市涉及到無數分支:制造、產品、市場、渠道、營銷、公關、財務等等,同時還要協調歐洲的兩個總部以及中國的兩個分部。

這次咨詢的核心任務就是項目管理,總控整個大項目的進度,并每周向中國區的CEO匯報進度并發掘出易出現問題的關鍵節點以調配資源。我們4個咨詢顧問分配下去各自負責幾個部門或者項目分支,和團隊一起規劃流程、畫甘特圖、確認里程碑及時間點、安排負責人等等。當每天回到辦公室大家將進度匯總在一起的時候發現了挑戰及難點,每條任務線并不是獨立發展的,而是各條任務線交織在一起并互相影響。

某些核心人員在多個任務線出現。比如:負責預算的財務人員,幾乎要出現在各條線中負責相關預算的審批環節

某些任務線的里程碑是其他任務線里程碑的必要條件而相互關聯。比如:新車的下線時間影響發布會的時間,相關法規測試的通過又影響車輛的下線時間等等

當任務線增多以及任務線之間的交叉越發頻繁的時候,匯總的任務將會幾何級數增加,這就是我們在項目過程中遇到的問題。于是我利用Excel+VBA完成了這個工作的自動化。主要實現的功能:

自動將4個顧問手中分散的Excel文件匯集在一起形成一個大的總表,如下圖

各顧問手中的表格是按照部門維度來劃分的,匯總后需要按照不同的維度來輸出不同類型的表格,比如:按任務線輸出表格、按責任人輸出表格、所有延誤任務的表格、所有需要資源重點投入任務的表格等等


在此基礎之上,還要將上面提到的各種維度下的所有表格(大概有200多張),按要求格式粘貼到PPT中,每周提交給中國區的總部進行匯報和評估。密密麻麻的表格如下圖。于是,我又寫了一個程序將Excel中的表格輸出到Powerpoint中,將一個秘書每次需要數小時才能完成的工作,簡化成了一鍵發布,并可以在Excel中完成對PPT的更新。


這個項目的程序量不小,近似于寫了一個迷你版的Microsoft Project來進行項目管理。


最后,下圖中密密麻麻的PPT每周需要更新一次,每次都是快100張的工作量,然而基本上都是靠Excel來自動完成更新的。因為PPT的模版每次變化不大,我將這些模版記錄下來,每周更新的時候只要根據Excel中最新的數據更改PPT中的數據即可。


6、根據結果倒推假設

一般的Financial Model都是根據重重假設計算最終結果。而在為某頂級手機品牌服務的過程中,我們卻遭遇了逆向的尷尬。本來是根據地面銷售人員的一定服務水平,計算所需要的銷售人員數量;結果在項目過程中,總部已經確定好了銷售人數的Head Count,轉而要求我們根據HC確定服務水平。然而,服務水平不是一個單變量,是由零售店的覆蓋率、銷售拜訪頻率、拜訪中的服務深度等多重因素來決定的,同時還可以根據一線至無線城市來變化。

于是只好再次祭出Excel+VBA法寶。先根據常規思路建立好Financial Model,得出HC的初步結果。然后寫VBA程序,根據不同的情景、不同的優先級以及不同的權重來調節零售店的覆蓋率、銷售拜訪頻率、拜訪中的服務深度等多因素,同時設定這幾大因素的可接受范圍,逐步逼近HC的預設值。


如果沒有程序,以前基本是靠人工手動調節來湊結果,而且因為各種情景的不同,還需要多次調節。而通過程序,基本是自動完成,還可智能得設置優先級及權重,無需人工參與。

7、海量下載Bloomberg數據并完成分析

通過Bloomberg的VBA API,海量下載數百只目標股票的tick data以及order book。


并根據實現構建好的數學模型,在后臺完成計算,將上述的實時數據轉化成每只股票實時的trading cost,實時展現在交易員最常用的Excel界面中,方便交易員評估當下的交易成本以便于優化交易策略。


8、結語

計算了一下,我在BCG做了三年咨詢顧問,大概寫了幾萬行VBA程序(都是自己手工輸入的,沒有復制拷貝和系統自動生成),每個項目一千至幾千行程序不等。最后將Excel用成了中控界面,類似EMACS,在Excel可以隨意操控全公司的打印機、Word、Powerpoint等等,自動完成各種任務以及數據更新和抓取。因為Excel的數據更結構化,所以將其作為中控平臺,比Word和Powerpoint更有優勢。

一些學習VBA的小技巧在這個回答里:Excel VBA 如何快速學習? - 何明科的回答

最后,這些程序中的一些公共模塊,打包給了BCG Global IT,BCG給了我一個Sponsorship去Stanford GSB讀書。程序的注釋行里面有我幾個好朋友、親人及導師的名字,祝他們一生平安。

最后的彩蛋,還可以用VBA來畫油畫,零基礎成為用美術作品把妹撩漢的藝術青年(Excel 有什么奇技淫巧,讓你相見恨晚? - 何明科的回答)。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,837評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,196評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,688評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,654評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,456評論 6 406
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,955評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,044評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,195評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,725評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,608評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,802評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,318評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,048評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,422評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,673評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,424評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,762評論 2 372

推薦閱讀更多精彩內容