我有一组连续的值:
(9,888,000)(88,410,205)(76,030,786)(62,712,494)(48,416,610)(33,102,893)(16,729,517)746,979 19,371,753 39,191,722 43,455,624 66,114,081 89,819,671 114,926,989 141,492,724
每个值代表特定年份的某些金额。例如(16,729,517)是第7年的现金流出。
现在,我在另一个单元格中的初始付款金额为110,000,000。
现在我尝试计算首次付款的回收年度。对我来说,投资回收期应为:7.96,因为当年金额变为正数。
但是我无法计算这个7.96的值。有人可以帮忙吗?
我是通过间接方法完成的:
作为第一步,我检查每列中的值,并对正值和负值存储true或false。
第二步:=MATCH(TRUE,Complete Array,0)
。这给了我8作为数字,它找到了第一个正值。
然后,作为第三步,我使用这个公式:
=Year-OFFSET(CFC,0,Year)/OFFSET(Investment,0,Year) .
在这种情况下,年份是我在步骤2中得到的,而CFC单元格是空的(0年内的累积现金流量)。输出这个7.96,这是我要求的价值。
但这是一种漫长而间接的方式。我希望所有这些计算都有一个单行公式。
答案 0 :(得分:2)
您可以将公式合并为一行。这是你正在做的事情的一个小变化,这是在低于和高于零的值之间的直线外推:
objects
如果=FORECAST(0,{-1,0},
OFFSET(CashFlows,,MATCH(TRUE,CashFlows>0,0)-2,1,2))
+MATCH(TRUE,CashFlows>0,0)
范围在列中而不是行中,则可能需要更改偏移公式。通过在点击CashFlows
ctrl+shift
,公式将作为数组公式输入
编辑此公式忽略了第一笔现金流量,无论是正面还是负面。如果要包含它,请将enter
运算符更改为>
并测试错误。
答案 1 :(得分:0)