视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
基于EXCEL的项目投资决策模型设计
2025-10-03 04:01:47 责编:小OO
文档
基于EXCEL的项目投资决策模型设计

作者:杨 桦

来源:《科技经济市场》2010年第01期

        摘要:在充满投资机会的现代社会,一个好的投资决策会给企业带来丰厚的利润,建立良好的企业形象;相反,如果投资决策不利,可能会使企业一蹶不振,甚至破产。那么如何衡量投资项目的可行性呢?本文将利用EXCEL和VBA函数来建立一套完整的项目投资决策分析模型,以期为企业的高层管理者在进行项目投资决策时提供参考性建议。

        关键词:EXCEL;项目投资;决策;模型

        

        进行项目投资决策所使用的经济评价指标,按照其是否考虑货币时间价值分为静态指标和动态指标两大类。对应于静态指标的方法称为非贴现法,对应于动态指标的方法称为贴现法。非贴现指标包括年投资回收期、会计收益率等。贴现指标包括净现值、获利指数、内涵报酬率等。

        

        1指标概述

        

        1.1非贴现指标

        1.1.1投资回收期

        投资回收期是指收回全部原始投资所需要的时间,一般以年来表示。投资回收期越短,说明收回投资所需要的时间越少,投资风险越小,投资效果越好。

        投资回收期的主要优点是计算简单,指标含义清楚,容易理解,能鼓励投资者尽快收回投资,避免投资风险。其主要缺点,一是没有考虑货币的时间价值,人为地缩短了投资项目的回收期限;二是忽略了不同投资项目超过投资回收期以后的现金净流量的差别,影响了决策的准确性。

        1.1.2会计收益率

        会计收益率是投资项目预期年平均净利润与其投资总额的比值。会计收益率越高,说明投资的经济效果越好。

        会计收益率简单明了,易于理解和掌握,但没有考虑货币的时间价值,人为地提高了投资项目的报酬率水平;在计算该指标时,没有直接利用现金流量信息,不便于与其他指标进行比较。

        1.2贴现指标

        1.2.1净现值

        净现值是指投资项目未来现金流入量现值与其现金流出量现值之间的差额,即投资项目从投资开始到项目寿命终结时,所有的现金流量按预定的贴现率折算成项目开始时的价值(即现值)的代数和。净现值为正,说明投资项目实施后的投资报酬率大于预定贴现率,方案可行,否则不可行。净现值最大的可行方案即为最优方案。

        净现值指标的主要优点是考虑了货币时间价值,使不同时点发生的现金流量具有可比性;同时,也考虑了投资的风险因素,贴现率的高低可根据投资项目的风险程度进行调整。其缺点是不能从动态角度直接反映投资项目的实际收益率水平,不便于直接评价原始投资额不同的互斥型方案。

        1.2.2现值指数

        现值指数是指投资项目未来现金流入量现值同其现金流出量现值之间的比值。采用该指标时,一般以现值指数的大小作为投资项目是否可行的标准。若投资项目的现值指数大于1,说明方案实施后的投资报酬率大于预定贴现率,方案可行,否则不可行;现值指数最大的可行方案为最优方案。

        现值指数的优缺点与净现值基本相同。其区别在于现值指数是相对数指标,可以从动态角度反映投资项目的投入与产出关系,有利于评价原始投资额不同的投资项目的经济效果。

        1.2.3内涵报酬率

        内涵报酬率是指能使投资项目未来各期现金流入现值等于其现金流出现值,即净现值等于零时的贴现率。内涵报酬率就是投资项目的实际投资报酬率,反映了投资项目的实际获利水平。内涵报酬率的计算较为复杂,根据投资项目现金流量的特点,可以分别采用简便法和逐次测试法。

        内涵报酬率指标的优点是考虑了货币时间价值,能直接反映投资项目的实际投资报酬水平,而且不受贴现率高低的影响,比较客观。但该指标的计算过程比较复杂,有时可能出现多个IRR,难以进行决策。

        

        2各函数简介

        

        2.1 NPV函数

        NPV函数是常用的财务函数之一,它通过使用贴现率以及一系列未来支出(负值)和收入(正值),返回一项投资的净现值。

        函数语法:NPV(rate,value1,value2, ...)

        Rate为某一期间的贴现率,是一固定值。

        Value1,value2, ...为1到29个参数,代表支出及收入。

        Value1,value2,在时间上必须具有相等间隔,并且都发生在期末。 

        2.2 LOOKUP函数

        LOOKUP函数是常用的查找函数之一,它从单行或单列区域或者从一个数组返回值。LOOKUP函数具有两种语法形式: 

        2.2.1向量

        LOOKUP的向量形式在单行区域或单列区域(称为“向量”)中查找值,然后返回第二个单行区域或单列区域中相同位置的值。 

        当要查询的值列表较大或者值可能会随时间而改变时,使用该向量形式。

        LOOKUP(lookup_value,lookup_vector,result_vector)

        Lookup_valueLOOKUP在第一个向量中搜索的值。Lookup_value可以是数字、文本、逻辑值、名称或对值的引用。

        Lookup_vector只包含一行或一列的区域。lookup_vector 中的值可以是文本、数字或逻辑值。

        lookup_vector中的值必须以升序顺序放置:...,-2, -1, 0, 1, 2, ...;A-Z;FALSE, TRUE。否则,LOOKUP可能无法提供正确的值。大写文本和小写文本是等同的。

        Result_vector只包含一行或一列的区域。它必须与 lookup_vector大小相同。

        如果LOOKUP找不到lookup_value,则它与lookup_vector中小于或等于lookup_value的最大值匹配。 

        如果lookup_value小于lookup_vector中的最小值,则 LOOKUP会提供 #N/A 错误值。

        2.2.2数组

        LOOKUP的数组形式在数组的第一行或第一列中查找指定的值,然后返回数组的最后一行或最后一列中相同位置的值。 

        当要查询的值列表较小或者值在一段时间内保持不变时,使用该数组形式

        LOOKUP(lookup_value,array)

        Lookup_valueLOOKUP在数组中搜索的值。Lookup_value 可以是数字、文本、逻辑值、名称或对值的引用。

        如果LOOKUP找不到lookup_value,它会使用数组中小于或等于lookup_value的最大值。

        如果lookup_value小于第一行或第一列中的最小值(取决于数组维度),LOOKUP会返回 #N/A 错误值。

        如果数组包含宽度比高度大的区域(列数多于行数),LOOKUP会在第一行中搜索 lookup_value。

        如果数组是正方的或者高度大于宽度(行数多于列数),则 LOOKUP在第一列中进行搜索。

        数组中的值必须以升序顺序放置:...,-2, -1, 0, 1, 2, ...;A-Z;FALSE, TRUE。否则,LOOKUP无法提供正确的值。大写文本和小写文本是等同的。

        2.3 IF函数 

        IF函数是较为常用的逻辑函数之一,它执行真假值判断,根据逻辑计算的真假值,返回不同结果。可以使用函数IF对数值和公式进行条件检测。

        

        函数语法:IF(logical_test,value_if_true,value_if_false)

        Logical_test表示计算结果为TRUE或FALSE的任意值或表达式。例如,A10=100就是一个逻辑表达式,如果单元格A10中的值等于100,表达式即为TRUE,否则为FALSE。本参数可使用任何比较运算符。

        2.4 INDEX函数

        INDEX函数是常用的查找函数之一,用于返回表或区域中的值或值的引用。函数有两种形式:数组和引用。数组形式通常返回数值或数值数组;引用形式通常返回引用。

        INDEX(array,row_num,column_num)返回数组中指定单元格或单元格数组的数值。

        INDEX(reference,row_num,column_num,area_num)返回引用中指定单元格区域的引用。

        函数语法1:数组形式

        INDEX(array,row_num,column_num)

        Array为单元格区域或数组常量。

        如果数组只包含一行或一列,则相对应的参数row_num或column_num为可选。

        如果数组有多行和多列,但只使用row_num或column_num,函数INDEX返回数组中的整行或整列,且返回值也为数组。

        Row_num数组中某行的行序号,函数从该行返回数值。如果省略row_num,则必须有 column_num。

        Column_num数组中某列的列序号,函数从该列返回数值。如果省略column_num,则必须有row_num。

        函数语法2:引用形式:INDEX(reference,row_num,column_

        num,area_num)

        Reference对一个或多个单元格区域的引用。

        如果为引用输入一个不连续的区域,必须用括号括起来。

        如果引用中的每个区域只包含一行或一列,则相应的参数 row_num或column_num分别为可选项。例如,对于单行的引用,可以使用函数INDEX(reference,,column_num)。

        Row_num引用中某行的行序号,函数从该行返回一个引用。

        Column_num引用中某列的列序号,函数从该列返回一个引用。

        Area_num选择引用中的一个区域,并返回该区域中 row_num 和 column_num 的交叉区域。选中或输入的第一个区域序号为1,第二个为2,以此类推。如果省略area_num,函数 INDEX使用区域1。

        2.5 IRR函数

        IRR函数财务函数中常用的函数之一。它返回由数值代表的一组现金流的内部收益率。

        这些现金流不必为均衡的,但作为年金,它们必须按固定的间隔产生,如按月或按年。内部收益率为投资的回收利率,其中包含定期支付(负值)和定期收入(正值)。

        函数语法: IRR(values,guess)

        Values为数组或单元格的引用,包含用来计算返回的内部收益率的数字。Values 必须包含至少一个正值和一个负值,以计算返回的内部收益率。 

        函数IRR根据数值的顺序来解释现金流的顺序。应确定按需要的顺序输入了支付和收入的数值。 

        2.6 MATCH函数

        MATCH函数返回在指定方式下与指定数值匹配的数组中元素的相应位置。

        函数语法:MATCH(lookup_value,lookup_array,match_type)。

        Lookup_value为需要在数据表中查找的数值,它可以是数值(或数字、文本或逻辑值)、对数字、文本或逻辑值的单元格引用。

        Lookup_array是可能包含所要查找的数值的连续单元格区域,Lookup_array可以是数组或数组引用;

        Match_type为数字-1、0或1,它说明Excel如何在lookup_array 中查找lookup_value。

        如果match_type为1,函数MATCH查找小于或等于lookup_value的最大数值;如果match_type 为0,函数MATCH 查找等于lookup_value的第一个数值;如果match_type为-1,函数MATCH查找大于或等于lookup_value的最小数值;如果match_type为0且lookup_value 为文本,lookup_value可以包含通配符(“*”和“?”)。星号可以匹配任何字符序列,问号可以匹配单个字符。 

        

        3各模型设计

        

        3.1投资回收期模型设计

        例如,已知某企业不同年度的净现金流量,计算投资回收期。

        3.1.1新建工作簿与工作表表

        打开EXCEL,将“BOOK1.xls”工作簿改名为“投资决策模型”,新建一工作表,命名为“投资回收期”,分别输入年度、年净现金流量、累计净现金流量等指标,如图1-1所示。

        3.1.2计算“累计净现金流量”

        单击C4单元格→在编辑栏中输入“=SUM($C$3:C3)”→按【回车】键确认,复制公式至J4单元格。其中SUM是求和函数,公式中使用了单元格的混合引用,公式向右复制时引用范围会自动扩大,从而对净现金流量进行累计。

        3.1.3计算“投资回收期”

        单击C6单元格→在编辑栏中输入“=MATCH(0,$C$4:$J$4,1)”→按【回车】键确认。该函数是在$C$4:$J$4单元格区域中,查找小于或等于0的最大数值。

        3.1.4计算“投资回收期的小数年份”

        单击C7单元格→在编辑栏中输入“=INDEX(C4:J4,MATCH(0,C4:J4,1)*-1/INDEX(C3:J3,MATCH(0,C4:J4,1)+1)”→按【回车】键确认。该公式中INDEX(C4:J4,MATCH(0,C4:J4,1))表示利用MATCH函数返回的位置值,查找C4:J4单元格区域中第4年位置的值,即投资回收期之前的累计净现金流量;INDEX(C3:J3,MATCH(0,C4:J4,1)+1)返回C3:J3单元格区域中第5个位置的值,即投资回收期当年的净现金流量。

        3.1.5计算“总投资回收期”

        单击C8单元格→在编辑栏中输入“=C6+C7”→按【回车】键确认,总投资回收期为4.33年。如图1-2所示。

        其中,投资回收期=投资回收期整数年+投资回收期小数年,其中投资回收期整数年是累计净现金流量由负值变为正值的年份,小数年的计算公式为:

        投资回收期以前年份累计净现金流量×(-1/投资回收期当年净现金流量)。公式中的-1是确保投资回收期小数年是正数。

        3.1.6模型设计

        选取B2:J4单元格区域,单击【复制】按钮→单击【编辑】菜单→选择【选择性粘贴】→选中【转置】复选框→将该表格行列转换粘贴到N7:Q15单元格区域内。

        打开窗体控件,在N4单元格添加一组合框,右击该组合框,选择【设置控件格式】在打开的【设置控件格式】对话框中,作如图1-3的设置。

        

        其中,年净现金流量的计算公式为:“=LOOKUP($K$4,$N$8:$N$15,P8:P15)” ,含义是在$N$8:$N$15单元格区域中查找K4的值,返回P8:P15单元格区域中相同位置的值;累计净现金流量计算公式为:“=LOOKUP($K$4,$N$8:$N$15,Q8:Q15)”,模型设计结果如图1-4所示,这样根据不同的年度,反映其不同的净现金流量与累计净现金流量。

        3.2净现值模型设计

        例如,某公司为更新旧设备欲购进一台价值1000万元的新设备,有效期5年,经营期各年的税后净现金流量如上表,资金成本率为10%,试分析该方案的可行性。

        3.2.1新建表

        在“投资决策模型.xls”工作簿中新建一工作表,命名为“净现值”,分别输入期数、税后净现金流、资本成本等指标,如图2-1所示。

        3.2.2计算“净现值”

        单击C5单元格→在编辑栏中输入“=NPV(B1,D4:H4)+C4)”→按【回车】键确认,即可得到该项目的净值为72.30元。

        注意:利用函数NPV,计算的是经营期的税后现金净流量的现值,需减去初始投资额,才能得到该项目的净现值。

        根据计算结果,此方案的现金流量为正,方案可以接受。

        3.2.3建立模型

        打开窗体控件,分别添加一微件和五个滚动条,右击微件,对【设置控件格式】对话框做如图2-2的设置。单击L3单元格,在编辑栏中输入“=J3/100”。

        分别右击各滚动条控件,对【设置控件格式】对话框仿照图2-3进行相应的设置。

        这样就建立了不同的资本成本以及各年不同的净现金流,所计算的不同的NPV的值。如图2-4所示。

        3.2.4建立动态图表

        利用图表向导,建一条形图,在图中添加一微件,利用微件,反映不同资本成本构成下的净现值,如图2-5所示。

        3.3现值指数与内部报酬率模型设计

        例如,某企业有两个投资方案,已知原始投资额及各年的现金流量,选择最佳方案。

        3.3.1新建表

        在“投资决策模型.xls”工作簿中新建一工作表,命名为“现值指数与内部报酬率”,分别输入方案1与方案2的各项指标,如图3-1所示。

        3.3.2计算“净现值”

        单击B6单元格→在编辑栏中输入“=NPV(G2,C4:G4)”→按【回车】键确认;单击C6单元格→在编辑栏中输入“=NPV(G2,C5:G5)”→按【回车】键确认,这样就分别得到了方案1与方案2的净现值。

        3.3.3计算“现值指数”

        单击B7单元格→在编辑栏中输入“=B6/B2”→按【回车】键确认;单击C7单元格→在编辑栏中输入“=C6/C2”→按【回车】键确认,这样就分别得到了方案1与方案2的现值指数。由于方案1的现值指数大于方案2的现值指数,故决策应选择方案1。

        3.3.4计算“内部报酬率”

        单击B8单元格→在编辑栏中输入“=IRR(B4:G4)”→按【回车】键确认;单击C8单元格→在编辑栏中输入“=IRR(B5:G5)”→按【回车】键确认,这样就分别得到了方案1与方案2的内部报酬率。由于方案1的内部报酬率大于方案2的内部报酬率,故决策应选择方案1。

        3.3.5建立模型

        单击K16单元格,在编辑栏中输入公式=“应选择的方案是”&IF(B8>C8,“方案1”,“方案2”),打开窗体控件,利用微件,建立年金终值与现值模型,如图3-2所示。

        3.3.6建立动态图表

        选取B1:C1与B7:C8单元格区域,利用图表向导,制作一柱形图,利用窗体控件添加一微件,将其链接到H2单元格,在G2单元格的编辑栏中输入公式“=H2/100”,这样就建立了图表与微件的链接,随着利率的变化,图表中的相应数值也在变动。如图3-3所示。

        

        参考文献:

        [1]李闻一.基于Excel的固定资产项目投资决策分析模型.中国管理现代化,2008(12).下载本文

显示全文
专题