日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

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

可是,Excel+VBA是圖靈完備的,所以被程序員用來耍酷的各類性感語言能實現的大部分功能,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的價值。”

本文作者何明科,LinkedIn專欄作家。

 
 
 
 

 

1、自動打印

剛進職場的新人,只要爸爸不是李剛,基本都做過影帝影后(影=印,各種復印打印的體力勞動)。

特別是咨詢投行服務行業,在某次給客戶的大匯報或者大忽悠會議之前,花數小時或者整晚來打印數個文件,并不是天方夜譚。而且這件事情是對著同樣一堆不斷修改的文件,會經常不斷重復發生。

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

我們4個咨詢顧問的任務:

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

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

 

這里面有個費時費力的環節,每周需要在多個Excel文件中找出目標Worksheet,然后選定合適的區域作為輸出的表格,按照一定的格式和一定的順序,打印出這100多張表格。

之前我們全是憑借人力,每周由一個Analyst把所有最新的Excel文件收集在一起,然后挨個打開文件選中合適的Worksheet,選中區域設置好格式進行打印。每進行一次,幾乎耗費一兩個小時,還不能保證不出錯。

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

Excel 有多厲害?
 
 
 

 

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

2、制作圖表及GIF動畫

圖表制作是每個Office一族的必備任務,制得一手好表格,絕對是升職加薪和偷懶放風的利器。利用Excel+VBA做出數張炫酷的信息地圖,利用VBA為每個省的圖形涂色。

 
 
 

 

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

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

Excel 有多厲害?
 
 
 

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保持了最高靈活度和效率。

Excel 有多厲害?
 
 
 

 

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

這是幫朋友實現的一個項目,他們實驗室是研究某類事故并對重大事故進行鑒定,最后發布word版的正式報告。

之前的工作流程是在專業的軟件中完成計算和仿真,最后按照正式報告八股文的行文,把各種關鍵信息填進去,最后寫成word文件。

寫報告的過程枯燥而沒有技術含量,但卻要反復進行。

通過下圖的Word+VBA,完成主要的交互界面并連接計算軟件。

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

Excel 有多厲害?
 
 
 

 

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

某國際大型汽車制造廠完成新品牌及其新款車型上市,面臨車型即將斷檔的窘境,該新車型的上市非常關鍵,不能錯失時間節點。

然而,新車型上市涉及到無數分支:制造、產品、市場、渠道、營銷、公關、財務等等,同時還要協調歐洲的兩個總部以及中國的兩個分部。

這次咨詢的核心任務就是項目管理,總控整個大項目的進度,并每周向中國區的CEO匯報進度并發掘出易出現問題的關鍵節點以調配資源。

我們4個咨詢顧問分配下去各自負責幾個部門或者項目分支,和團隊一起規劃流程、畫甘特圖、確認里程碑及時間點、安排負責人等等。

當每天回到辦公室大家將進度匯總在一起的時候發現了挑戰及難點,每條任務線并不是獨立發展的,而是各條任務線交織在一起并互相影響。

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

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

 

當任務線增多以及任務線之間的交叉越發頻繁的時候,匯總的任務將會幾何級數增加,這就是我們在項目過程中遇到的問題。

于是我利用Excel+VBA完成了這個工作的自動化。主要實現的功能:

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

· 各顧問手中的表格是按照部門維度來劃分的,匯總后需要按照不同的維度來輸出不同類型的表格。

比如:按任務線輸出表格、按責任人輸出表格、所有延誤任務的表格、所有需要資源重點投入任務的表格等等

 

Excel 有多厲害?
 
 
 

 

在此基礎之上,還要將上面提到的各種維度下的所有表格(大概有200多張),按要求格式粘貼到PPT中,每周提交給中國區的總部進行匯報和評估。密密麻麻的表格如下圖。

于是,我又寫了一個程序將Excel中的表格輸出到Powerpoint中,將一個秘書每次需要數小時才能完成的工作,簡化成了一鍵發布,并可以在Excel中完成對PPT的更新。

Excel 有多厲害?
 
 
 

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

Excel 有多厲害?
 
 
 

最后,下圖中密密麻麻的PPT每周需要更新一次,每次都是快100張的工作量,然而基本上都是靠Excel來自動完成更新的。

因為PPT的模版每次變化不大,我將這些模版記錄下來,每周更新的時候只要根據Excel中最新的數據更改PPT中的數據即可。

Excel 有多厲害?
 
 
 

6、根據結果倒推假設

一般的Financial Model都是根據重重假設計算最終結果。而在為某頂級手機品牌服務的過程中,我們卻遭遇了逆向的尷尬。

本來是根據地面銷售人員的一定服務水平,計算所需要的銷售人員數量;結果在項目過程中,總部已經確定好了銷售人數的Head Count,轉而要求我們根據HC確定服務水平。

然而,服務水平不是一個單變量,是由零售店的覆蓋率、銷售拜訪頻率、拜訪中的服務深度等多重因素來決定的,同時還可以根據一線至無線城市來變化。

于是只好再次祭出Excel+VBA法寶。

先根據常規思路建立好Financial Model,得出HC的初步結果。

然后寫VBA程序,根據不同的情景、不同的優先級以及不同的權重來調節零售店的覆蓋率、銷售拜訪頻率、拜訪中的服務深度等多因素,同時設定這幾大因素的可接受范圍,逐步逼近HC的預設值。

Excel 有多厲害?
 
 
 

如果沒有程序,以前基本是靠人工手動調節來湊結果,而且因為各種情景的不同,還需要多次調節。

而通過程序,基本是自動完成,還可智能得設置優先級及權重,無需人工參與。

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

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

Excel 有多厲害?
 
 
 

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

Excel 有多厲害?
 
 
 

8、結語

計算了一下,我在BCG做了三年咨詢顧問,大概寫了幾萬行VBA程序(都是自己手工輸入的,沒有復制拷貝和系統自動生成),每個項目一千至幾千行程序不等。

最后將Excel用成了中控界面,類似EmacS,在Excel可以隨意操控全公司的打印機、Word、Powerpoint等等,自動完成各種任務以及數據更新和抓取。

因為Excel的數據更結構化,所以將其作為中控平臺,比Word和Powerpoint更有優勢。

分享到:
標簽:Excel
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定