合併資產負債表

在企業財務工作中,每個財務週期都要製作資產負債表,週期分爲月度、季度、年度。季度報表可由月度報表合併得來,年度報表可由季度報表合併而來。有些大企業有許多部門,各部門也有資產負債表,總公司的資產負債表可由各部門的合併得來。如果由人工來進行這種合併工作,不僅煩瑣,還易出錯。如果使用程序自動完成這種工作就會既高效又正確。本文將介紹 esProc SPL 編寫的資產負債表合併代碼示例。esProc 是專業的數據計算引擎,SPL 中提供了完善的 Excel 文件讀寫函數,做資產負債表合併非常容易。

資產負債表通常如下圖:

..

表中紅色字體單元格是由其它單元格數據計算得來的,合併時不用考慮這些格,只需合併黑色字體單元格的數據。

 

1.  不同時段合併

按時段合併時,合併報表的期初數爲第一個時段的期初數,期末數爲最後一個時段的期末數。如用1、2、3月的資產負債表合併一季度的報表時,期初數爲1月的期初數,期末數爲3月的期末數。

SPL代碼:


A B
1 =file("e:/資產負債表/1月.xlsx").xlsopen()
2 =file("e: /資產負債表/3月.xlsx").xlsopen()
3 =file("e: /資產負債表/一季度.xlsx")
4 [C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C20,C21,C24,C25,C27,C29,C30,C31,C34,C35,C36,C40,F5,F6,F7,F8,F9,F10,F11,F12,F13,F14,F15,F16,F17,F18,F22,F23,F24,F25,F26,F29,F33,F34,F36,F37,F38,F39]
5 for A4 =A2.xlscell(A5,1)
6
=A1.xlscell(A5,1;B5)
7 =A3.xlswrite(A1)

A1   打開1月份的資產負債表

A2   打開3月份的資產負債表

A3   指定合併後的資產負債表文件名

A4   列出要讀取期末數的單元格名稱

A5-B6   循環讀取3月表中A4指定的單元格的期末數,並寫入到1月表中的對應格

A7   將合併後的A1保存到A3指定的Excel合併文件中

 

2.   不同部門合併

合併不同部門時,合併報表的期初數爲各部門期初數之和,期末數也爲各部門期末數之和。

SPL代碼示例:


A B C
1 [e:/資產負債表/部門1.xlsx,e:/資產負債表/部門2.xlsx,e:/資產負債表/部門3.xlsx]
2 =file("e:/資產負債表/公司總表.xlsx")
3 =A1.(file(~).xlsopen())
4 [B5,B6,B7,B8,B9,B10,B11,B12,B13,B14,B15,B16,B17,B20,B21,B24,B25,B27,B29,B30,B31,B34,B35,B36,B40,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C20,C21,C24,C25,C27,C29,C30,C31,C34,C35,C36,C40,E5,E6,E7,E8,E9,E10,E11,E12,E13,E14,E15,E16,E17,E18,E22,E23,E24,E25,E26,E29,E33,E34,E36,E37,E38,E39,F5,F6,F7,F8,F9,F10,F11,F12,F13,F14,F15,F16,F17,F18,F22,F23,F24,F25,F26,F29,F33,F34,F36,F37,F38,F39]
5 for A4 >v=0
6
for A3 =B6.xlscell(A5,1)
7

>v+=if(C6==null,0,float(C6))
8
if v==0 >A3(1).xlscell(A5,1;null)
9
else >A3(1).xlscell(A5,1;string(v))
10 =A2.xlswrite(A3(1))

A1   列出各部門資產負債表文件名

A2   指定合併後的資產負債表文件名

A3   打開各部門資產負債表文件

A4   列出要讀取數據的單元格名稱

A5-C9   循環要讀取的單元格,從各部門表中讀取當前格數據(沒填計0),並累加到變量v,將累加後的v寫入到第一個部門表的對應格中(v爲0時將單元格置空)。

A10   將保存了合併後值的第一部門表保存到A2指定的Excel合併文件中


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章