[算表] VBA执行百货贸易业收现天数财务分析

楼主: moodyblue   2020-03-31 23:23:55
VBA网络爬虫高效率抓取投资资讯,新增工作表执行同业财务比率分析
网志图文版:
https://www.b88104069.com/archives/4468
VBA网络爬虫高效率抓取投资资讯,最好配合工作表新增删除及名称命名等程式,本文以
欣欣大众、远百、特力的应收帐款收现天数为例执行同业比率分析。
上一节以远百作为范例,了解其应收帐款周转比率,但除了单一公司外,也想要知道其他
公司的应收帐款指标作为参考。另外上一节的VBA程式码已经能同时取得三份财务报表,
不过即使取得原始资料,仍需要再拉一下工作底稿的公式,才能汇总到分析表,这一节以
和远百类似性质公司为例,分享如何稍微修改VBA程式码,希望可以让工作底稿自动去抓
更新后的资料。
一、在公开资讯观测站“年报及股东会相关资料(含存托凭证资料)”的“公司代码或简称
”字段,输入“29”,网页会自动跳出智慧选单,出现“上市贸易百货”类别的公司,本
节即以其中的“2901 欣欣大众”和“2908 特力”为例介绍。
二、首先修改VBA程式码,重点在图片标蓝色下列所示部份,这一段是纯粹用录制宏得
到的程式。Excel有个很好用的宏指令,可以所操作的过程录制下来,除了再次播放执
行,Excel还会自动将这过程翻译成程式原始码,作为VBA开发人员的参考。我是在不改变
原本“网页资料=>工作底稿=>汇总分析表”的结构公式前提下,直接将新公司的资料下载
到另外新的工作表,再将此资料复制值到原本的网页资料工作表上面,等于完成了资料更
新,同时又不改变原本三层工作表的公式连结。
三、首先,直接复制“7.2 平均收现日数”Excel档案,重新命名档案为“第七章 经营能
力分析(7.3 2901-2017)”,除了“Analysis”、“Calculation”、“Balance Sheet”
、“Income Statement”、“Cash Flows”、“股票代码”这五个工作表,其他予以删除
。将“Analysis”工作储中的“B1”储存格改为“2901”,可以看到“B2”储存格会自动
变成“欣欣大众”。
执行宏“FinancialReportsUpdate”,结束后会发现三张工作表:“Balance
Sheet-2901”、“Income Statement-2901”、“Cash Flows-2901”,但很快也很发现这
三张表都是空无一物,连带使得被复制覆蓋的“Balance Sheet”、“Income Statement
”、“Cash Flows”工作表也变成空无一物。
一开始可能会觉得是VBA程式码写错,但经过测试其他公司执行正常,所以回到资讯观测
站验证网址,竟才发现这家公司较特别,它只有个别财报,并没有合并财报,再仔细检查
个别财报XBRL的网址结构,重点是在结尾的“ID=A”,先前范例都是合并财报,网址结尾
固定为“ID=C”,因此可验证A代表个别、C代表合并。
四、修改VBA程式码网址那一行:“WebAddress =
"URL;http//mops.twse.com.tw/server-java/t164sb01?step=1&CO_ID=" & Stock &
"&SYEAR=" & Y & "&SSEASON=4&REPORT_ID=A"”,结尾由C改成A,如图所示。先把“
Balance Sheet-2901”、“Income Statement-2901”、“Cash Flows-2901”这三张工作
表删除,再执行宏“FinancialReportsUpdate”,成功取得三份个别财务报表。
这里之所以要将原来的三张工作表删除,是在VBA程式码指示要新增这三张工作表,但如
果没删除,执行时会发现已经有了,为何还要新增,程式会报错,所以记得重新执行时务
必要先予删除。另外在此可以将修改过的宏改名为“
FinancialReportsUpdate_StandAlone”,表示是取得个别财务报表,这不仅仅是“欣欣
条款”,也可作为往后偶尔有需要取得个别财报的备用程式。
不过,财务报表虽然更新,工作底稿却有一项“应收帐款-关系人净额”出错,这是因为
如同本书第二章第三节“合并报表”所述,通常合并报表会将所有关系人交易消除掉,只
剩下集团外交易往来,上一节的远百刚好比较特别,合并报表中尚有应收关系人款项,翻
阅远百106年合并财报中的第90页,在关系人交易的附注中这是因为有“重大影响投资者
之关联企业”等的缘故,此财报中应收关系人余额也可以和上个步骤所取得资产负债表核
对,金额是一致的。
五、理清了问题,对策随之而来,修改工作底稿中的公式,将储存格D11的公式改成“
=IFERROR(MATCH("*"&$B11,'Balance Sheet'!A:A,0),0)”,表示如果无此科目则计算为
零,接着再将D21的公式改成“=IF(D11=0,0,INDEX('Balance Sheet'!B:B,D11))”,表示
如果D11为零、这里金额也带零。
修改好公式,适当地作整行的公式复制,最后终于得到了应收帐款财务比率。看起来2017
周转次数较少,但欣欣百货应收帐款接近于零,2017只是刚好期末有些余额,造成此异常
,但应收金额仍然很少,其实没什么担忧。
整体而言,欣欣百货的收现日数也在10天以内,和远东百货接近,互相印证两家公司经营
稳健,而且财务指标符合百货公司现金销售为主的特性。
六、再一次操作第三步骤的流程,直接复制“第七章 经营能力分析(7.3 2901-2017)”
Excel档案,重新命名档案为“第七章 经营能力分析(7.3 2908-2017)”,除了“
Analysis”、“Calculation”、“Balance Sheet”、“Income Statement”、“Cash
Flows”、“股票代码”这五个工作表,其他予以删除。将“Analysis”工作储中的“B1
”储存格改为“2908”,可以看到“B2”储存格会自动变成“特力”。
由于2901较特殊是个别财报,当时修改VBA程式码网址那一行:“WebAddress =
"URL;http//mops.twse.com.tw/server-java/t164sb01?step=1&CO_ID=" & Stock &
"&SYEAR=" & Y & "&SSEASON=4&REPORT_ID=A"”,这里已回归大部份是合并财报的情况,
要再把这行网址的结尾由A改成C,顺便也将宏名称从“
FinancialReportsUpdate_StandAlone”改成单纯的“FinancialReportsUpdate”。
执行宏“FinancialReportsUpdate”,这次非常顺利,待VBA取得资料并复制后,分析
表即自动更新为特力2908的应收帐款相关财务比率。从特力五个年度的平均收现日数来看
,区间都落在25天到30天左右,表示公司在销售方面的经营能力维持稳定。
七、将这一节三家公司的分析表,Excel简单放在一起作比较,发现特力的平均收现日数
较高。
针对特力,参考其105年股东会年报第53页,该公司成立四十年,刚开始是专营手工具五
金外销的贸易商起家,接着将贸易商导入国内零售市场,最后是自己设立大型卖场,也就
是在台湾大家都知道的B&Q特力屋,近年还进军大陆市场。所以翻到年报第52页“合并营
业收入比重”,105年度特力传统贸易业务营收占比为36.0%、台湾零售事业为49.6%,由
此不但更加了解这家公司,并且也能理解其平均收现日数会较欣欣大、远百等单纯百货公
司较为长的合理原因。
针对欣欣大众,参考其105年股东会年报第6页,该公司非常特别,是由退辅会与民间共同
投资创办,目的之一是提供荣民及其子女就业机会。由此可想见其已是上市公司,但没有
发展成集团企业,仍然维持单一公司的背景原因。
最后作个小小补充,有兴趣可以看看同样是“上市贸易百货”的统一超(股票代码:2912
),其105年股东会年报第65页,在“财务分析(合并)”里“应收帐款周转率”和“平
均收现日数”都是空白,注解为“本公司因属零售现销作业,故不适用”。由此可见即使
在同一类别中,各家公司仍然有非常大的差异性,在分析财务比率时并没有绝对的判断标
准,应尽量避免妄下结论。
特力105年股东会年报第53页:
特力105年股东会年报第52页:
欣欣大众105年股东会年报第6页:
统一超105年股东会年报第65页:
这一节最后有三点补充:
(1)如果想自己利用Excel和VBA取得资料、整理资料,学习和困难是在所难免。以欣欣
大众为例,必须发现它不是合并财报,需要修改VBA中设定的网址,也必须了解它没有应
收关系人款,需要修改Excel中设的公式。不过,再以特力为例,由于这类型网络资料一
定会有些共同的特性,所以在欣欣大众已经作了修正,接下来在取得特力资料时便一次过
关。从这里来看,解决问题的效益并不等差级数,一个加一个,而是成等比级数,处理掉
一个问题,同时可能处理掉好几个潜在的问题了,因此如果有心,还是值得学习。
(2)从本节最后一个步骤来看,一旦在Excel取得了公司财报,设定好函数公式模型,灵
活度很高,轻易能把许多公司放在一起综合评估,另外也可以同时计算出先前用过的财务
比率,例如财务结构、偿债能力等。
(3)Excel和VBA是工具,财务比率分析也是工具,最终还是要回到公司基本面本身,如
同本节最后撷取了公司年报所示,单纯从财务比率的数字,无法了解到底发生了什么,而
每家公司其实都很认真地准备股东报年报,买股票成为一家公司的小股东,是可以好好阅
读公司财报和年报,如此更加了解所投资公司,这是价值投资法的根本。股神巴菲特有句
经典名言:“其他男人看花花公司,我读公司财报。”这本书宗旨之一便是希望抛砖引玉
,鼓励读者多多阅读会计师辛苦查核签证的财务报告、公司用心准备的股东会年报。
延伸阅读:
Excel设计VBA数列变量及循环事件取得远东百货财务报表,分析收现日数
https://www.b88104069.com/archives/4416
经营能力分析:周转天数计算
https://www.b88104069.com/archives/4409
上班族常用财务报表:现金流量表
https://www.b88104069.com/archives/4394

Links booklink

Contact Us: admin [ a t ] ucptt.com