我创建了“一期”金融在Excel模型 - 即一个模型,其中公式中的每一列一致的,所以你可以复制/粘贴/根据需要扩展它们

我打破了模型的假设到一个单独的片材。举例来说,我有一个名为细胞monthly_sales;这就是我的新客户每个月增加。式然后看起来像这样:

假设片1.0

      A             B                  
1 | Monthly sales | 6                 |

突起片1.0

     A               B     C                   D                   E                  
1 |               |     | August 2009       | September 2009    | October 2009
2 | # Customers   |     | =B2+monthly_sales | =C2+monthly_sales | =D2+monthly_sales

因此,在八月,我有6个客户;在九月,12个客户;十月,18个客户。到现在为止还挺好。但是,我最早的客户将需要更多的开发资源,对不对?我最好加一些限制。

假设片2.0

      A                       B                  
1 | Monthly sales           | 6                 |
2 | Early customers         | 3                 |
3 | Early dev cycle, months | 2                 |

在英国:第3个客户将各需要2个月的开发时间。从八月至十一月,我有1个客户。在12月,我添加第二个客户,并在4月,第三。到2010年8月,我通过early_customers,然后我就可以开始了6月产量增长。

我知道如何用VBA做到这一点;我可以编写检查前几个月一个用户定义的功能,并且我改变# Customers式为类似

=B2+min(max_customers_this_month(),monthly_sales)

但我怀疑有一些方法,以适当的Excel公式声明中表示此概念。是否有?

有帮助吗?

解决方案

有可能是做这一个更简洁的方式,但这里有一个解决方案。输入1到B2和以下到C2(和复制到下面的列):

=IF(
    B2 > Early_customers,
    B2 + Monthly_sales,
    IF(
       OR(
          C1 - $B1 < Early_dev_cycle,
          OFFSET(B2, 0, MAX(-Early_dev_cycle + 1, $B1 - B1)) <> B2 
         ),
       B2,
       B2 + IF(
               B2 < Early_customers,
               1,
               Monthly_sales
              )
      )
   )

请注意,这种解决方案假定行1被填充有用于个月而不是使用日期的数字。要使用日期,你将不得不使用的东西比简单的减法更复杂的OR子句中的两次减法涉及$ B1。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top