还剩53页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
第章概论1本书旨在为您提供一系列帮助您开发、利用和维护Excel模型的工具财务模型的建立通常被看作只是对会计数字的添加或者是进行这种添加的方法但是,本书将会给您展示精良的建立财务模型的实践操作;提供一些不同的技术要领并会给您精选出一些模型的模板本书并不是一本Excel使用的工具书,因为关于这一方面已经有很多深入的手册了,更确切地说,本书是对一些技术的概述以便为您节省时间,帮助您在财务管理方面变得更为有效率
1.
1、什么是财务建模财务建模涵盖了一个很宽泛的领域从简单的制表到费用的加总再使之转变为工程所需的复杂的风险模型此外,模型的设计还需要考虑很多其它的方面具体地说,关于财务建模我们必须考虑•针对具体商业问题的解答建立特殊的操作程序如现金流量表及其易变性;•对数据进行分析处理;•将未来因素纳入模型考虑,对未来的情况进行考察;•将数据快速准确地转化为管理信息;•在一个“平安〃的环境中测试假设,如工程方案;•通过一种结构化的途径来支持管理决策;•更准确地认识问题中的相关变量和规则;•更多地了解变量的变化过程及其变化方式;•找出关键变量并考察其敏感性
1.
2、电子表格的历史电子表格被应用于个人电脑是从20世纪70年代晚期VisiCalc(专为苹果机使用的一种操作软件)的使用开始的由于这种工作表的高效率和准确性,使之在大范围内迅速取代了一些早期的方法(如高速计算机),同时,Lotusl-2-3的使用与IBM个人电脑的使用也同步增加从此财务管理者也能用他们自己的数据来进行分析而不用求助于其它数据系统或是系统管理员了会计模型,如预算和现金流量,能根据用户的要求进行建立,这就导致了•有更详细的信息用于决策制定;•使在较低层次的决策制定成为可能;
1.
8、管理报告对于较大的模型,管理报告和小结通常是必不可少的,它们应该在一个完整的管理报告区域中不是每一个人都需要所有的细节和计算,小结可以帮助用户了解计算结果和获取其中重要的信息例如,一个工程管理的应用应该在模型中显示覆盖比率和证券化程度
1.
9、未来开展模型内在的开展是很重要的一个预算模型可能到下一年就需要添加新的变量,而一个结构化的模型有助于模型未来的开展我们可以通过查看如何添加新变量和审核设计中的漏洞来测试它的可开展性此外,灵敏度分析表和方案使得用户能在同一模型中得到多方面的答案,并且在改变输入的基础上进行差异分析一个单一的净现值模型对于决策的制定是远远不够的,模型的开展应该包含一些更深入的对最终结果8产生变化程度的测试风险也是一个决定性的因素,因此模型的设计需要包含风险因素或模拟技术模拟使得模型的开展包含一系列的输入而不仅仅是单一的数字,这样的输入就会得出相应的一组结果类似地,图表在向操作者或其他人显示结果上也是很有用处的人们常常可以通过图表轻易地理解复杂的东西例如,一个现金流的模型包含在最低限额之上的现金流的图表
2.
10.测试测试是很有必要的,它可以确保没有计算上的错误和由模型得到的信息流是正确的在图2—2的表格中,结果可以通过贴现率表或者用其他的财务计算器的结果来检验测试的数据必须要用到所有的按钮、输入、频率、支付方式等后面会有一个章节专门介绍一些用来检验模型准确性的技术
3.
11、保护如果模型会被别人使用,那么模型的保护就变得非常重要如果作者将所有的输入都聚合在一起并且用不同的颜色给它们“加密〃,这种保护就变得很简单所有的工作表格都能被保护,对输入单元格也可以不进行保护保护工作表和工作簿其实也是保护了模型设计者的成果,并且这样做可以确保模型在设计者的意图下进行使用例如,如果一个预算模型让用户使用,而用户却在单元格里输入具体的数字而不是公式由于没有对模型进行保护,其后果是威胁到了模型结果的准确性当然,其他人在使用的时候可能会从检查每一个单元格可能的错误开始
4.
12.备案许多作者嫌麻烦而不愿写出一些关于工作表的说明和工作表的结构说明这样做可能会面临这样的一种风险他们或者他们的同事在日后对模型编码进行维护的时候可能会在某些方面遇到困难而许多模型也就因此成为了“宠物设计〃,因为任何一个计算机程序都需要相关的背景信息理想的情况是将说明写进模型而不是写在文件的一小片纸上,并且要遵循•采用一个特定的设计或模板的原因;•写出关键的公式和计算步骤;•规则和方法
2.
13、同行的意见模型的用户和同行们常常会对模型提出建设性的意见尽管这个过程很痛苦,尤其在你耗用的大量的时间来制造出这样一个杰作之后但是,潜在的用户需要尝试输入数据并且对模型的操作方式是否人性化给出评判让用户参与到模型的设计过程,并且询问他们的意见能够充分调动用户的积极性这方面主要的因素包括•有清楚地对话框,使用起来很方便;•用户操作指导,包括从输入开始经过计算最后得出答案和报告;•将审核和更正的复杂性降到最低点;•结果显示的明晰性以上的13点将会帮助你更有序地工作检查一下你自己的模型,看看在你的成果中包含了以上的哪些方面显然,模型的复杂程度影响着你所需要完成的工作量但是,以上这些是作者实践了很多年总结出的经验,它们会帮助你更好的进行实践我们在下一章节中会讨论几种能使你的模型功能更强大的特征随后的章节会应用这些设计方法来重新建立第一章中的那个基础模型这样做的目的是为了向您展示如何应用Excel来建立功能更强大而没有错误的模型
2.
14、小结模型的设计是个性化的,经过一段时间的工作,我们会形成自己的风格设计的连贯性和遵循统一的设计方法是很重要的本章对设计步骤的讨论并不是面面俱到的,主要包括了以下几个方面的内容•建立所有的模型都要遵循的设计步骤和方法;•确立目标和对象;•了解客户的需求和必要的客户交流;•建立关键变量及其规则;•将计算分解成若干个可操作的群组;•建立个体模板;•设计菜单结构;•管理报告和小结;•模型开展,如,灵敏度分析;•测试和审核;•应用操作的保护;•备案;•征求同行的意见第章特征和技术3在上一章里,我们讨论了模型设计的方案和在设计中的逻辑问题本章将会着重介绍模型中包含的让用户感到更亲切的特征本章不会把所有的特征一一详尽地列出,但本章所要到达的目的就是要揭示最初的和最终的模型之间的差异本章讨论的特征包括•格式;•数字格式;•框线和边框;•颜色和图案;•给输入和结果特别着色;•数据的有效性来控制输入;•控制一一对话框或按钮;•条件格式化来显示数据上的变化;•加载宏,以增加更多的财务功能;•参加更多的财务公式;•文本框和更新标签;•记录版本序号、作者、开发时间和其他信息;•运用名称以便使公式更便于理解;•将命名表作为备案的一局部记录;•单元格批注;•图和表;•多样化的图表来显示个体线条;•用于灵敏度分析的数据列表;•条件分析(如果-怎样);•单变量求解;•最优化和目标区的规划求解;•使用模板来加快模型开发图3T的模型是在文件Features,xls中本章节中的每一局部都包含在这个模型里翻开文件并依次点击来浏览工作表的制作过程图3-1(原书第19页,图
3.1)图3-1是一个简单的净现值模型,这个模型把各期的现金流量以10%贴现率折现后相加在C14这个单元格中,净现值就是把折现后的现金流量相加得到的选择“工具
(1)〃,“选项(
①〃,“视图(丫)〃,你可以选择“视图(丫)〃中的“公式(£)〃这个选项能让你看到计算用的公式(见图3-2)你还可以同时按下“Ctrl+、〃在公式和通常的状态之间进行切换正如你o所看到的,它只是根据如下的现金流量的公式来计算净现值产”_一一Period_Factor=(]+10%图3-2(原书第19页fig.
3.2)图3-3显示了每个单元格的公式图3-3(原书第19页fig.
3.3)
3.
1、格式图3-4中的模型是将数据输入和公式计算混合在一起,因此我们的第一项工作就是对它的布局重新进行设计这包括:•插入边框线并移动输入;•根据输入的现金流量进行计算;•在可能检查输入值的地方做标签例如B9=C3;•用一个输入来更正所有的因素;•用不同的字体来做出区分现在,标题、输入、摘要和结果就用黑体字清楚地做出来了这个模型遵循了在图3—5中显示的布局图3-4(原书第20页fig.
3.4)图3-5(原书第20页fig.
3.5)
3.
2、数字格式多种数字格式同没有区分或是两种不同的小数点位数的设定是不一样的点击“格式
(0)”单元格(E)〃,“数字〃来改变默认的数字格式(见图3-6)图3-6(原书第22页fig.
3.6)你可以尝试一下自己定义不同的数字格式,正数、负数和零用半冒号来区分方格中用了多种颜色文字被引在双引号中,例如,年参加数字后格式为0“年〃你可以将你自定义的格式添加到格式框中也可以修改现有的格式(如图3—7)图3-7(原书第22页fig.
3.7)这个摘录说明这样的会计格式正数在左边而负数用红色加方框标出零是破折号这样的格式类型很容易被激光打印机识别,因为通常减号很难被识别为负数的标志会计格式类型:*#,[红色](#,##0)一*-〃二这样做的效果是控制数字视图中最多只有两个小数点位
3.
3、框线和边框框线和边框有助于打破单元格的编码,并能让模型不管是在窗口显示还是打印输出后看起来更吸引人最好将“格式(Q)〃保持可视,选择“视图(丫)〃,“工具栏(D〃,“格式〃来显示格式条(如图3—8所示)这就省去了每次都要到“格式(
①〃,“单元格(〃,“边框〃等地方去添加边框图3-8(原书第23页fig.
3.8)图3—9和图3—10显示的是如何通过应用工具包中的边框来突出单元格细线加在单元格的周围,用双框线显示总计图3-9(原书第24页fig.
3.9)图3-10(原书第24页fig.
3.9)
3.
4、颜色和图案颜色和图案的使用也可以被用来帮助定义输入和输出在图3-11中,非彩色用于表示输入,灰色表示答案这些颜色的使用是个性化的,但重要的是保持多种颜色和格式的一致性使用
3.
5、输入和结果的特殊颜色对输入值特别着色可有助于显示在哪里需要输入数据作者常常用蓝色表示输入,绿色或黑色表示总计,红色或黑色表示计算结果(如图3T2所示)颜色的使用应该保守一些,因为太过于炫耀的颜色会不合大多数人的口味图3-H(原书第25页fig.
3.11)图3-12(原书第25页fig.
3.12)对模型添加几种颜色之后,模型变得更加清晰,并且颜色的使用也迫使作者从一致性的角度考虑将输入放在一起现在的这个模型比原先的那个模型要有序的多,且更方便用户使用
3.
6、数据的有效性数据有效性的设置使你可以设定单元格数据的界限这样一来,如果你需要输入日期,那么用户只能输入日期,或者当你需要输入一列七个字的文本,用户也只有这么做才能继续往下进行有效性的设置可以通过选择主菜单栏的“数据
①)”,”有效性色)来设置(如图3—13所示)图3-13(原书第26页fig.
3.13)在这个例子中,最好对以下三个输入有个最小值的限制资本价值大于0的正数每期的现金流量大于0的正数贴现率o和1之间的正数,如100%这个对话框有三个标签,当鼠标指针靠近单元格时会出现输入信息若是错误的输入,会弹出出错警告的对话框你也可以通过不选中对话框来选择不显示输入信息(如图3—14所示)图3-14(原书第27页fig.
3.14)出错警告显示的是你输入了一个错误的数字,并且在你遵守了数据有效性条件后才能继续(如图3-15所示)这意味着资本价值应该而且只能是个正数图3-15(原书第27页fig.
3.15)由于每期的现金流量也符合同样的有效性约束条件,你可以选择“复制(c)〃,然后在“编辑(E)〃,“选择性粘贴(E)〃,“有效性〃来完成,而不用再一次的键入有效性约束条件图3-16(原书第27页fig.
3.16)最后的一个有效性条件只是简单的保证贴现率小于100%这样做是为了缩小输入的范围,也是为了让用户能得到正确的答案如果用户试图输入一个数值为120%的贴现率,那么将会出现如图3-17所示的那个错误信/息、o再次说明,这是从用户的角度来看模型的使用,并试图让用户知道什么是他要做的
3.
7、控制一一组合框和按钮更多的加速输入和帮助用户的操作可以在“视图(丫)〃,“工具栏(工)〃,“控件工具箱〃中找到在Assess或Visual Basic中都能找到类似的控制器在这个例子中,你可能希望用户输入一个在8%——12%之间的贴现率,并且每个数字之间间隔(步长)
0.5%这样的话我们就不可能利用数据的有效性来进行处理,必须另觅他途因为数据的有效性只是限定了数据的上下限图3-17(原书第28页fig.
3.17)第一步是先在工作表的底部开辟一块工作区域,然后通过剪切和粘贴将贴现率输入到区域中(如图3-18所示)这是为了确保在单元格C7中建立控制器的时候模型仍能正常工作图3-18(原书第29页fig.
3.17)工作区域显示了一个数值间隔,然后贴现率从8%开始并且每次都按步长值增加图3-19(原书第29页fig.
3.19)最终的工作区域将显示从8%到12%的贴现率(见图3—19)步长值并不是固定不变的,它取决于单元格C26的值由于这些是变量,而大多数的用户都不需要了解这些细节,所以我们把它们放置在独立的工作区域并清楚的标明组合框控制器中有八个可能的选择,它返回你所选择的序号它会把序号返回到单元格C27中点击“工具栏Q)〃中的“组合框〃按钮,你就可以在单元格中画出组合框你必须给控件确定从那里获取输入信息和在那里输出结果在图3-20中我们可以看出,贴现率的取值是在区域B28:B35,结果的输出是在单元格C27中图3-20(原书第30页fig.
3.20)最后一步是在显示贴现率的单元格C28和显示序号的单元格C27之间建立链接由于C28用于计算,需要将它的颜色改成红色以免混淆函数“OFFSET”可完成这个功能,你可以在“插入)〃,“函数(或〃,“查找与引用〃找到它(如图3—21所示)图3-21(原书第31页fig.
3.21)通过这个函数,你可以先定义一个起始数值,然后向下移动X行向左右移动Y歹U,最后得到另一个数值在这个例子中,起始数值定义为单元格B27的值,并且向下移动的行数为单元格C27的值,没有左右移动最终得到控制器所需要的数值用作贴现率进行现值的计算这个组合框可以控制用户的输入,并且使得对单个贴现率的选择更加迅速(见图3-23)o特别需要说明的是,用户仍然可以在B
27、C
26、C27中输入数据这个组合框运行一个宏或依照程序更新单元格的数据,但这并没有受到保护在工具栏中同样还有其他的控制器能使你的输入更直观比方说,数据调节器和滚动条就可以使你只通过点击就能够增加数值,并且还可以根据具体输入变动的间隔需要来设置点击移动的间隔图3-23(原书第32页fig.
3.23)工作表SpinnejScrollbar中应用了这两种控制器进行了替换操作在那里,你可以选择一个最大值、最小值和增加值这种操作会有一点点的复杂,原因是这个控制器没有分数因此你就不得不从滚动条的位置来计算一下具体可能的贴现率在图3-24中的滚动条的作用是取从1到8的数值并且以一个单位递增滚动条连接的单元格是C26,在单元格C27中的函数“OFFSET”用的是选择的序号图3-24(原书第33页fig.
3.24)
3.
8、条件格式条件格式可以使我们根据单元格的不同数值进行不同的单元格显示这里的不同指的是字体、边框和图案的不同在这个例子中,我们将会引入一个很有用的操作试验来说明如果如何根据工程的成功与否来相应地显示结果在图3-25中有一个新的单元格C7,它定义了进行操作性试验所需要的最低的净现值7,OOOo用格式按钮来设置格式,使得当现值大于或是等于单元格C7的值时,显示粉色试验的结果在图3—26中展示,在图中可以看出
9.5%的贴现率能使工程到达目标图3-25(原书第34页fig.
3.25)图3-26(原书第34页fig.
3.26)你还可以通过点击“添加)〃键,并且选择“编辑(E)〃,“选择性粘贴
⑤)〃,“格式〃来复制,以便添加更多的格式
3.
9、函数的使用以及各种类型的函数在模型中已经使用了函数“OFFSET;但是,利用NPV公式会使净现值的计算变得更为简单现在,从单元格C17到H19这个区域中的单元格都已经被直接赋值,这也就意味着可能会有12处错误存在使用公式的目的就是为了减少直接赋值以便减少潜在的错误这种利用Excel的解决方法比查贴现率表的方法要便利多了你可以在主菜单栏选择“插入)〃,“函数(£)〃,或者从标准的工具栏中找到所用函数函数被划分成几个局部以便查找选择财务函数并找到NPV(见图3—27)图3-27(原书第35页fig.
3.27)净现值公式可将每期的现金流贴现然后要做的就是选择『5年并从0期开始添加各期的现金流量,再利用公式进行计算=NPV(C25,D15:H15)+C15根据这个公式可以得到贴现率为
9.5%时正确的答案是7,
511.85o注意到现在的工作表在进行了必要的删减后已经变得更简洁了你总是可以通过点击问号标示(如图3—28所示)来获取关于公式的帮助信息你也可以通过选择查看来浏览一些替代公式的列表图3-28(原书第36页fig.
3.28)
3.
10.加载宏以便获得更多的功能对Excel的典型安装只包含了根本的函数公式但是除此之外,还有大量的公式可供使用例如,NPV函数假定每一期包含同样的日数XNPV函数则允许你输入现金流实现的日期(在第19章中讨论的估价模型就是用到了这一函数)选择“工具(工)〃,“加载宏…〃,“分析工具库〃,确定你已经可以使用扩展函数选择此选项并选•对特定环节的检验或其他替代方法之间具有灵活性1995年,微软在Apple Macintosh引入了Excel并在20世纪80年代后期将它扩展到个人电脑上Windows
3.0版本引入包含了Excel的0ffice95,随着它的快速增长,Excel成为了工作表操作软件中的领头羊,被大多数个人电脑用户所使用在成功开发0ffice97和0ffice2000后,微软在这一领域的占有率又被大大增强
1.
3.工作表的功能Excel包含于微软工具包之中说明它现在是一种公认的标准,就如同人们把Word作为文字处理的标准格式一样伴随着以下功能的参加,它的工作表的功能不断的加强•专业的函数;•大量使得工作表自动化的宏程序的使用,或者说用编码进行公式编辑功能的使用;•工作簿技术的使用,省去了单个工作表之间的联系的建立;•对Visual Basic的使用提供了一种与微软其他应用程序之间通用的语言;•同其他应用软件之间的数据交换功能;•添加例如关于目标区和最优化问题的规划求解模型;•三局部分析包,如财务CAD,@RISK orCrystal Ball今天对这种复杂分析软件包使用的结果是使得那些非专业程序员也能设计并建立起一套专业的解决商业问题的应用程序Excel也是这样一种分析软件包大局部人在他们需要解决一个商业问题的时候都会使用它作者曾经有一个这样的经历,需要对一个工程的租赁可盈利性进行研究,并要编写一个模型来考察不同的基金组合决策在消耗了大量的时间和精力后,这个模型终于成功运行并给出了一个答案但是,这个答案很不清楚而且也不方便其他人去理解这里并没有模型设计的方法论,而模型真的就那样“蹦出来了〃许多公司或学院很少会提供如何使用Excel来处理财务问题的指导,这对于大多数的管理者来说是司空见惯的了这种做法的后果是许多模型建立都很少或者根本就不考虑模型的设计和模型未来的维护更进一步地说,据估计很多商业上正在使用的模型本身都存在着严重的错误用Visual Basic和C++来编写应用程序是为IT部门进行设计提供的但是,通常情况下,Excel并不受这些影响因素的制约这可能并不总是个问题,但是,一个预算模型可能成为财务管理者自己的“宠物设计〃,而他可能会在此后离开这家公司或者可能被提升到新加坡去了在文件里当然不会有注释,这样,就再没人能了解这个模型是如何工作的人们经常说信息就是力量,但是因为这些管理者常常不能将他们的工作充分的备案,所以导致公司在模型的审核和错误的查找上不得不花费大量的金钱这样看来,Excel的简洁可能也成为了它的一个弱点作者强调Excel的使用者应该按照简单设计的步骤择“确定〃进行安装这样一来,这些函数在你每次翻开Excel后都能使用如果没有“加载宏…〃选项,那么你就需要重装一下Excel了图3—29中显示的工作表运用了XNPV函数和EDATE函数EDATE函数是一个日期函数,它的功能是每次将事先确定的日期增加或减少若干个月你先提供一个起始日期然后通过调用函数可以将时间提前或推后若干个月由于提前或推后的步长是可以变动的,因此在输入区域中又有了一个新的控制它在单元格D13:H13中确定函数需要的起始月份,并指向函数的结果再次输入初始的现金流得到的结果是7,
502.58,与原来的结果7,
511.85有所不同图3-29(原书第37页fig.
3.29)
3.
11、文本框和更新标签你可以进一步增加模型的明晰性,方法是通过建立标签进行更新,以及在结果上提供一些文字说明如果净现值在底线之上,你就应该建立一个标签来通知用户在文件Feature.xls中的工作表Text就提供了两种改良方法•在标签上显示贴现率•反应计算后的净现值现在单元格B20有一个更新标签Text函数将数字转化为文本并保存原来的格式这将显示百分比到小数点后两位;“〃用来连接文本串二〃NPV at〃TEXT(C31,〃
0.00%〃)反应用一个IF函数来管理,以便显示结果在底线之上或之下时的文字串为了减少代码,IF中的文本陈述将由净现值决定二〃NPV isz,IF(C20X7,above,below),z thelimit of〃TEXT(C7,〃#,##0〃)现在工作表能告诉用户所用的贴现率并对结果进行说明(见图3-30)Excel将根据结果做出决定,而无需用o户再花时间去比照结果图3-30(原书第38页fig.
3.30)
3.
12.记录版本序号、作者等正如在前面的章节中提到的那样,给模型备案是模型的一局部在复杂的模型中,我们需要记录模型的版本序号、作者姓名和与模型运行有关的说明文字在模型建立一段时间后,你可以比照并记录不同版本之间的差异如果你要防止重大的错误,这样做是特别重要的另外,版本序号会出现在你打印的每一张工作表的顶部(见图3—31o图3-31(原书第39页fig.
3.31)这局部同样也适用于给页面附图片和文字说明将文字说明写入模型自然是有益的,你也可以通过选择“格式(⑴〃,“工作表国)〃,“隐藏国)〃来隐藏一个工作表
3.
13.使用名称让公式更易理解名称可以使公式更便于理解例如,不用C28而使用Periodic cashflow就如上图3—31中的oVersion.Author等,他们使你的模型更加标准,如二Version”表示插入版本序号本书里的文件用了很多这种标准的名称,例如:Authors CompanyVersion和Product你可以在“插入)〃,“名称(N)〃,“定义(D)〃来定义名称,或者在Excel里用标签在选中的单元格区域的一侧建立多个名称(见图3—32),通过“插入)〃,“名称(N)〃,“指定(〃完成图3-32(原书第39页fig.
3.32)这里指定名称在左边的栏中,如Start_date(见图3—33)图3-33(原书第40页fig.
3.33)现在函数就很容易理解了,因为它利用了在单元格C20中的各期利率=XNPV(Int_Rate,C18:II18,C13:II13)如果你复制一个包含名字的工作表,同时新的工作表也会继续引用原来的工作表简单说,如果你将一个工作表复制到一个新的工作簿,Excel会在这两个工作簿之间建立连接你可以通过选择“编辑〃「链接(K)〃来检查如果不是这样的话,你就不得不通过手动来移动并重新输入单元格的公式图3-34(原书第40页fig.
3.34)
3.
14.粘贴名称列表作为备案的一局部粘贴名称列表作为备案的一局部是很有用的,因为它给日后的审核提供了一种线索你通过选择“插入
①〃,名称⑻〃,“粘贴(E)〃,“粘贴列表
⑤〃来完成
3.
15、批注附批注的单元格是给单元格附上批注,以便提供背景信息或帮助用户使用到“插入Q)〃“批注(此〃,或右单击单元格,输入文本信息然后设置字体大小和颜色(见图3—35)图3-35(原书第41页fig.
3.35)图3-36(原书第41页fig.
3.36)你还可以控制批注显示的方式,方法是点击“工具(工)〃,“选项()〃,“视图(丫)〃(见图3—36)你可以关掉它们,显示标识符或使批注始终可视在第二种情况下,单元格的右上方拐角会有一个红色的小三角再次强调,批注可以帮助说明重要的公式或者将指导用户如何操作例如,人们通常用数字来表示百分比,然后需要再除以100o一个关于这种格式的批注可以告诉用户需要插入的是数字而不是百分数
3.
16、图表图表在管理报告和在向用户显示重要的结果的时候是很有帮助的在此例中,现在我们就来添加一个累计现金流量的图表并设置它的图案你可以用在标准工具栏上的图表向导,或者选择“插入豆)〃,“图表也)〃来完成(见图3—37)o图3-37(原书第42页fig.
3.37)这里只需要画一个单序列的图表,因此用柱形图就可以清晰地表示第二步,选择序列标签而不是数据区域标签(见图3—38)然后点击添加序列来添加序列的名称、数值和标签图3-38(原书第43页fig.
3.38)这个图显示的是累积的现金流量值和相应的X轴的日期(见图3—39)这个图表的名称编码为Graphics!$C$13:$H$13点击“下一步〃,图表的标题和坐标轴的标题就会显示出来Excel不会让你输入一个参照的单元格作为标题,但是你可以在完成向导后做到图3-39(原书第43页fig.
3.39)右键单击X轴,可以更改显示的格式图表的标题输入=Graphics!$B$20,这样它可以自我更新这样做是很重要的,因为我们并不希望这个标签固定回收期是一种没有考虑货币的时间价值的投资评价方法实际上就是考察将用多长时间才能收回自己投资在工程的资金最终的图表(见图3—40)清楚的显示了这种回收会在第四年图3-40(原书第44页fig.
3.40)
3.
17、动态图表来绘制单个序列简单的图表是很有用,但是,一个动态的图表能使你考察任何一行数据这里,我们虽然给出的是个很简单的例子,但这种方法却对于考察现金流的单个序列或者是对公司分析很有帮助具体的步骤如下•建立一个组合框,输入单个的序列并且将它和单元格连接以便及时更新•运用OFFSET函数,根据控制器中与单元格的联系来查找相关的序列OFFSET函数从14行开始,向下移动的数值为单元格F25的值•指出图表的查找序列,确保序列的名称和图表的名称没有固定序列的名称是单元格B27的值,这样确保自我更新B27中的公式是=0FFSET(C14,$F$25,0)图3-41(原书第45页fig.
3.41)图3-41显示了组合框和由每一个可以利用的行做的图表在光盘里,还有一个文件名为Dynamic_Graph,它集合了数字表格、组合框和OFFSET函数以及一张图表来演示这一结果(见图3—42)图3-42(原书第45页fig.
3.42)
3.
18、数据模拟运算表到目前为止,这个模型已经得出了一个单一变量数值的答案资本和现金流以
9.5%的贴现率贴现得出净现值如果你能将由一组贴现率求得的净现值同时显示在一张工作表中,这个模型的功能还会变得更加强大这样的结果可以由数组函数TABLE实现这个函数在工具栏”数据
①)〃,“模拟运算表
(1)〃可以找到具体步骤为•设定一个包含了间隔数值即步长值的框(数值框)作为输入;•输入函数;•作图显示结果动态图表已经被转移到了下一张工作表Data_Tables中了,这样就给数据表和灵敏度分析表(见图3—43)腾出了空间建立一个数据框输入间隔数值,并且在29列输入贴现率
9.5%的贴现率是绝对值,输入数值用蓝色标出在它任何一边的单元格的值都加上或者减去这个间隔数值单元格B30查找C22中的答案当完成数据模拟运算表之后,它将会显示对应每个利息率的净现值图3-43(原书第46页fig.
3.43)下一个步骤是突出数据域,并把它输入到模拟运算表中(见图3—44)图3-44(原书第47页fig.
3.44)在这个临时版本中,单元格C81是从组合框中得到的每期贴现率Excel在数值框中插入数字,我们可以看到当贴现率为
9.5%时答案是7,
502.58o这显示了最终结果对贴现率变化的敏感度情况模拟运算表是一个数组函数,这就意味着你不能够改变数据源组中的单个单元格如果你改变了C31:II31中的任意一个单元格,你将会得到错误的信息类似的,如果你复制一个模拟运算表到另外的工作表中,也只有数字能被粘贴你必须在新的工作表中重新编写数据框,并重新进行模拟运算表操作这个例子不是想要建立更多的图表,而只是利用了现有的动态图表,并且在第31行增加了数据(见图3-45)31O行是对原始结果的一个简单的方差相比较而言,Offset函数仅仅需要行来建立一个参照,并不需要变化其他的程序模拟运算表能进行如上介绍的单量纲分析,也能进行双量纲分析模型中常常会用到双量纲的变量,这种方法能使你更能灵活分析各个变量用数据框来建立模拟运算表是很重要的,要注意防止让间隔数值固定这样你就可以很迅速地改变间隔数值并制作不同的间隔数值的工作表另外,最好是将作方差分析的值放在中间,这样便于你观察它左右两边的数值本书中的实际操作中,很多是运用宏来从输入区中复制数值,以及更新模拟运算表中的数值图3-45(原书第48页fig.
3.45)
3.
19.方案如果这个简单的工程中存在多种版本,那么要在此基础上再建立一个多重的工作表是会非常浪费时间而且可能产生错误相似的工作表在一段时间后常常会被抛弃,这样对于日后的维护造成很大的困难方案提供了一个简单的方法来记录输入,使得你可以在任何时候再次载入而且作为一个额外的奖励,Excel将根据方案给出管理报告方案在“工具(I)〃,“方案(E)〃,“添加(A)〃中可以找到(见图3—46)有一些方案保存在工作表Scenarios中图3-46(原书第49页fig.
3.46)你可以选择多个单元格,单元格之间用逗号隔开当你选中这些单元格后,Excel会在你保存之前检查每个单元格在工作表中还有更多的例子,例子的名称为“best〃和“worst这些例子只是改变了资本数值和每期的现金流量数值选择“工具(工)〃,“方案克)〃,“总结(U)〃,并且选择单元格C22和E22作为结果的输出单元格,Excel会提供管理报告(如图3-47所示)不急于直接设计复杂的方案,而是从基础例子开始并变动例子中的输入是比较好的方法这里的例子Worst和Best只是变动了原始方案中的两个单元格因此可以很清楚地看到在初始的估计中哪些值发生了变化图3-47(原书第48页fig.
3.45)在这个工作表中,只对一个单元格命名Scenarios!$C$22,这在第17行中作为一个名称显示出来而不是一个参照的单元格这是一个静态的数值或者说只是一个用作报告的数值,他们不会随变量的变化而变化如果模型发生了变化,你就不得不重新给出报告他们也充当了提供审计线索的角色,因为你可以将这些打印出来,保存在档案中以显示什么样的输入产生了这样的结果
3.
20、单变量求解数据模拟运算表和方案产生了管理信息,并使得模型的功能更加强大,同时它防止将许多数值硬编码而得出答案单变量求解可以有助于求解“如果-怎样〃的条件问题,即从结果反推并改变一个变量假设你想要知道什么样的每期现金流量可以到达净现值8,000,不用在单元格C6中输入数字,你可以选择“工具(工)〃,“单变量求解(G)〃来完成(见图3—48)图3-48(原书第51页fig.
3.48)参数的设定是从单元格X到单元格Y,变化Z这个变化只能是一个参数一次,它通过反推结果并得到正确的输入在工作表Goalseek的例子中,Excel设定了变化每期的现金流量得到的结果是8,000根据运算得出结果为
28129.5568837666这里并没有对运算进行任何限制条件,Excel可以在运行一段时间后或没有找到设定数值范围内的结果时显示错误利用限制条件,比方要求得出的结果是正数,是不可能实现的对于有规则和限制条件的问题,你需要使用规划求解
3.
21.规划求解规划求解是单变量求解的一种高级形式,因为你可以通过按照条件改变多个单元格以实现最优化或找到这个数值规划求解是Excel的一个扩展功能,它在安装Excel的同时安装选择“工具(工)〃,“规划求解(丫)〃如果没有“规划求解〃这一项,你可以检查一下在“工具(I)〃,“加载宏(…〃中,规划求解(丫)〃是否已经选中如果还没有找到,重新安装Excel,并选择此项规划求解使得通过结果反推原因成为可能,这包括•最小值•最大值•特殊值在这个例子中,管理者想要了解净现值为8000是否可能,如果•资本价值大于或等于98500•每期的现金流量少于或等于28500选择工作表Solver,其中的例子可以通过“工具(工)〃,“规划求解(丫)〃来完成当你选择规划求解的时候,Excel建立起一个问题并试着解决它如果不能得到解决会出现错误信息在这个例子里,在上面设定的条件下得到答案是
99968.399501745和
28121.3262540137c通常的好方法是先让问题存在,然后来约束参数这样就可以让你知道哪些约束是不能让规划求解得出到答案的在你选择结果对话框中的选项时,规划求解也能产生一个管理报告(如图3—50所示)图3-49(原书第52页fig.
3.49)图3-50(原书第52页fig.
3.49)这个管理报告显示了结果在一定范围内的收缩度当模型停在
99968.40时Z98000中的
1968.40是不需要的将每一个答案都以方案的形式储存是有好处的,因为在这里按不同的输入有五个不同的结果你可以在工作表Solver中看到所有的方案(见图3—51)图3-51(原书第53页fig.
3.51)
3.
22、模板的使用本章中许多的特征和格式都可以在模板中包含对于每一个新工程我们都从零做起是很浪费时间的,因此建立一个不同模板的库对我们很有利在光盘上命名为App_Template的文件里的模板包含了一个菜单结构和许多根本的宏,可自动执行任务,例如建立一个打印的工作表并进行根本的格式化它包括了下面的几个工作表:•一个包含有组合框的菜单用来选择工作表,当你添加和删除工作表的时候链接着组合框的宏能进行自我更新(获取工作表的名称)•一个模型,有特别的区域将方案和单变量求解合并在一起•一个方案安排•一个注释工作表为模型的备案做准备•一张备用工作表这里还有一系列的安装宏;在表3—1中列出了一些例子安装宏宏的名称描述AutoOpen建立每一个工作表到单元格A2和工作表Menu的连接GetsheetNames在工作表Menu中的单元格B51中列出工作表的名称GetScenarioNames在工作表Model中列出当前方案的名称Goalseek在工作表Model中关于单变量求解的例如OpenExportForm在你选择的工作表中翻开表格Export它输出的数值只是一个复件NoticeShow显示表格NoticeFormShow显小表格ExportCopytoNewBook将工作表中的数值复制到新的工作簿中CopySheet有用复制数值的循环建立一个工作表MenuSetupMenu全屏显示FullScreen自动计算AutoCalculation手动计算ManualCalculation建立一个标准的模型,有标题、表框和数字格式等这也准备打印的SetUpColumns_Sheet工作表,有标准的页眉页脚有用的SetUpColumns Sheet循环SetUpSheet不需要密码来移动框线、行号列标,保护工作表和工作簿Protect_NoPassWord与上一个宏相反的操作Unprotect_NoPassWord运用模板可以加快模型的建立,并且减少用标准化设计时可能出现的错误本书中已经建立的模型都用了模板作为一个例子,模型Features Application包含了一个完整的版本它包含了在本章中讨论过的所有特征类似的,如果你将你的计算分解成若干个局部,你将会用到一批这样的编码例如,你制作了一个用来计算英国和美国的税收津贴的数据框下一次你再需要的时候,你可以复制和粘贴这些编码,而不需要重新再制作一次你只需要更新一下参照,并用的数据检验一下即可然后你可以建立新的操作需要使用的编码和公式在图3—52中显示的Features Application模型包括了•选择其他方案安排的菜单;•有现金流和方案分析的模型;•方案摘要;•规划求解报告;•注释;•备用页图3-52(原书第55页fig.
3.52)•择“工具(I)〃,“选项()〃,“视图〃,移除框线、行号列标现在的这个模型布局比在图3—53中显示的原始工作表格更容易理解了利用宏Protect_NoPassWord,对模型进行保护,以防止对单元格的意外覆写这个保护也很容易被解除,利用宏Unprotect_NoPassWordo为了分类,密码可以用这样的语句来添加到宏中strPassword=AAAA”ActiveSheet.Protect Password:二strPasswordActiveWorkbook.Protect Password:=strPassword图3-53(原书第56页fig.
3.53)
3.
23、小结本章主要介绍了利用Excel做出的更清晰和更容易维护的模型的特征并介绍了如何把不同的特征结合在一起使用虽然NPV的例子比较简单,但是它只是一个工具,用来展示这种类型的模型制作的层次和开展过程本章讨论的模型特征有•格式;•数字格式;•框线和边框;•颜色和图案;•给输入和结果特别着色;•数据有效性;•控件一一组合框和按钮;•条件格式化;•函数运用及函数类型;•加载宏增加更多的财务功能;•文本框和更新标签;•记录版本序号、作者等;•运用名称使公式更简单;•将名称列表作为备案的一局部;•单元格批注;•图表;•动态图表显示个体线条;•数据模拟运算表;•方案;•单变量求解;•规划求解;•利用模板和重复使用编码第章模型样本4在第一章中我们考察了一个简单的模型设计方法,并且列出了这种设计方法的种种弊端在这一局部我们再次引入这个模型Simple_model.xls,并运用我们在第二章和第三章中介绍的方法来对它重新设计再次强调的是,我们很希望使用统一的设计方法,因为这样可以减少不确定性和错误,并且可以使我们的成果更容易让其他人理解和使用最后设计好的模型命名为Investment_Model.xls那个原始的模型在图
4.1中显示进行,并且注意对于操作模型相关背景信息提供的必要性在这样的方法的指导下,现在你在方案上花的时间将从长远来说为您提供超额收益•可操作性和使用轻松;•可维护性;•对于答案和结果的信心在接下来的章节里,我们将会详细地说明如何综合运用Excel模型,来制作功能更强大、更有活力的工作表
1.
4、本书的目标本书的目标就是展示一系列的Excel在财务建模方面的应用这一系列的应用出自于一位致力于将公司财务理论应用于工作表中长达10年之久的非程序编写员建模需要了解如何用Excel建立模型,并且将财务知识和设计与Excel结合在一起,特别是•设计方法和设计过程;•怎样将设计想法变成应用中的模型;•改良现有模型的有用技术;•使简单的模型更有用、更可靠;•如何参加风险分析技术;•利用最优化和目标策略;•将所用的技术结合成一个标准和模板操作者们需要将对工作表技术作为核心技能来理解现在的公司掌握着越来越多的数据而且需要用一些低水平的简单分析工具通过建立模型,操作者可以更好地了解•单个变量如何变动;•怎样去找出应该包含在计算中的新变量;•怎样别离出对未来测试的关键变量;•如何通过方案测试和案例分析来防止代价昂贵的错误举一个例子,通过对某些会计模型的替换而建立的简单的外包模型可能显示一个正的净现金流量一个正确建立的模型不仅能找到答案,而且能•列出所有的规则和输入;•提供基于不同参数值的一系列结果;•提供关键变量的图表,用来显示它们对于其他变量变动的弹性;•列出风险和不确定性的水平;图4一1(第58页fig.
4.l)
4.
1、目标和目的我们的目的是要制作一个工作表模型来清楚地显示计算净现值的各个变量,并且得出正确的答案我们的目标是•简明;•便于使用;•便于维护和修改;•尽可能的减少编码;•简明的管理报告文件Investment_Model从引用模板文件App_Template.xlt开始这个模板包括根本的设计、格式、宏和其他有用的工具这样引用的目的是为了节省时间并采用的统一的结构
4.
2、用户需求和用户界面用户需要了解要做什么当他翻开文件的时候,宏Auto_Open自动运行如果你调用这样一个宏,它会在你每次翻开文件的时候自动运行类似的,宏Auto_Close会在你关闭文件的时候运行这个宏的作用是•计算工作簿中的工作表的数目,并在每个工作表的顶部A2单元格中显示•选择第一张工作表,在这里面有菜单(见图4一2)在菜单上会有一块地方用来写入操作的说明用户可以使用控制器来选定工作表,在控制器上会链接一个宏用来翻开选中的工作表控制器的成果显示在可视范围外的第50行选中的模型工作表显示的是标准的设计输入、计算、结果、管理小结和成果这与其他的模型是一致的,也是用户期待的格式输入区域在左上角,这是符合逻辑的位置随着输入的变化,小结随之更新,并保存在当前页面的底部对话框使用了一组特征,例如边框、颜色等,这些使得对话框更为吸引人输入数据的单元格的格式是蓝色加粗,用来提示用户在哪里输入数据,然后进行下一步这就使得工作表在数据输入方面变得更加符合逻辑图4-2(第60页fig.
4.2)
4.
3、关键变量及其规则原始的工作表是一一输入数据,而修改后的工作表中列出了所有可能的变量(见图4—3)图4-3(第60页fig.
4.3)原始模型中的第8行和第9行显示了管理费用的变化,修改后的模型是在第9行和第10行显示类似的,生产时间在第3年减少,而这在原始的模型中是确定值这些工程都被放在一起,这样用户可以了解此处的一个更改将涉及整个模型为简单起见,假设税费推迟为一年但从严格意义上讲,这也是个变量设备折旧税从第2年起征收,金额为750,000这个计算是依照英国的计算方法,结果显示在工作表的底部(见图4—4)折旧额是按平衡的25%计算,如第一年的折旧额为750,000的25%(折旧额的计算方法会在第17章详细讨论)图4-4(第61页fig.
4.4)这是修正后的表格750,000的25%是187,500,按30%的税率计算的税费现金流出是56,250下一年折旧额是562,500的25%在工作表的底部,有一个计算检验用来确保累计总额为资本价值的30机在单元格B84中的公式为二IF(F115〈〉D6*D13,“ERROR:Tax doesnot addup tocapital*tax”,^Calculation Check:No taxdepreciationerrors/7)这个IF语句用来确保模型的自我检查,使Excel能给出尽可能多的决策(见图4—5)另外的一个特征是为现金流做出标志如果考虑将现金的流出记为负数,现金的流入为正数,那么错误将会减少在这个例子里,折旧额在工作表中是负值;但是,支出节省的税额为正值图4-5(第62页fig.
4.5)仔细分析问题,并检查是否别离出所有可能的变量,这么做有助于理解实际问题和模型设计的过程在这个例子中,为什么储蓄和管理费用的减少在随后的年份中降低?是否还有其他的因素没有被包括在其中?原始的例子中只是输入了数字并没有给出任何解释随着这一组输入的引入,将会有更大的空间来进行模型的灵敏度分析或者运行一系列的方案
4.
4、分解计算为若干个可管理的群组模型运用工作表中的区域来描绘:•输入;•计算;•结果输出;•灵敏度分析表;•管理小结;•工作方式计算区域从输入单元格中获取数据•,信息按逻辑顺序传递经过模型计算最终得到结果,并在底部显示颜色、格式和边框的使用能够确保被黑白激光打印机打印出来后可识别
4.
5、建立个体模板在计算区域的程序要保持尽可能的简单,而且税额支出的计算要在工作表中分开显示(如图4一6)这样便于用计算器审核和检查有没有计算错误类似的,作者不打算用一行来对整个税额进行计算设备折旧额在第29行,维持性税额支付和本钱节省在第30行图4-6(第63页fig.
4.6)这里还有一行用来显示税前和税后现金流,这样当公司没有税额支付的时候你可以检查结果再次,这样做是为了让模型尽可能的灵活,并且提供一个总数可以用计算器来检查单元格B33包含了一个NPV函数,它是对1-6年的现金流进行贴现并加上初始的支出=NPV(D17,E31:J31)+D31这里有一个操作性的检验来判断答案是否大于最小值5,000,并且为了完整性还有一个使用IRR函数计算的内部收益率
4.
6、菜单结构模型使用了像操作模板那样的简单菜单结构在组合框上链接着宏,运行的是宏GetSheetNames,它的功能是•计算在工作簿中工作表的数目;•获取每张工作表的名称;•去掉一行,在50行生成一张表格;•当它获取了全部工作表的数目之后停止这个过程;•找出单元格C50的控制器中选择的工作表的索引这是在文件Menu_Structure中安置在组合框上的菜单宏,它可以使上面的步骤简化编码在应用模板中,你可以在自己的工作中应用下面的这个宏是•给变量IndexNumber分配数值;•选择工作表1,即菜单工作表;•选择由组合框返回的工作表编号Sub SelectSheet()Dim IndexNumberIndexNumber=Rangec30〃+1Worksheets
1.SelectRangeA
2.SelectEnd Sub
4.
7、程序工作表和宏自动运行像“打印预览〃这样的简单程序是很有用的这里并不是要写关于VB的编程工具书,你可以记录一些简单的宏通过“视图(丫)〃,“工具栏
(1)〃,“窗体〃,插入一个按钮然后给按钮添加宏记录“打印预览〃宏的步骤如下(如图
4.7所示)•通过“工具(I)〃,〃宏⑭〃」录制新的宏®…〃;•给宏命名;•记录关键局部,在这里只是〃打印预览〃;•按下“停止〃录制的按钮来关闭录制;•转到“视图(丫)〃,“工具栏(I)〃,〃窗体〃;•按下按钮然后在工作表上绘制一个按钮;•当需要输入宏的名称的时候,选择PrintPreview或你自己取的名字;•按钮做好后更新文木框,你可以右键单击随时更新按钮图4-7(第64页fig.
4.7)这样每次你按下按钮的时候就会自动执行宏这些命令在主工具栏上也可使用,这样更便于用户找到要点击的按钮在随后的章节中,将会有更多的关于宏的例子
4.
8、用户帮助用户帮助提供•命令单元格;•数据有效性命令和指导在输入区域中(见图4-8),用来提示用户需要什么图4-8(第65页fig.
4.8)在单元格D13到D15中的百分比添加了有效性限制,来确保输入的数值小于1或100%(见图4-9)o图4-9(第66页fig.
4.9)
4.
9、管理报告和小结这里是一个非常简单的例子然而,对于用户来说,小结的及时可视性很重要在顶部的小结显示了输入发生变化时的及时反应(见图4—10)条件格式化常常用来检验结果是否是管理者可以接受的字符串用来根据输入更新标签,用户可以在测试失败的地方马上看到那里的单元格呈现深红色04-10(第66页fig.
4.10)在大一些的模型中,管理小结通常被放在另外独立的工作表中显示例如,在会计分析中,小结需要结合损益表、资产负债表和现金流量表和比例分析
4.
10、风险和多种结果在模型里包含一个在一组贴现率基础上的净现值灵敏度分析表(见图4-ll)o打印时将灵敏度分析的细节放在第2页中,在第1页的标题行会在第2页上重复显示图4-11(第67页在正确的计算税额支出的基础上,得出的净现值是T06,716而不是5,411这时,单元格D102就不得不根据单元格D6进行更新正如在第3章中讲到的那样,设置单独的数据框对于数据模拟运算表来说是很重要的•单元格B43指向NPV单元格,这个数组函数可以在数据菜单下的数据模拟运算表找到•间隔数值用来更新贴现值所在行•当前的贴现率放在中间选择区域B42:J43并插入函数输入所在的行是单元格D17,而且由于这是一个单量纲的数据表,所以没有输入列Excel为每一个贴现率都插入一个净现值这个数据表显示的是结果相对于贴现率变化的敏感性一个辅助图表中图形的斜率可以用来显示变化幅度这里还有一个双量纲的数据表,横轴是贴现率的变化,纵轴是随时间变化的产出量这里的格式稍微有些不同,见图4—12o04-12(第68页fig.
4.12)单元格B70在表格的左上角查找净现值数据表中在左上角的数值取决于间隔数值,大小不固定注意到每个轴的输入都是绝对数,否则这个数据表将不起作用选择整个区域B70:J75,点击〃数据
①)〃,〃模拟运算表豆)〃,再次插入数据模拟运算表这里的两个输入单元格为输入行值的单元格D17;输入列值的单元格DllExcel将数据填满数据框,并且为用户灵活地提供关于模型的多种答案图形有助于结果的显示在图4—13中,上面的、中间的和下面的线条都是由表格添加的序列的名称是左面的标签图4-13(第69页fig.
4.13)条件格式化用来突出中间的答案如果结果是可视的,我们对数据表的功能的正确性更有信心这可以通过选择结果区域(C71J75),并且通过〃格式(⑴〃,〃条件格式()〃来完成(见图4—14)图4T4(第69页fig.
4.14)如果数值等于单元格B70中的结果,那么数据表中的格式就变为上面图中显示的那样知道答案在中间,你就要考虑结果单元格的格式和他周围的数值给定模型只是考虑可能的现金流量,灵敏度测试局部显示了最终的结果有多大的可能性在一个范围内在这里,你可以将区域E72:G74作为可能的范围另一种方法是对模型中的风险因素进行考虑为了将结果保持在中间,在顶部有一个链接着宏UpdateTable的按钮这个宏的功能是选取单元格D17中的数值并且将数值粘贴到区域F42:F70中然后复制单元格D11并粘贴到单元格B73中B局部的第16章描述了在操作中评价不确定性程度或风险的其他技术
4.
11.测试和故障排除有许多的技术可以用来检查模型的结构错误和计算错误到目前为止涉及的有•输入和计算的分区设计方法;•别离出结果区域;•保持单个单元格尽可能简单的编码;•自测,例如,在Investment Model中单元格B16的计算显示检查没有折旧税错误再一个例子是确保资产负债表在每一侧都加总下面将详细说明其他的方法,这些方法可以参加到Excel的其他特征中对每一个输入单元格输入数据这一过程在第一章中提到的简单模型(Simple_Model.xls)中是不可能办到的,因为没有对输入定义使得我们难以检查在现在的模型中,在每一个输入都有数据;但是,观察当异常数据输入时,模型发生的变化总是会有好处的我们不能认为用户总是会按照向导使用模型像数据的有效性这样的技术显然是来帮助防止“输入垃圾然后再输出‘垃圾〃图表或数据看起来正确在投资模型中,关于第二个敏感性分析表的图形正如预期的那样没有弯曲如果序列的图像是曲线那么就意味着计算有错误人们通常对图形的理解要好于对数字的理解,因此利用图形能更快速地检查出错误所在公式审核工具栏公式审核工具栏可以通过菜单栏〃工具(D〃,〃审核
①)〃,〃显示‘审核工具栏(S)〃显示(见图4-15)这个例子在文件Simple_Model.xls中,这个模型在第一章中曾被引用在这个模型中有很多错误,这些错误都可o以用简单的工具找出你可以运用公式审核追踪引用单元格和附属单元格(见图4—16)在第10行的税额支出说明了在单元格G10和H10存在错误,因为在这里没有引用单元格这个单元格的公式被数字覆写了单元格F10从上面的本钱和节约以及下面的表格中的折旧税中获取数据04-15(第71页fig.
4.15)图4-16(第72页fig.
4.16)图案搭配图案搭配使你可以寻找常数、公式、行列等在上面的例子中,这样可以找出计算中的错误选择区域E10:K15,然后通过〃编辑定位()〃,〃定位条件
⑤)〃来显示图4—17中的对话框图4-17(第72页fig.
4.17)如果你强调公式,Excel将显示公式你会看到在第10行中都是公式,这些公式是用来支持年税额支出的计算(见图4—18)图4一18(第73页fig.
4.18)公式视图公式视图显示所用的公式,如果单元格里是常数,则不变你可以通过〃工具(D〃,〃选项()〃,〃视图(丫)〃选择〃公式(R)〃此外也可以按住Ctrl+〃在两种视图之间进行切换在上面的例子里,模型中的错误一目了然(见图
4.19)o在单元格G10和H10中的错误使得它们与单元格F10不一致,在单元格F10中包含着正确的公式图4-19(第73页fig.
4.19)•.
12、保护和平安性投资模型包含一个用来保护工作簿和每张工作表的宏,同时也包含一个撤销保护的宏这些都链接在工作表Explanation中的按钮上编码包括用线条说明的密码需要说明的是密码对模型是很重要的,如果你丧失了密码你将无法撤销对模型的保护下面是一个用来保护操作的编码样本,这个编码计算出工作表的数目,并依次将它们纳入一个循环中,使之得到保护最后,这个宏保护整个工作簿Sub Protect_NoPassword()Keyboard Shortcut:Ctrl+wDim Number,CounterDim strPasswordAs StringstrPassword=Systematic”On ErrorGoTo Error:Application.ScreenUpdating=FalseCounter=1For Counter=1To NumberWorksheets(Counter).ActivateActiveWindow.DisplayHeadings=FalseActiveWindow.DisplayGridlines=FalseActiveSheet.Protect Password:=strPasswordActiveWindow.LargeScroll Up:=100ActiveWindow.LargeScroll ToLeft:=100Range〃A2〃.SelectNext CounterError:Worksheets
1.SelectRange〃A2〃.Select,ActiveWorkbook.Protect Password:=strPasswordApplication.ScreenUpdating=TrueEnd Sub你还可以保护你的宏保护工作簿并不会自动的锁住Visual Basic的编码•选择〃工具
①〃,〃宏⑭〃,〃Visual Basic编辑器丫〃•在VBA工程窗口点击文件名•选择〃工具
①〃,VBA工程属性〃•选择〃保护〃选项,锁住浏览选项•两次输入密码进行确认•记下密码或者翻开一个独立密码的Excel工作表注意如果你丧失密码,你将不能存取你的编码
4.
13.帮助和备案模板自动插入一张解释工作表这张工作表包括一个列表•注释说明•名称列表要有关于使用的方法、公式以及使用特殊结构和技术原因的背景说明当然,将这些注释说明的文字写入模型很有好处,他们可以帮助用户更好的了解建立模型使用的方法如果你并不希望别人看这些说明文字,你可以始终隐藏这张工作表,然后只保护工作簿图4-20(第75页fig.
4.20)这个模型应该可以更具可维护性如果你在几年之后再看现在你的成果,那些行为的具体原因可能并不总是那么明显通常用预算模型的例子来说明这个问题,它年年要更新在中间时期,你也许会忘记它如何工作,而需要花费时间来回想使用过的方法
4.
14、向同行进行展示询问意见最后的阶段是要将模型或操作应用面向用户和其他人来征求意见没有人能够面面俱到的考虑事情的每个方面特别是涉及到实用性,征求意见是很重要的类似的,一个用户可能只是浏览一下就能看出错误,或者建议对模型设计提出更高要求在前面的章节中提到的方法是来设计简单的模型,然后在这之上利用一些特征来使模型的功能更强大如果问题是关于设计模板的,那么改良应该从初始的设计开始
4.
15.控制循环一一听、学和修改任何的模型建立都应对下一个工程有所帮助,因此设计的方法应该随着新的特征和技术的出现而持续的扩展将许多技术放在一起使用往往能制作出功能更强大的模型例如,数据模拟运算表的使用、更新表格的宏的使用和对表格和图表中的结果的条件格式化操作模板可以在日后利用新的技术进行修改
4.
16、小结本章中再次引入了在第一章中使用的简单模型,演示了一个结构化的模型设计过程,并且将财务的一些概念应用到Excel中模型设计的步骤如下所示•目的一一清楚地说明模型要到达什么目的;•设立目标和目的;•用户需求和用户对话;•关键变量及其规则;•将计算分解为若干个可操作的群组;•建立个体模板;•菜单结构;•程序工作表和宏;•用户帮助;•管理报告和小结;•风险和多种结果;•测试和故障排除;•显示有多大的可能性你将会得到预测的结果因此,本书的目的是应用Excel和财务知识把二者结合起来,帮助你建立更强大、更有活力的工作表L
5、工作表举例图i—i是设计工作表的一个反面例子这张工作表可能是你用来显示一个工程的净现金流量的这是在许多公司里使用的众多工作表中比较典型的一个例子,它存在一系列的问题,我们将在下面一一给出这个模型是光盘中命名为SimpleJModel.xls的文件图1-1(原书第7页f.gl.l)它的主要问题可以归结为•没有把对输入、计算、输出的布局设计清楚地标明;•没有输入局部,不知道模型中的变量有哪些;•没有对输入进行特别着色;•没有用边框和阴影来增强报告的外观;•没有对输入数据的有效性进行限制,例如,确保输入数据具有正确的类型和数据长度;•将不同小数位数的数字格式混合在一起方括号和红颜色的使用能增强此模型,因为方括号很容易在打印出来的报告上被识别,而且红色一般是负数的颜色;•将数字和公式混合在一起第10行中的税额计算将税率对于每一个单元格都固定如果税率发生变化怎么办?•单元格G10中有一处计算错误,单元格本应该是输入公式,但是输入的却是数字;•公式测试显示单元格B10和B17中是直接输入数字而不是利用公式计算,当贴现率或税率发生变动时候,数值不会随之发生变化;•没有根据结果得出的操作报告5,411是否已经是满足了操作的底线;•条件格式化能将结果注重显现出来,例如,这个单元格的颜色将根据结果确定;•没有函数的使用,因为净现值是使用每个时期的变量值进行计算得出来的通过使用NPV函数可以减少对每个单元格的赋值,从而减少可能出现的数字错误;•没有敏感性分析当改变贴现率或者没有按方案形成利润会有什么情况发生?•图表一般用来显示管理现金流量或者显示敏感性分析例如,一个累计现金流量表表示的是可获得的回报;•保护和平安性;•帮助和备案;•向同行进行展示一一询问意见;•控制循环一一听、学和修改第章模型实例5本章是在前儿章介绍的设计、特征和方法的基础上,演示如何通过六个步骤来建立一个更深入的模型这些模型的名称分别为PPP」到PPP_6,你可以直接利用每个步骤完成后的完整的版本来进行操作,也可以从最初的文件开始自己应用所介绍的特征进行设计外包是指政府或者企业与第三方签订的,并由第三方提供某项效劳的协议本章的例子描述了在外包模型中的现金流动情况在英国,用术语表示为政府公共私人合作PPP或者私人主动融资PFIo通过这种手段,政府用奖励性契约来换取私人部门的投资和义务履行,并且是寻找一种将风险转移出政府的途径效劳的支付建立在协议支付方案的基础之上,包括任何对契约签订者无绩效的惩罚性支付
5.
1、案例学习模型建立的目的是建立一个无税投资模型,包括在管理协议基础之上的,从投资新设备中得到的增量现金流给出以下信息•这个代理人是拥有15,000名员工的医疗部门,雇员的平均本钱是每个员工30,000英镑•期望通过PPP/PFI可以稳定地节约12%的员工本钱•每个员工有一套硬件和软件设施,相关本钱为每个员工2,000英镑对于这些设施,管理层预期超过五年时间进行更换•设施维护本钱是其价值的10%o•下面这些本钱也将在PFI/PPP条件下免去——在第一年内50%进行相位调整,在随后为100%——在平稳状态下,对于协议签订对方的支付期望值为六千万英镑,这一数值在随后的预算中将调整到五千万英镑•为了简化模型,忽略通货膨胀的影响
5.
2、设计表5-1简要的列出了在本书中提到的设计方法这个表格可以作为这些方法的提示,或者作为需要考虑的选择列表,它是很有用的表5-1设计方法概要序号步骤批注应用模型涉及的是什么?进行记录1目的操作报告简单报告报告2用户需要和对话观众概要和操作报告3关键变量及其规则将设想和信息记录输入/计算/报告关键输入是什么?初始模板4计算关键计算净现值和操作测试5写出模板和编码有多少模板和编码,复杂性如何菜单、模型和注释工作表用户交流菜单工作表控制模型的输入数据有效性6菜单结构指导用户提供“教练〃宏简单对话框颜色、格式等7自动进行简单操作,与按钮和控件菜单宏链接用户帮助专注于使用户使用更轻松在需要的地方使用控件8操作概要指导有效性、批注9风险和多种答案单个工作表或区域概要10测试提供方案和多种答案数据模拟运算表和方案11公式审核工具栏审核模型的工作方式测试数据编辑一一定位保护和平安显示公式和限定条件为打印和平安进行设定12帮助保护工作表和工作簿,防止更改批注13提供帮助名称列表备案工序和公式14向同行进行展示让别人使用并征求意见——征求意见15控制圈听、学和修改
5.
3、PPP1在文件PPP」中,第一个步骤是为了便于显示,考虑建立一个工作区布局和一个最终的管理报告(见图5一Do这意味着•将所有的输入放在一个地方,并着色•只是在现金流计算区域内进行计算•关于现金流的注释•关于结果和管理测试的小结单元格区域C23:C32给出每一笔现金流的规则,这些规则用来帮助用户理解操作步骤例如,员工本钱包含员工数目乘以个体本钱乘以预计的节约比例图5-1(第81页,fig.
5.1)
5.
4、PPP2下一个步骤是乘以在文件PPP_2中的变量(见图5—2)来完成现金流的输入这个模型现在展示了更多的特征图5-2(第82页,fig.
5.2)名称在菜单工作表中,为了让显示更加清晰,使用了很多名称作者一直使用很多名称诸如版本、协议、产品等在模型中使用名称是很普遍的现象,因为确定打印方案中哪个地方显示版本号是很重要的你可以通过“插入(D〃,“名称(N)〃来定义(见图5-3)图5-3(第82页,fig.
5.3)将名称列表粘贴在单独的工作表中作为备案的一局部是很重要的,这个操作可以通过“插入(〃,“名称但)〃,“〃粘贴(E)〃,“粘贴名称(N)〃来完成(见图5-4)图5-4(第83页,fig.
5.4)以下是在工作簿中的一个名称列表Names ListAuthor=Menu!$C$7Company=Menu!$C$8Contact=Menu!$B$27Email-Menu!$C$11Fax=Menu!$C$10Objective=Menu!$C$13Product=Menu!$C$6Telephone=Menu!$C$9Units=Menu!$C$15Version=Menu!$C$14格式化模型的格式化按照•格式;•数字格式;•框线和边框;•颜色和图案;•分别着色,输入(蓝色)、总计(绿色)、结果(红色)这些特殊的格式是一种自定义的格式,如单元格E23(见图5—5)图5-5(第84页,fig.
5.5)函数这个模型需要计算贴现后的现金流量,利用公式Cash_flow(1+Interest_山付痴心…单元格G6使用了净现值函数,如=NPV($C$13,E34:N34)+D34批注批注对于帮助用户进行操作以及解释计算过程都是很有用的(如图5-6)o图5-6(第84页,fig.
5.6)数据的有效性单元格C7给出了数据有效性的设定,这样确保用户输入一个在TOO%+100%之间的分数(如图5-7)〜图5-7(第85页,fig.
5.7)条件格式化正如在图5—8中显示的那样,你可以设定一个条件来判断净现值是否足够多,例如,单元格G10二IFG7F10,〃Yes〃,〃No〃图5-8(第86页,fig.
5.8)这个步骤是在单元格G10中运用条件格式化来对结果进行格式设定当测试的结果为真,显示为绿色;为假,显示为粉色(如图5—9)图5-9(第86页,fig.
5.9)打印设置应用操作需要对打印进行设定,因为如果用户不得不自己做,他们会感到很苦恼这个设定可以通过“文件(E)〃,“页面设置@)〃中完成这些标签是•工作表一一选定单元格区域(如图5—10)•页面一一美化设计和删减来适合页面大小需要•自定义页眉和页脚(如图5—11)页眉和页脚的设置如下页眉文件名工作表名称数据时间插入格式FADT页脚工作表名称页码插入格式A:PageP图5-10(第87页,fig.
5.10)图5-11(第87页,fig.
5.11)
2、
5、PPP_3完成后的文件PPP_3是一个基础模型(如图5T2),这个模型提供了单一的答案特别的,这个模型中•没有自动操作;•没有菜单系统;•没有风险测试或模型参数测试图5-12(第88页,fig.
5.12)
5、
6、PPP4更深层次地改良就需要按照管理目的将模型变得更完备和全面例如•菜单•组合框•方案•风险分析•备案•测试•保护文件PPP_4到PPP_6给出了具体细节菜单系统菜单系统可以指导用户使用,也可以为模型设计提供一个框架这样的系统在文件PPP_4的菜单工作表中,在那里有一个数据源区域为B5LB70,单元格链接C50的组合框(如图5—13)它的设计方法与在前面的章节中的投资模型中使用的方法一样,这也显示了方法使用的一致性图5-13(第89页,fig.
5.13)宏GetSheetNames被设置在控制器上,这样每次你点击控制器的时候,宏命令就会自动在工作簿中寻找工作表,并在数据源区域B5LB70中找到工作表的名称然后将选择的工作表的序号,并在单元格C50中显示Excel为每一张工作表提供了一个序号,菜单工作表就是工作表1,模型工作表是工作表2文件Menu_Structure给出了这个宏命令稍简单的形式你需要手动在数据源工作区中输入与控制器相联系的工作表名称宏能够通过组合框的结果自动的选择工作表简单的宏和按钮简单的宏可以很容易的录制,通过•“工具(I)〃,“宏(也)〃,“录制新宏(R)〃;•给宏提供一个名称;•记录关键语句;•按下“停止〃录制的按钮;•将宏命令设置到按钮;•选择“视图(丫)〃,“工具栏
①〃,“窗体〃,并设置按钮在文件中有一个名叫PrintSetUp的宏,它的作用是设置打印的格式,包括页眉和页脚为了便于调用,你可以在闲置的那张工作表中将这个宏命令设置在按钮上进行试验你还可以浏览宏,通过翻开“工具(工)〃,“宏
(四)〃,选择一个名称然后进行编辑找到“工具(I)〃,“宏(®)〃,Visual Basic编辑器(丫)〃,然后在工程窗口找到文件名和模板这个宏命令在模板3中
5.
7、PPP5用组合框来定义输入模型工作表中的贴现率最好用组合框的形式来提供,这样便于控制输入这里我们又使用一个标准的布局,在方案的底部有一个单独的工作区域插入控制器的步骤如下•剪切贴现率并粘贴到工作区的单元格C90,将单元格的颜色变为计算单元格的颜色•画出控制器,设定大小•右键单击更改控制器的格式•给控制器添加信息,添加数据源区域和连接一个用索引号(选择的序号)来更新单元格——数据源区域二输入区域——索引数字=链接单元格组合框的数据源区域为B93:B100,连接单元格为C89(如图5—14)图5-14(第91页,fig.
5.14)在单元格C90内的公式显示在文件PPP_5中,=OFFSET(B92,C89,0)索引号是5,因此结果是从单元格B92向下5个单元格的数值,即
6.00%方案到现在为止,设计好的模型已经可以得出一系列的答案了但是,你可能想要将其中的一些结果以方案的形式保存起来为了减少编码,你可能不希望作出多个只是简单的重复同样程序的工作表,此时,编写方案使用•“工具(I)〃,“方案(E)〃•”添加(白)…〃一Base Case(如图5—15)•选择多组单元格,对每组单元格使用逗号隔开•将输入单元格用特殊颜色显示,便于找到所有输入值图5-15(第92页,fig.
5.15)如果你拥有多个方案,你可以选择“总结〃,Excel能像图5—16那样产生一个管理报告如果单元格被命名,那么显示的是参照单元格的名称其他方案的结果显示12,776,778的净现值很容易变成负数特别的,模型看起来对预期本钱节约上的变化很敏感图5-16(第92页,fig.
5.16)数据模拟运算表和风险数据的模拟运算表可能是一个测试变量和显示多种结果的更为有效的途径这个表格可以列出风险因素或其他考虑因素在模型PPP4的底部建立了一个模板,用来插入一个员工本钱节约和贴现率的一维数据模拟运算表关于模拟运算表的插入方法我们在前面的章节中已经介绍过了这个布局是标准的设计,步长值输入用蓝色标明其中某行的头一个单元格是输入单元格,而不是公式在这里,是单元格C41查看重要变量的变化对于结果的影响是很有用的例如,如果节约率不是12%,那么结果会怎么样?在这个例子中,如果方案的节约率没有到达,净现值会大幅度的下降这种情况与原先的差异要远远大于由贴现率增加所引起的变化图5—17中清楚地显示了这种变化的影响数据模拟运算表通过对输入的测试和多种答案的提供,使我们更深入地了解错误产生的原因单个的答案是应该进行测试的,因为管理者需要知道现在对于将来或者前景的看法是否是有道理的和能够实现的此外还有多种技术讨论风险,这局部会在本书的后面一一介绍•离差和方差;•标准差;•协方差;•模拟;•蒙特卡洛(Monte Carlo)模拟,运用产品水晶球或@Risk
5.
8、备案、测试和保护你总是需要对模型和模型的应用进行备案(见图5—18)以下问题需要注意•什么是重要的计算;•一些本钱的背景信息,例如本钱的现状;•如果你分发这个模型给大家,是否同事们都能理解模型的计算过程;•你是否了解自己在一年的时间里做了什么?图5-18(第94页,fig.
5.18)你还应该粘贴名称列表和宏作为备案的一局部这些是在闲置的工作表中行号,列标和边框线可以通过“工具(T)〃,“选项
(0)〃,“视图〃移去这样可以使界面看起来更加清晰,而且,最后你并不需要这些信息测试模型最直接的方法是使用数据测试,然后与实际情况或财务计算其所得到的结果进行对照计算器,如Hewlett-Packard HP17BII,已经有了计算象净现值这样的贴现现金流的程序其他的方法包括•公式审核工具栏;•类型匹配,在“编辑(E)〃,“定位(G)〃中进行;•翻开“工具
①〃,“选项
(0)〃,“视图〃,”公式〃(如图5—19)或者,使用快捷键“Ctrl+〃图5-19(第95页,fig.
5.19)当模型设计结束的时候,使用模型保护来防止对于工作簿的结构的不必要的覆写和更改(如图5—20)图5-20(第96页,fig.
5.20)•保护所有单元格(点击单元格A1并选择整个工作表),然后根据输入需要对个别单元格撤销保护翻开“格式()〃,“单元格(琰〃,“保护〃进行操作(这就是为什么要对输入用特别的颜色,并随着状态的变化来改变颜色)•保护整个工作簿来阻止其他人修改模型的结构•如果你使用了密码,你就必须将他们记下来如果没有密码,你将不能对工作表和工作簿撤销保护翻开“工具(I)〃,“保护(E)〃,“保护工作表(E)〃或“保护工作簿(出)〃
5.
9、PPP6最后一个模型是PPP_6,它包含了所有的特征(见图5—21)最后,展示你的模型并征求别人的意见例如,如果别人使用模型或你想要作为模板再次使用它,是否输入是直观的,它们是否得到了相同的答案?其他的问题有•你是否想再添加更多的变量,例如通货膨胀,在不对设计进行大的调整的基础上,这样的操作能完成吗?通胀是一个很重要的变量,在我们本章的讨论中,为了简化模型将之忽略•还有需要参加到模板中的更深层次的变量吗?•还需要什么更深入的工作来确认输入吗?•模型需要更深层次的方案和风险分析吗?这些特征包括在图5-22显示的模型之中图5-21(第97页,fig.
5.21)•没有对关键变量进行特别命名;•工作表没有分开显示下面的表格中计算了设备的税收折旧,但是这并不清楚它是不是现金流量的一局部;•没有对单个单元格的批注,也完全没有对整个模型如何工作进行说明;•作者没有对数字做出解释的信息;•这个模型不适合打印模型没有页眉和页脚指示,例如,文件名和编写日期打印要输出包括税收在内的所有结果以上的列表从模型建立的结构、设计和方法上罗列了这个模型的缺点如果管理者做出的所有决策都是基于这样的一类表格,他很有可能会做出错误的决策即使是很快做出来的,这个模型也因为存在计算错误而失败如果使用这样的工作表进行管理可能会造成许多严重的失败,但在对这个模型重新设计后,可能会纠正这些错误建立正确的模型可以防止很多类似的错误
1.
6、小结Excel的使用是操作者的核心技能Excel是一个功能强大的工具,但是,极少数的用户接受过正规的模型技术的培训本章还给出了一个简单的工作表及其在设计和构建方面包含的错误在接下来的章节里,我们会提纲挈领地介绍如何应用模型来建立有活力和可以维护的工作表例子ppp——设计特征序号工程是否包括1格式是2数字格式是3边框线和边框是4颜色和图案是5输入和结果的特殊颜色是6数据有效性是7控制器一一组合框和按钮是8条件格式化是9函数使用和函数种类是10加载宏增加更多的功能否11文本框和更新标签是12记录版本序号、作者等是13使用名称使公式更容易是14粘贴名称列表作为备案的一局部是15批注单元格是16图表是17动态图表来显示个别图形否18数据模拟运算表是19方案是20单变量求解否规划求解否21模板使用是22更改方案一一建模方法是2324菜单结构是图5-
225.
10、小结本章通过对外包模型设计的学习,演示了Excel在模型设计中使用的特征和技术我们可以总结为如下7个步骤:•设计布局;•计算;•格式化、函数、批注、数据有效性和打印;•菜单、组合框、宏和按钮;•方案、数据模拟运算表和风险分析;•备案、测试和保护;•用户评价和需要改良的地方第章模型设计导论2在第一章里,我们已经看到了传统的模型设计的缺陷之处这种传统设计从本质上说只是将Excel用作一大组自动化的会计文件如果我们的目的是依据Excel做出决策或者我们要完全依赖于这个结果,那么我们必须采用一种不同的途径,一种更专业化的途径这种途径更多地关注目标、用户报告和结果的产生过程图2-1概括了设计中的几个阶段图2-1模型设计
1、所有模型都遵循一定的设计程序和方法;
2、确定目标和对象;
3、确定用户需求和必要的用户交流;
4、列出关键变量和规则;
5、将计算分解成若干个可操作的群组;
6、制作出单个模板;
7、列出菜单结构;
8、管理报告和小结;
9、模型开展如灵敏度分析;
10、测试和审核;
11、应用操作的保护;
12、备案;
13、征求同行的意见
1.
1、模型设计基础设计是个性化的,你开发出自己认可的、欣赏的模型风格,你就能轻而易举地将其重复运用这听起来可能很简单,但一个正确实用的设计方法会大大缩短模型设计和错误纠正的时间设计的必要性取决于应用的复杂性,你必须对不同种类的工作表采用不同的方案和方法在模型设计中,你可能想要屡次的插入行或者是删除列,又或者是在工作的某个阶段想要了解一个具体单元格的公式如何运行想要做到不过多考虑就能正确地使用关键的公式其实是很简单的清楚地列出需要考虑的事项能够便于更好的设计模型所有的模型设计都遵循统一的设计步骤和方法,并且工作表也遵循一定的设计格式本书中的例子毫无疑问地是按照这样的原则编排和设计的对于一个人来说,简单的工作表就可能够用,而模型的设计也必须符合简单的规则,特别是模型会被其他人使用或者被合并用于决策的制定在基础的格式中,这就意味着要将模型中的功能划分成输入、计算和输出三个区域
2.
2、对象很多人并不对对象和目标进行深入地考虑尽管下面说的听起来很简单,但是这样做确实是有益的将对象和目标记录在文件中,并在模型设计的过程中不时地进行参照以保证你并没有偏离最初的想法模型常常能给我们提供更多的信息,但在很多例子中,由于答案隐藏在计算中,所以我们很难获取信息举个例子,一个简单的现金流量的预算也能更深地用于记录实际的损益表和资产负债表有了预算的和实际的数字,在绝对数和相对数差异基础之上的差异分析报告就可以和管理报告还有图表一起形成单个的报告
2.
3、用户界面这个需要很仔细的核查,因为这一项需要你和你的用户一起完成也许对于同一个模型会有许多不同的用户,他们对于输入、其他一些细节和信息有不同的要求早期建立的模型有时会将变量放在左边,在标签和数字之间,例如税率但是,用户可能希望在同一个地方看到所有的输入,并且需要有关于在哪里输入数据和输入什么样的数据的提示与指导通常,如果人们在拿到一份新的应用软件的时候,需要花费很长的时间去了解它如何工作和在什么地方输入数据,这样往往令人感到沮丧Visual Basic编程系统是通过先设计对话框,然后对按钮赋予一段操作程序,对它进行控制并使之工作对Excel来说,借鉴这一做法也是有益的,这样既可以防止许多的模型设计者常常不能设身处地的为用户考虑的情况发生,同时也更好的便于用户去理解这种对话框应该是•直观的;•清楚的;•能通过提供符合逻辑的信息来指导用户操作多种边框、颜色和格式的应用能够有助于这一过程的完成,就像在图2-2Calculator.xls中显示的那样用户根据提示给变量赋值,并按下按钮来计算出一个答案,这就如同017BH那样的手持财务计算器一样根据用户所按的按钮,计算出的结果在底部更新并显示出来从图中可以看出,这一簇信息是从上到下的全面显示图2-2原书第11页fig.
2.
22.
4、关键变量及其规则对变量及其规则要分解设计,且必须把变量放在一起,就如上表显示的那样变量的值不是硬性编码的,这一点尤其重要举个例子,如果频率是用户输入值,当用户由季度支付变为月度支付,那么用户需要改变什么呢?将规则提炼出来意味着模型设计者能够组织有序地处理商业问题,而且能够更简明地理解解决商业问题的过程在这个过程中,他们可能会发现一些需要纳入模板的新变量规则也是非常重要的公共税收在大多数的管理权限内是很复杂的,模型必须精确地反映出税盾和税收结算日期公共税收的支付方法在英国正从年支付体系变化为四季度支付体系这就给模型设计者提出了新的挑战,他们必须了解过渡时期的安排和最终的安排给主要的变量和模板命名的方法有助于简化现有模型的维护
2.
5、布局设计将计算分解成几个可操作的组,从而使模型的运转和结果清楚地显示出来现在的Excel可以将别离的工作表组合在一个二维的工作簿中,而不必象在原来的Lotusl-2-3和Excel做的那样,将一组别离的工作表连接起来我们不必将损益表、资产负债表和现金流量表放在同一个工作表中,而可以将这三张独立的表放在同一个文件中,这样的做法显然更符合逻辑规律图2-3的例子把设计分解为•用户输入;•小结处理一一使更新后的输入可视化这样做可以防止用户反复拉动滚动条来找结果;•计算区域使用上面输入区域中的变量进行计算;•结果显示;•灵敏度分析、图表或其他细节;•在打印区域外的工作区域模型中的信息流遵循这样一种逻辑构架,正如用户所期待的那样,输入放在左上角更复杂的模型可以将这些区域放在不同的工作表中但是需要再次强调的是,输入区域和计算不应该混合在一起,应该分成若干个逻辑区域在图2—3中,针对不同的数据和信息,多种颜色、字体、模式和边框的一致性使用能有助于显示它的逻辑框架本书中的模型就遵循着这样的格式图2-3(原书第13页fig.
2.3)
2.
6、个体模板在这样一个设计好的框架内,计算被分解到若干个可别离的区域或工作表中,个体模板也就相应产生了布局的设计便于用户和模型设计者对模型的理解,这点是非常重要的,同时,布局设计对于日后深入地开发模型更是至关重要计算区域必须而且仅能包括公式,而不能和数字混杂在一起这样做是为了确保计算的完整性例如,直接乘以
0.3来计算公司税额只能制造麻烦,因为如果税率发生变化,你就不得不把所有工作表中的内容和Visual basic中的宏代码找出来并进行替换利用有一定输入范围的输入单元格,或者是用一个已命名的单元格意味着你只需要改动一个单元格,则整个文件将会准确地自我更新
2.
7、菜单结构和宏菜单结构在复杂的模型中是很有用的,因为它•将模型纳入到一种结构中;•便于用户理解;•通过按钮进行浏览,这样比不停地在工作表中作标记更方便图2-4(Menu_structure.xls)中的模型运用了按钮或者说是组合框连接另外两个名称为“Inputs和Reports〃的工作表这两张工作表中也有按钮能让用户再回到主菜单下我们将会在下一章节中详细阐述这些特征用户能迅速了解哪个工作表是可以利用的,而且也能被指引到需要数据的地方图2-4(原书第14页,fig.
2.4)。
个人认证
优秀文档
获得点赞 0