基于EXCEL的项目投资决策模型设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于EXCEL的项目投资决策模型设计
摘要:在充满投资机会的现代社会,一个好的投资决策会给企业带来丰厚的利润,建立良好的企业形象;相反,如果投资决策不利,可能会使企业一蹶不振,甚至破产。那么如何衡量投资项目的可行性呢?本文将利用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对数值和公式进行条件检测。