看板 Accounting 關於我們 聯絡資訊
Excel如何一次匯總比較三家公司財務報表 網誌圖文版: http://www.b88104069.com/archives/4321 上一節介紹如何一次取得多家公司的損益表,作法是分別放在不同的工作表。實務上財務 報表分析時,將不同公司不同期間放在同一張工作表,格式上適當整理,才方便作有意義 的比較。雖然上一節所取得的資料,可以Excel手工彙總到一張工作表,但既然是編寫VBA ,總希望一步到位,在設計程式時把所有需求考慮在內,例如自動將三家公司財報匯總在 一起,方便直接分析,這個當然也可以設計VBA程式達成,以下具體分享: 一、想取得三家公司損益表,年度期間從2014年到2016年。 二、編寫VBA程式碼如下: 10:建立一個巨集程序「Stock_Year_IS」,「Public」的意思是該程序是被其他模組呼 叫,例如像「Call」引用; 30~40:新增工作表「Income Statement」; 60:宣告變數; 80~90:計算清單共有多少行; 100~110:將開始年度設定為「Year1」、截止年度設定為「Year2」; 130~150:設置三家公司的迴圈「i」,將公司代碼設定為「Stock1」、公司名稱設定為「 Stock2」; 170:設置三個年度的迴圈「j」; 190:將年度「j」從數值轉換成文字「Year」; 200:此為程式編寫的習慣用法,「n=n+1」等於是一個計數器,每循環一次迴圈就加一; 210~240: 先設定取得網頁資料的參數,以「Stock1」作為公司代碼、「Year」作為年度 ,同時以計數器「n」適當決定每次下載的儲存格位置「DesCell」、並且以第一行作為公 司名稱「Stock2」的標題行; 260~300:本書一直使用的「QueryTables.Add」方法; 320~360:執行下一個循環,最後結束程序「Stock_Year_IS」。 三、執行結果如圖所示,一家公司一個年度是三欄資料,有三家公司三個年度,所以從A 欄到AA欄總共27欄。黃色部門是大類的損益項目,從圖片可以看出來,不同公司損益表結 構不一樣,同樣的「營業利益(損失)」在不同公司不同行,其實以先前第二節「多期損 益報表」的範例而言,同一家不同年度因為狀況不同,也有可能損益表結構不盡相同。 四、通常財務報表的比較不用到很細,如圖所示只需到大項目即可。 五、編寫程式碼如下: 30~50:先利用「UsedRange.Columns.Count」方法計算出有多少行及多少欄,如同步驟三 所述,共有27欄。因為每次報表有三欄,「Column = Column / 3」得到總共有多少組報 表。 70~110:有「i」組報表、設計迴圈「i」,先將每組報表的公司代碼及公司名稱複製到工 作表「六」。 130~230:設計「j」「k」三個迴圈,「j」代表想要擷取的損益項目、「k」代表損益表 總共有多少行,配合迴圈「i」,效果等同於Excel的Vlookup查找函數,只要順著三個迴 圈的設定試著跑一兩次,應該能理解「i」、「j」、「k」如同Vlookup公式中的三個參數 ,這裡是用VBA程式碼把Vlookup實際執行過程編寫出來。 六、執行結果,成功彙總出簡易損益表,每家公司各個年度一覽無遺。(為了圖片清晰起 見,部份欄位作了寛窄的調整) 七、每家公司規模不同,各個損益項目直接比較,並不具有分析意義。實務作法是計算財 務比率,例如毛利率、營業利益率、淨利率,這些在上一步驟的基礎上,很容易整理出來 。(同樣為了圖片清晰起見,部份欄位作了寛窄的調整) 這一節範例是三家公司三個年度的損益表,只要迴圈設定再修改一下,便可以取得更多家 公司、更多年度的報表,這是VBA迴圈方便的地方。另外這一節也介紹如何利用迴圈實現 Vlookup函數功能,這樣做可以把熟悉的Excel函數內化成VBA程式碼的一部份,重點是將 函數作用以VBA形式編寫,其實不限於Vlookup函數,其他熟悉的Excel函數皆能如法泡製 ,待有適當範例再作介紹。 本文內容取自《人人做得到的網路資料整理術》,博客來書店網址: http://www.books.com.tw/products/0010775391。 延伸閱讀: Excel如何取得多家公司財務報表 http://www.b88104069.com/archives/4317 Excel如何取得股票代碼清單 http://www.b88104069.com/archives/4315 Excel如何取得多期損益報表 http://www.b88104069.com/archives/4313 -- 周末,我們繼續Excel:精華區=>21.心得=>5.其他=>3.office 會計人的Excel小教室: https://www.facebook.com/acctexcel -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.20.96.160 ※ 文章網址: https://www.ptt.cc/bbs/Accounting/M.1531025089.A.80B.html
holove318: 推~ 07/10 06:00