Excel如何根据数字引用单元格,并返回单元格的值

在计算投资回收期的时候遇到一个问题,需要根据累计现金流回正的那一年去计算小数点后的数字。

例如,每年净现金流是3,累计现金流是-10,-7,-4,-1,2,5,这时候回收期就是4-(-1)/2。B3单元格里的4是数出来的,E2和F2也是手动输入的。但是如果净现金流变化,就要重新写公式。

解决这个问题,需要用到3个函数。

第一步:使用countif函数数出4。注意判断条件要加双引号。

【注】countif函数第一个参数是范围,第二个参数是条件,输出结果为范围内符合条件的单元格的个数。

第二步:使用address函数定位累计现金流最后一次为负的位置。

【注】address函数第一个参数是行数,第二个参数是列数,第三个参数是引用类型,1代表绝对引用,2代表列相对行绝对,3代表行相对列绝对,4带代表相对引用。输出结果为单元格位置。

第三步:使用indirect函数得到累计现金流最后一次为负的相应值。

【注】indirect函数的参数为单元格地址,输出结果为地址对应单元格的值。

用同样的方法可以得到累计现金流最后一次为负的下一年的净现金流的值。最后的公式如下。

=COUNTIF(B2:G2,"<0")-INDIRECT(ADDRESS(2,1+COUNTIF(B2:F2,"<0"),1))/INDIRECT(ADDRESS(1,2+COUNTIF(B2:F2,"<0"),1))

如果每年净现金流改变,相应的投资回收期=2-(-4)/5=2.8年。公式没有问题啦,手动输的B3就会出现偏差。

【备注】以上图为例,投资回收期一般的计算公式为3-2/5,但因为在数学上是一样的,我习惯用2-(-4)/5,但是会带来一个问题,就是累计现金流如果恰好为0,上面的公式会计算错误,解决这个问题的方法是上面的每个countif函数的条件都改为<=0,改了没有影响,只是我发现的时候懒得全换一遍图。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值