如何进行财务建模_第1页
如何进行财务建模_第2页
如何进行财务建模_第3页
如何进行财务建模_第4页
如何进行财务建模_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章 概论本书旨在为您提供一系列帮助您开发、利用和维护Excel模型的工具。财务模型的建立通常被看作只是对会计数字的添加或者是进行这种添加的方法。但是,本书将会给您展示精良的建立财务模型的实践操作;提供一些不同的技术要领并会给您精选出一些模型的模板。本书并不是一本Excel使用的工具书,因为关于这一方面已经有很多深入的手册了,更确切地说,本书是对一些技术的概述以便为您节省时间,帮助您在财务管理方面变得更为有效率。1.1、什么是财务建模财务建模涵盖了一个很宽泛的领域:从简单的制表到费用的加总再使之转变为项目所需的复杂的风险模型。此外,模型的设计还需要考虑很多其它的方面。具体地说,关于财务建模我们必须考虑:l 针对具体商业问题的解答建立特殊的操作程序。如现金流量表及其易变性;l 对数据进行分析处理;l 将未来因素纳入模型考虑,对未来的情况进行考察;l 将数据快速准确地转化为管理信息;l 在一个“安全”的环境中测试假设,如项目方案;l 通过一种结构化的途径来支持管理决策;l 更准确地认识问题中的相关变量和规则;l 更多地了解变量的变化过程及其变化方式;l 找出关键变量并考察其敏感性。1.2、电子表格的历史电子表格被应用于个人电脑是从20世纪70年代晚期VisiCalc(专为苹果机使用的一种操作软件)的使用开始的。由于这种工作表的高效率和准确性,使之在大范围内迅速取代了一些早期的方法(如高速计算机),同时,Lotus1-2-3的使用与IBM个人电脑的使用也同步增加。从此财务管理者也能用他们自己的数据来进行分析而不用求助于其它数据系统或是系统管理员了。会计模型,如预算和现金流量,能根据用户的要求进行建立,这就导致了:l 有更详细的信息用于决策制定;l 使在较低层次的决策制定成为可能;l 对特定环节的检验或其他替代方法之间具有灵活性。1995年,微软在Apple Macintosh引入了Excel并在20世纪80年代后期将它扩展到个人电脑上。Windows3.0版本引入包含了Excel的Office95,随着它的快速增长,Excel成为了工作表操作软件中的领头羊,被大多数个人电脑用户所使用。在成功开发Office97和Office2000后,微软在这一领域的占有率又被大大增强。1.3、工作表的功能Excel包含于微软工具包之中说明它现在是一种公认的标准,就如同人们把Word作为文字处理的标准格式一样。伴随着以下功能的加入,它的工作表的功能不断的加强:l 专业的函数;l 大量使得工作表自动化的宏程序的使用,或者说用编码进行公式编辑功能的使 用;l 工作簿技术的使用,省去了单个工作表之间的联系的建立;l 对Visual Basic的使用提供了一种与微软其他应用程序之间通用的语言;l 同其他应用软件之间的数据交换功能;l 添加例如关于目标区和最优化问题的规划求解模型;l 三部分分析包,如财务CAD ,RISK or Crystal Ball。今天对这种复杂分析软件包使用的结果是使得那些非专业程序员也能设计并建立起一套专业的解决商业问题的应用程序。Excel也是这样一种分析软件包。大部分人在他们需要解决一个商业问题的时候都会使用它。作者曾经有一个这样的经历,需要对一个项目的租赁可盈利性进行研究,并要编写一个模型来考察不同的基金组合决策。在耗费了大量的时间和精力后,这个模型终于成功运行并给出了一个答案。但是,这个答案很不清楚而且也不方便其他人去理解。这里并没有模型设计的方法论,而模型真的就那样“蹦出来了”。许多公司或学院很少会提供如何使用Excel来处理财务问题的指导,这对于大多数的管理者来说是司空见惯的了。这种做法的后果是许多模型建立都很少或者根本就不考虑模型的设计和模型未来的维护。更进一步地说,据估计很多商业上正在使用的模型本身都存在着严重的错误。用Visual Basic和C+来编写应用程序是为IT部门进行设计提供的。但是,通常情况下,Excel并不受这些影响因素的制约。这可能并不总是个问题,但是,一个预算模型可能成为财务管理者自己的“宠物设计”,而他可能会在此后离开这家公司或者可能被提升到新加坡去了。在文件里当然不会有注释,这样,就再没人能了解这个模型是如何工作的。人们经常说信息就是力量,但是因为这些管理者常常不能将他们的工作充分的备案,所以导致公司在模型的审核和错误的查找上不得不花费大量的金钱。这样看来,Excel的简洁可能也成为了它的一个弱点。作者强调:Excel的使用者应该按照简单设计的步骤进行,并且注意对于操作模型相关背景信息提供的必要性。在这样的方法的指导下,现在你在计划上花的时间将从长远来说为您提供超额收益:l 可操作性和使用轻松;l 可维护性;l 对于答案和结果的信心。在接下来的章节里,我们将会详细地说明如何综合运用Excel模型,来制作功能更强大、更有活力的工作表。1.4、本书的目标本书的目标就是展示一系列的Excel在财务建模方面的应用。这一系列的应用出自于一位致力于将公司财务理论应用于工作表中长达10年之久的非程序编写员。建模需要了解如何用Excel建立模型,并且将财务知识和设计与Excel结合在一起,特别是:l 设计方法和设计过程;l 怎样将设计想法变成应用中的模型;l 改进现有模型的有用技术;l 使简单的模型更有用、更可靠 ;l 如何加入风险分析技术;l 利用最优化和目标策略;l 将所用的技术结合成一个标准和模板。操作者们需要将对工作表技术作为核心技能来理解。现在的公司掌握着越来越多的数据而且需要用一些低水平的简单分析工具。通过建立模型,操作者可以更好地了解:l 单个变量如何变动;l 怎样去找出应该包含在计算中的新变量; l 怎样分离出对未来测试的关键变量;l 如何通过方案测试和案例分析来避免代价昂贵的错误。举一个例子,通过对某些会计模型的替换而建立的简单的外包模型可能显示一个正的净现金流量。一个正确建立的模型不仅能找到答案,而且能:l 列出所有的规则和输入;l 提供基于不同参数值的一系列结果;l 提供关键变量的图表,用来显示它们对于其他变量变动的弹性;l 列出风险和不确定性的水平;l 显示有多大的可能性你将会得到预测的结果。因此,本书的目的是应用Excel和财务知识把二者结合起来,帮助你建立更强大、更有活力的工作表。1.5、工作表举例图11是设计工作表的一个反面例子。这张工作表可能是你用来显示一个项目的净现金流量的。这是在许多公司里使用的众多工作表中比较典型的一个例子,它存在一系列的问题,我们将在下面一一给出。这个模型是光盘中命名为Simple_Model.xls的文件。图1-1(原书第7页f.g1.1)它的主要问题可以归结为:l 没有把对输入、计算、输出的布局设计清楚地标明;l 没有输入部分,不知道模型中的变量有哪些;l 没有对输入进行特别着色;l 没有用边框和阴影来增强报告的外观;l 没有对输入数据的有效性进行限制,例如,确保输入数据具有正确的类型和数据长度;l 将不同小数位数的数字格式混合在一起。方括号和红颜色的使用能增强此模型,因为方括号很容易在打印出来的报告上被识别,而且红色一般是负数的颜色;l 将数字和公式混合在一起。第10行中的税额计算将税率对于每一个单元格都固定。如果税率发生变化怎么办?l 单元格G10中有一处计算错误,单元格本应该是输入公式,但是输入的却是数字;l 公式测试显示单元格B10和B17中是直接输入数字而不是利用公式计算,当贴现率或税率发生变动时候,数值不会随之发生变化;l 没有根据结果得出的操作报告。5,411是否已经是满足了操作的底线;l 条件格式化能将结果注重显现出来,例如,这个单元格的颜色将根据结果确定;l 没有函数的使用,因为净现值是使用每个时期的变量值进行计算得出来的。通过使用NPV函数可以减少对每个单元格的赋值,从而减少可能出现的数字错误;l 没有敏感性分析。当改变贴现率或者没有按计划形成利润会有什么情况发生?l 图表一般用来显示管理现金流量或者显示敏感性分析。例如,一个累计现金流量表表示的是可获得的回报;l 没有对关键变量进行特别命名;l 工作表没有分开显示。下面的表格中计算了设备的税收折旧,但是这并不清楚它是不是现金流量的一部分;l 没有对单个单元格的批注,也完全没有对整个模型如何工作进行说明;l 作者没有对数字做出解释的信息;l 这个模型不适合打印。模型没有页眉和页脚指示,例如,文件名和编写日期。打印要输出包括税收在内的所有结果。以上的列表从模型建立的结构、设计和方法上罗列了这个模型的缺点。如果管理者做出的所有决策都是基于这样的一类表格,他很有可能会做出错误的决策。即使是很快做出来的,这个模型也因为存在计算错误而失败。如果使用这样的工作表进行管理可能会造成许多严重的失败,但在对这个模型重新设计后, 可能会纠正这些错误。建立正确的模型可以避免很多类似的错误。1.6、小结Excel的使用是操作者的核心技能。Excel是一个功能强大的工具,但是,极少数的用户接受过正规的模型技术的培训。本章还给出了一个简单的工作表及其在设计和构建方面包含的错误。在接下来的章节里,我们会提纲挈领地介绍如何应用模型来建立有活力和可以维护的工作表。第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来说,借鉴这一做法也是有益的,这样既可以避免许多的模型设计者常常不能设身处地的为用户考虑的情况发生,同时也更好的便于用户去理解。这种对话框应该是:l 直观的;l 清楚的;l 能通过提供符合逻辑的信息来指导用户操作。多种边框、颜色和格式的应用能够有助于这一过程的完成,就像在图2-2(Calculator.xls)中显示的那样。用户根据提示给变量赋值,并按下按钮来计算出一个答案,这就如同O17B那样的手持财务计算器一样。根据用户所按的按钮,计算出的结果在底部更新并显示出来。从图中可以看出,这一簇信息是从上到下的全面显示。图2-2(原书第11页 fig.2.2)2.4、关键变量及其规则对变量及其规则要分解设计,且必须把变量放在一起,就如上表显示的那样。变量的值不是硬性编码的,这一点尤其重要。举个例子,如果频率是用户输入值,当用户由季度支付变为月度支付,那么用户需要改变什么呢?将规则提炼出来意味着模型设计者能够组织有序地处理商业问题,而且能够更简明地理解解决商业问题的过程。在这个过程中,他们可能会发现一些需要纳入模板的新变量。规则也是非常重要的:公共税收在大多数的管理权限内是很复杂的,模型必须精确地反映出税盾和税收结算日期。公共税收的支付方法在英国正从年支付体系变化为四季度支付体系。这就给模型设计者提出了新的挑战,他们必须了解过渡时期的安排和最终的安排。给主要的变量和模板命名的方法有助于简化现有模型的维护。2.5、布局设计将计算分解成几个可操作的组,从而使模型的运转和结果清楚地显示出来。现在的Excel可以将分离的工作表组合在一个二维的工作簿中,而不必象在原来的Lotus1-2-3和Excel做的那样,将一组分离的工作表连接起来。我们不必将损益表、资产负债表和现金流量表放在同一个工作表中,而可以将这三张独立的表放在同一个文件中,这样的做法显然更符合逻辑规律。图2-3的例子把设计分解为:l 用户输入;l 小结处理使更新后的输入可视化。这样做可以避免用户反复拉动滚动条来找结果;l 计算区域使用上面输入区域中的变量进行计算;l 结果显示;l 灵敏度分析、图表或其他细节;l 在打印区域外的工作区域。模型中的信息流遵循这样一种逻辑构架,正如用户所期待的那样,输入放在左上角。更复杂的模型可以将这些区域放在不同的工作表中。但是需要再次强调的是,输入区域和计算不应该混合在一起,应该分成若干个逻辑区域。在图23中,针对不同的数据和信息,多种颜色、字体、模式和边框的一致性使用能有助于显示它的逻辑框架。本书中的模型就遵循着这样的格式。图2-3(原书第13页 fig.2.3)2.6、个体模板 在这样一个设计好的框架内,计算被分解到若干个可分离的区域或工作表中,个体模板也就相应产生了。布局的设计便于用户和模型设计者对模型的理解,这点是非常重要的,同时,布局设计对于日后深入地开发模型更是至关重要。计算区域必须而且仅能包括公式,而不能和数字混杂在一起。这样做是为了确保计算的完整性。例如,直接乘以0.3来计算公司税额只能制造麻烦,因为如果税率发生变化,你就不得不把所有工作表中的内容和Visual basic中的宏代码找出来并进行替换。利用有一定输入范围的输入单元格,或者是用一个已命名的单元格意味着你只需要改动一个单元格,则整个文件将会准确地自我更新。2.7、菜单结构和宏菜单结构在复杂的模型中是很有用的,因为它:l 将模型纳入到一种结构中;l 便于用户理解;l 通过按钮进行浏览,这样比不停地在工作表中作标记更方便。图2-4(Menu_structure.xls)中的模型运用了按钮或者说是组合框连接另外两个名称为“Inputs”和”Reports”的工作表。这两张工作表中也有按钮能让用户再回到主菜单下。我们将会在下一章节中详细阐述这些特征。用户能迅速了解哪个工作表是可以利用的,而且也能被指引到需要数据的地方。图2-4(原书第14页,fig.2.4)2.8、管理报告对于较大的模型,管理报告和小结通常是必不可少的,它们应该在一个完整的管理报告区域中。不是每一个人都需要所有的细节和计算,小结可以帮助用户了解计算结果和获取其中重要的信息。例如,一个项目管理的应用应该在模型中显示覆盖比率和证券化程度。2.9、未来发展模型内在的发展是很重要的:一个预算模型可能到下一年就需要添加新的变量,而一个结构化的模型有助于模型未来的发展。我们可以通过查看如何添加新变量和审核设计中的漏洞来测试它的可发展性。此外,灵敏度分析表和方案使得用户能在同一模型中得到多方面的答案,并且在改变输入的基础上进行差异分析。一个单一的净现值模型对于决策的制定是远远不够的,模型的发展应该包含一些更深入的对最终结果8产生变化程度的测试。风险也是一个决定性的因素,因此模型的设计需要包含风险因素或模拟技术。模拟使得模型的发展包含一系列的输入而不仅仅是单一的数字,这样的输入就会得出相应的一组结果。类似地,图表在向操作者或其他人显示结果上也是很有用处的。人们常常可以通过图表轻易地理解复杂的东西。例如,一个现金流的模型包含在最低限额之上的现金流的图表。2.10、测试测试是很有必要的,它可以确保没有计算上的错误和由模型得到的信息流是正确的。在图22的表格中,结果可以通过贴现率表或者用其他的财务计算器的结果来检验。测试的数据必须要用到所有的按钮、输入、频率、支付方式等。后面会有一个章节专门介绍一些用来检验模型准确性的技术。2.11、保护如果模型会被别人使用,那么模型的保护就变得非常重要。如果作者将所有的输入都聚合在一起并且用不同的颜色给它们“加密”,这种保护就变得很简单。所有的工作表格都能被保护,对输入单元格也可以不进行保护。保护工作表和工作簿其实也是保护了模型设计者的成果,并且这样做可以确保模型在设计者的意图下进行使用。例如,如果一个预算模型让用户使用,而用户却在单元格里输入具体的数字而不是公式。由于没有对模型进行保护,其后果是威胁到了模型结果的准确性。当然,其他人在使用的时候可能会从检查每一个单元格可能的错误开始。2.12、备案许多作者嫌麻烦而不愿写出一些关于工作表的说明和工作表的结构说明。这样做可能会面临这样的一种风险:他们或者他们的同事在日后对模型编码进行维护的时候可能会在某些方面遇到困难。而许多模型也就因此成为了“宠物设计”,因为任何一个计算机程序都需要相关的背景信息。理想的情况是将说明写进模型而不是写在文件的一小片纸上,并且要遵循:l 采用一个特定的设计或模板的原因;l 写出关键的公式和计算步骤;l 规则和方法。2.13、同行的意见模型的用户和同行们常常会对模型提出建设性的意见。尽管这个过程很痛苦,尤其在你耗用的大量的时间来制造出这样一个杰作之后。但是,潜在的用户需要尝试输入数据并且对模型的操作方式是否人性化给出评判。让用户参与到模型的设计过程,并且询问他们的意见能够充分调动用户的积极性。这方面主要的因素包括:l 有清楚地对话框,使用起来很方便;l 用户操作指导,包括从输入开始经过计算最后得出答案和报告;l 将审核和更正的复杂性降到最低点;l 结果显示的明晰性。以上的13点将会帮助你更有序地工作。检查一下你自己的模型,看看在你的成果中包含了以上的哪些方面。显然,模型的复杂程度影响着你所需要完成的工作量。但是,以上这些是作者实践了很多年总结出的经验,它们会帮助你更好的进行实践。我们在下一章节中会讨论几种能使你的模型功能更强大的特征。随后的章节会应用这些设计方法来重新建立第一章中的那个基础模型。这样做的目的是为了向您展示如何应用Excel来建立功能更强大而没有错误的模型。2.14、小结模型的设计是个性化的,经过一段时间的工作,我们会形成自己的风格。设计的连贯性和遵循统一的设计方法是很重要的。本章对设计步骤的讨论并不是面面俱到的,主要包括了以下几个方面的内容:l 建立所有的模型都要遵循的设计步骤和方法;l 确立目标和对象;l 了解客户的需求和必要的客户交流;l 建立关键变量及其规则;l 将计算分解成若干个可操作的群组;l 建立个体模板;l 设计菜单结构;l 管理报告和小结;l 模型发展,如,灵敏度分析;l 测试和审核;l 应用操作的保护;l 备案;l 征求同行的意见。第3章 特征和技术在上一章里,我们讨论了模型设计的计划和在设计中的逻辑问题。本章将会着重介绍模型中包含的让用户感到更亲切的特征。本章不会把所有的特征一一详尽地列出,但本章所要达到的目的就是要揭示最初的和最终的模型之间的差异。本章讨论的特征包括:l 格式;l 数字格式;l 框线和边框;l 颜色和图案;l 给输入和结果特别着色;l 数据的有效性来控制输入;l 控制对话框或按钮;l 条件格式化来显示数据上的变化;l 加载宏,以增加更多的财务功能;l 加入更多的财务公式;l 文本框和更新标签;l 记录版本序号、作者、开发时间和其他信息;l 运用名称以便使公式更便于理解;l 将命名表作为备案的一部分记录;l 单元格批注;l 图和表;l 多样化的图表来显示个体线条;l 用于灵敏度分析的数据列表;l 条件分析(如果-怎样);l 单变量求解;l 最优化和目标区的规划求解;l 使用模板来加快模型开发。图3-1的模型是在文件Features.xls中。本章节中的每一部分都包含在这个模型里。打开文件并依次点击来浏览工作表的制作过程。图3-1 (原书第19页,图3.1)图3-1是一个简单的净现值模型,这个模型把各期的现金流量以10%贴现率折现后相加。在C14这个单元格中,净现值就是把折现后的现金流量相加得到的。选择“工具(T)”,“选项(O)”,“视图(V)”,你可以选择“视图(V)”中的“公式(F)”。这个选项能让你看到计算用的公式(见图3-2)。你还可以同时按下“Ctrl+”在公式和通常的状态之间进行切换。正如你所看到的,它只是根据如下的现金流量的公式来计算净现值:图3-2 (原书第19页fig.3.2)图3-3显示了每个单元格的公式图3-3(原书第19页fig.3.3)3.1、格式图34中的模型是将数据输入和公式计算混合在一起,因此我们的第一项工作就是对它的布局重新进行设计。这包括:l 插入边框线并移动输入;l 根据输入的现金流量进行计算;l 在可能检查输入值的地方做标签。例如B9=C3;l 用一个输入来更正所有的因素;l 用不同的字体来做出区分。现在,标题、输入、摘要和结果就用黑体字清楚地做出来了。这个模型遵循了在图 35中显示的布局。图3-4(原书第20页fig.3.4)图3-5(原书第20页fig.3.5)3.2、数字格式多种数字格式同没有区分或是两种不同的小数点位数的设定是不一样的。点击“格式(O)”,“单元格(E)”,“数字”来改变默认的数字格式(见图3-6)。图3-6(原书第22页fig.3.6)你可以尝试一下自己定义不同的数字格式,正数、负数和零用半冒号来区分。方格中用了多种颜色。文字被引在双引号中,例如,年加入数字后格式为:0“年”。你可以将你自定义的格式添加到格式框中也可以修改现有的格式(如图37)。图3-7(原书第22页fig.3.7)这个摘录表明这样的会计格式:正数在左边而负数用红色加方框标出。零是破折号。这样的格式类型很容易被激光打印机识别,因为通常减号很难被识别为负数的标志。会计格式类型:_-* #,#0_-;红色(#,#0);_-* -_-这样做的效果是控制数字视图中最多只有两个小数点位。3.3、框线和边框框线和边框有助于打破单元格的编码,并能让模型不论是在窗口显示还是打印输出后看起来更吸引人。最好将“格式(O)”保持可视,选择“视图(V)”,“工具栏(T)”,“格式”来显示格式条(如图38所示)。这就省去了每次都要到“格式(O)”,“单元格(E)”,“边框”等地方去添加边框。图3-8(原书第23页fig.3.8)图39和图310显示的是如何通过应用工具包中的边框来突出单元格。细线加在单元格的周围,用双框线显示总计。图3-9(原书第24页fig.3.9)图3-10(原书第24页fig.3.9)3.4、颜色和图案颜色和图案的使用也可以被用来帮助定义输入和输出。在图3-11中,非彩色用于表示输入,灰色表示答案。这些颜色的使用是个性化的,但重要的是保持多种颜色和格式的一致性使用。3.5、输入和结果的特殊颜色对输入值特别着色可有助于显示在哪里需要输入数据。作者常常用蓝色表示输入,绿色或黑色表示总计,红色或黑色表示计算结果(如图3-12所示)。颜色的使用应该保守一些,因为太过于炫耀的颜色会不合大多数人的口味。图3-11(原书第25页fig.3.11)图3-12(原书第25页fig.3.12)对模型添加几种颜色之后,模型变得更加清晰,并且颜色的使用也迫使作者从一致性的角度考虑将输入放在一起。现在的这个模型比原先的那个模型要有序的多,且更方便用户使用。3.6、数据的有效性数据有效性的设置使你可以设定单元格数据的界限。这样一来,如果你需要输入日期,那么用户只能输入日期,或者当你需要输入一列七个字的文本,用户也只有这么做才能继续往下进行。有效性的设置可以通过选择主菜单栏的“数据(D)”,“有效性(L)”来设置。(如图313所示)图3-13(原书第26页fig.3.13)在这个例子中,最好对以下三个输入有个最小值的限制:资本价值 大于0的正数每期的现金流量 大于0的正数贴现率 0和1之间的正数,如100%这个对话框有三个标签,当鼠标指针靠近单元格时会出现输入信息。若是错误的输入,会弹出出错警告的对话框。你也可以通过不选中对话框来选择不显示输入信息(如图314所示)。图3-14(原书第27页fig.3.14)出错警告显示的是你输入了一个错误的数字,并且在你遵守了数据有效性条件后才能继续(如图315所示)。这意味着资本价值应该而且只能是个正数。图3-15(原书第27页fig.3.15)由于每期的现金流量也符合同样的有效性约束条件,你可以选择“复制(C)”,然后在“编辑(E)”,“选择性粘贴(P)”,“有效性”来完成,而不用再一次的键入有效性约束条件。图3-16(原书第27页fig.3.16)最后的一个有效性条件只是简单的保证贴现率小于100%。这样做是为了缩小输入的范围,也是为了让用户能得到正确的答案。如果用户试图输入一个数值为120%的贴现率,那么将会出现如图317所示的那个错误信息。再次说明,这是从用户的角度来看模型的使用,并试图让用户知道什么是他要做的。3.7、控制组合框和按钮更多的加速输入和帮助用户的操作可以在“视图(V)”,“工具栏(T)”,“控件工具箱”中找到。在Assess或Visual Basic中都能找到类似的控制器。在这个例子中,你可能希望用户输入一个在8%12%之间的贴现率,并且每个数字之间间隔(步长)0.5%。这样的话我们就不可能利用数据的有效性来进行处理,必须另觅他途。因为数据的有效性只是限定了数据的上下限。图3-17(原书第28页fig.3.17)第一步是先在工作表的底部开辟一块工作区域,然后通过剪切和粘贴将贴现率输入到区域中(如图318所示)。这是为了确保在单元格C7中建立控制器的时候模型仍能正常工作。图3-18(原书第29页fig.3.17)工作区域显示了一个数值间隔,然后贴现率从8%开始并且每次都按步长值增加。图3-19(原书第29页fig.3.19)最终的工作区域将显示从8%到12%的贴现率(见图319)。步长值并不是固定不变的,它取决于单元格C26的值。由于这些是变量,而大多数的用户都不需要了解这些细节,所以我们把它们放置在独立的工作区域并清楚的标明。组合框控制器中有八个可能的选择,它返回你所选择的序号。它会把序号返回到单元格C27中。点击“工具栏(T)”中的“组合框”按钮,你就可以在单元格中画出组合框。你必须给控件确定从那里获取输入信息和在那里输出结果。在图3-20中我们可以看出,贴现率的取值是在区域B28:B35,结果的输出是在单元格C27中。图3-20(原书第30页fig.3.20)最后一步是在显示贴现率的单元格C28和显示序号的单元格C27之间建立链接。由于C28用于计算,需要将它的颜色改成红色以免混淆。函数“OFFSET”可完成这个功能, 你可以在“插入(I)”,“函数(F)”,“查找与引用”找到它(如图321所示)。图3-21(原书第31页fig.3.21)通过这个函数,你可以先定义一个起始数值,然后向下移动X行向左右移动Y列,最后得到另一个数值。在这个例子中,起始数值定义为单元格B27的值,并且向下移动的行数为单元格C27的值,没有左右移动。最终得到控制器所需要的数值用作贴现率进行现值的计算。这个组合框可以控制用户的输入,并且使得对单个贴现率的选择更加迅速(见 图323)。特别需要说明的是,用户仍然可以在B27、C26、C27中输入数据。这个组合框运行一个宏或依照程序更新单元格的数据,但这并没有受到保护。在工具栏中同样还有其他的控制器能使你的输入更直观。比如说,数据调节器和滚动条就可以使你只通过点击就能够增加数值,并且还可以根据具体输入变动的间隔需要来设置点击移动的间隔。图3-23(原书第32页fig.3.23)工作表Spinner_Scrollbar中应用了这两种控制器进行了替换操作。在那里,你可以选择一个最大值、最小值和增加值。这种操作会有一点点的复杂,原因是这个控制器没有分数。因此你就不得不从滚动条的位置来计算一下具体可能的贴现率。在图3-24中的滚动条的作用是取从1到8的数值并且以一个单位递增。滚动条连接的单元格是C26,在单元格C27中的函数“OFFSET”用的是选择的序号。图3-24(原书第33页fig.3.24)3.8、条件格式条件格式可以使我们根据单元格的不同数值进行不同的单元格显示。这里的不同指的是字体、边框和图案的不同。在这个例子中,我们将会引入一个很有用的操作试验来说明如果如何根据项目的成功与否来相应地显示结果。在图325中有一个新的单元格C7,它定义了进行操作性试验所需要的最低的净现值7,000。用格式按钮来设置格式,使得当现值大于或是等于单元格C7的值时,显示粉色。试验的结果在图326中展示,在图中可以看出9.5%的贴现率能使项目达到目标。图3-25(原书第34页fig.3.25)图3-26(原书第34页fig.3.26)你还可以通过点击“添加(I)”键,并且选择“编辑(E)”,“选择性粘贴(S)”,“格式”来复制,以便添加更多的格式。3.9、函数的使用以及各种类型的函数在模型中已经使用了函数“OFFSET”;但是,利用NPV公式会使净现值的计算变得更为简单。现在,从单元格C17到H19这个区域中的单元格都已经被直接赋值,这也就意味着可能会有12处错误存在。使用公式的目的就是为了减少直接赋值以便减少潜在的错误。这种利用Excel的解决方法比查贴现率表的方法要便利多了。你可以在主菜单栏选择“插入(I)”,“函数(F)”,或者从标准的工具栏中找到所用函数。函数被划分成几个部分以便查找。选择财务函数并找到NPV(见图327)。图3-27(原书第35页fig.3.27)净现值公式可将每期的现金流贴现。然后要做的就是选择1-5年并从0期开始添加各期的现金流量,再利用公式进行计算。=NPV(C25,D15:H15)+C15根据这个公式可以得到贴现率为9.5%时正确的答案是7,511.85。注意到现在的工作表在进行了必要的删减后已经变得更简洁了。你总是可以通过点击问号标示(如图328所示)来获取关于公式的帮助信息。你也可以通过选择查看来浏览一些替代公式的列表。图3-28(原书第36页fig.3.28)3.10、加载宏以便获得更多的功能对Excel的典型安装只包含了基本的函数公式。但是除此之外,还有大量的公式可供使用。例如,NPV函数假定每一期包含同样的日数。XNPV函数则允许你输入现金流实现的日期。(在第19章中讨论的估价模型就是用到了这一函数。)选择“工具(T)”,“加载宏(I)”,“分析工具库”,确定你已经可以使用扩展函数。选择此选项并选择“确定”进行安装。这样一来,这些函数在你每次打开Excel后都能使用。如果没有“加载宏(I)”选项,那么你就需要重装一下Excel了。图329中显示的工作表运用了XNPV函数和EDATE函数。EDATE函数是一个日期函数,它的功能是每次将事先确定的日期增加或减少若干个月。你先提供一个起始日期然后通过调用函数可以将时间提前或推后若干个月。由于提前或推后的步长是可以变动的,因此在输入区域中又有了一个新的控制。它在单元格D13:H13中确定函数需要的起始月份,并指向函数的结果。再次输入初始的现金流得到的结果是7,502.58,与原来的结果7,511.85有所不同。图3-29(原书第37页fig.3.29)3.11、文本框和更新标签你可以进一步增加模型的明晰性,方法是通过建立标签进行更新,以及在结果上提供一些文字说明。如果净现值在底线之上,你就应该建立一个标签来通知用户。在文件Feature.xls中的工作表Text就提供了两种改进方法:l 在标签上显示贴现率。l 反馈计算后的净现值。现在单元格B20有一个更新标签。Text函数将数字转化为文本并保留原来的格式。这将显示百分比到小数点后两位;“&”用来连接文本串:=NPV at &TEXT(C31,0.00%)反馈用一个IF函数来管理,以便显示结果在底线之上或之下时的文字串。为了减少代码,IF中的文本陈述将由净现值决定。=NPV is &IF(C20=C7,above,below)& the limit of &TEXT(C7,#,#0)现在工作表能告诉用户所用的贴现率并对结果进行说明(见图330)。Excel 将根据结果做出决定,而无需用户再花时间去比照结果。图3-30(原书第38页fig.3.30)3.12、记录版本序号、作者等正如在前面的章节中提到的那样,给模型备案是模型的一部分。在复杂的模型中,我们需要记录模型的版本序号、作者姓名和与模型运行有关的说明文字。在模型建立一段时间后,你可以比照并记录不同版本之间的差异。如果你要避免重大的错误,这样做是特别重要的。另外,版本序号会出现在你打印的每一张工作表的顶部(见图331)。图3-31(原书第39页fig.3.31)这部分同样也适用于给页面附图片和文字说明。将文字说明写入模型自然是有益的,你也可以通过选择“格式(O)”,“工作表(H)”,“隐藏(H)”来隐藏一个工作表。3.13、使用名称让公式更易理解名称可以使公式更便于理解:例如,不用C28而使用Periodic cash flow。就如上 图331中的Version、Author等,他们使你的模型更加标准,如:“=Version”表示插入版本序号。本书里的文件用了很多这种标准的名称,例如:Author、Company、Version和Product。你可以在“插入(I)”,“名称(N)”,“定义(D)”来定义名称,或者在Excel里用标签在选中的单元格区域的一侧建立多个名称(见图332),通过“插入(I)”,“名称(N)”,“指定(C)”完成。图3-32(原书第39页fig.3.32)这里指定名称在左边的栏中,如Start_date(见图333)。图3-33(原书第40页fig.3.33)现在函数就很容易理解了,因为它利用了在单元格C20中的各期利率。=XNPV(Int_Rate,C18:H18,C13:H13)如果你复制一个包含名字的工作表,同时新的工作表也会继续引用原来的工作表。简单说,如果你将一个工作表复制到一个新的工作簿,Excel会在这两个工作簿之间建立连接。你可以通过选择“编辑(E)”,“链接(K)”来检查。如果不是这样的话,你就不得不通过手动来移动并重新输入单元格的公式。图3-34(原书第40页fig.3.34)3.14、粘贴名称列表作为备案的一部分粘贴名称列表作为备案的一部分是很有用的,因为它给日后的审核提供了一种线索。你通过选择“ 插入(I)”,“名称(N)”,“粘贴(P)”,“粘贴列表(S)”来完成。 3.15、批注附批注的单元格是给单元格附上批注,以便提供背景信息或帮助用户使用。到“插入(I)”“批注(M)”,或右单击单元格,输入文本信息然后设置字体大小和颜色(见图335)。 图3-35(原书第41页fig.3.35) 图3-36(原书第41页fig.3.36)你还可以控制批注显示的方式,方法是点击“工具(T)”,“选项(O)”,“视图(V)”(见图336)。你可以关掉它们,显示标识符或使批注始终可视。在第二种情况下,单元格的右上方拐角会有一个红色的小三角。再次强调,批注可以帮助说明重要的公式或者将指导用户如何操作。例如,人们通常用数字来表示百分比,然后需要再除以100。一个关于这种格式的批注可以告诉用户需要插入的是数字而不是百分数。3.16、图表图表在管理报告和在向用户显示重要的结果的时候是很有帮助的。在此例中,现在我们就来添加一个累计现金流量的图表并设置它的图案。你可以用在标准工具栏上的图表向导,或者选择“插入(I)”,“图表(P)”来完成(见图337)。图3-37(原书第42页fig.3.37) 这里只需要画一个单序列的图表,因此用柱形图就可以清晰地表示。第二步,选择序列标签而不是数据区域标签(见图338)。然后点击添加序列来添加序列的名称、数值和标签。图3-38(原书第43页fig.3.38) 这个图显示的是累积的现金流量值和相应的X轴的日期(见图339)。这个图表的名称编码为Graphics!$C$13:$H$13。点击“下一步”,图表的标题和坐标轴的标题就会显示出来。Excel不会让你输入一个参照的单元格作为标题,但是你可以在完成向导后做到。图3-39(原书第43页fig.3.39)右键单击X轴,可以更改显示的格式。图表的标题输入:=Graphics!$B$20,这样它可以自我更新。这样做是很重要的,因为我们并不希望这个标签固定。回收期是一种没有考虑货币的时间价值的投资评价方法。实际上就是考察将用多长时间才能收回自己投资在项目的资金。最终的图表(见图340)清楚的显示了这种回收会在第四年。图3-40(原书第44页fig.3.40)3.17、动态图表来绘制单个序列简单的图表是很有用,但是,一个动态的图表能使你考察任何一行数据。这里,我们虽然给出的是个很简单的例子,但这种方法却对于考察现金流的单个序列或者是对公司分析很有帮助。具体的步骤如下:l 建立一个组合框,输入单个的序列并且将它和单元格连接以便及时更新。l 运用OFFSET函数,根据控制器中与单元格的联系来查找相关的序列。OFFSET函数从14行开始,向下移动的数值为单元格F25的值。l 指出图表的查找序列,确保序列的名称和图表的名称没有固定。序列的名称是单元格B27的值,这样确保自我更新。B27中的公式是:=OFFSET(C14,$F$25,0)图3-41(原书第45页fig.3.41) 图341显示了组合框和由每一个可以利用的行做的图表。 在光盘里,还有一个文件名为:Dynamic_Graph,它集合了数字表格、组合框和OFFSET函数以及一张图表来演示这一结果(见图342)。图3-42(原书第45页fig.3.42)3.18、数据模拟运算表到目前为止,这个模型已经得出了一个单一变量数值的答案:资本和现金流以9.5%的贴现率贴现得出净现值。如果你能将由一组贴现率求得的净现值同时显示在一张工作表中,这个模型的功能还会变得更加强大。这样的结果可以由数组函数TABLE实现。这个函数在工具栏“数据(D)”,“模拟运算表(T)”可以找到。具体步骤为:l 设定一个包含了间隔数值即步长值的框(数值框)作为输入;l 输入函数;l 作图显示结果。动态图表已经被转移到了下一张工作表Data_Tables中了,这样就给数据表和灵敏度分析表(见图343)腾出了空间。建立一个数据框输入间隔数值,并且在29列输入贴现率。9.5%的贴现率是绝对值,输入数值用蓝色标出。在它任何一边的单元格的值都加上或者减去这个间隔数值。单元格B30查找C22中的答案。当完成数据模拟运算表之后,它将会显示对应每个利息率的净现值。图3-43(原书第46页fig.3.43)下一个步骤是突出数据域,并把它输入到模拟运算表中(见图344)图3-44(原书第47页fig.3.44)在这个临时版本中,单元格C81是从组合框中得到的每期贴现率。Excel在数值框中插入数字,我们可以看到当贴现率为9.5%时答案是7,502.58。这显示了最终结果对贴现率变化的敏感度情况。模拟运算表是一个数组函数,这就意味着你不能够改变数据源组中的单个单元格。如果你改变了C31:H31中的任意一个单元格,你将会得到错误的信息。类似的,如果你复制一个模拟运算表到另外的工

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论