Frage

Ich erstelle ein „one-Periode“ Finanzmodell in Excel -. Das heißt, ein Modell, bei dem die Formeln in jeder Spalte konsistent sind, so können Sie Kopieren / Einfügen / erweitern sie wie gewünscht

Ich breche die Modellannahmen in ein gesondertes Blatt aus. Zum Beispiel habe ich eine Zelle namens monthly_sales; das ist, wie viele neue Kunden, die ich jeden Monat hinzu. Die Formeln sehen dann wie folgt aus:

Annahmen Blatt 1.0

      A             B                  
1 | Monthly sales | 6                 |

Projections Blatt 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

So im August, werde ich 6 Kunden hat; im September 12 Kunden; im Oktober 18 Kunden. So weit, ist es gut. Aber meine erste Kunden mehr Entwicklungsressourcen benötigen, nicht wahr? Ich würde besser einige Grenzen hinzuzufügen.

Annahmen Blatt 2.0

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

In English: Die ersten drei Kunden jeweils für ihren Bereich von 2 Monaten Entwicklungszeit. Von August bis November habe ich 1 Kunden. Im Dezember füge ich einen zweiten Kunden, und im April ein Drittel. Im August 2010 bin ich durch die early_customers, und dann kann ich wachsen um 6 pro Monat beginnen.

Ich weiß, wie dies mit VBA zu tun; Ich kann eine benutzerdefinierte Funktion schreiben, die den Vormonaten überprüft, und ich ändern, um die # Customers Formel so etwas wie

=B2+min(max_customers_this_month(),monthly_sales)

Aber ich vermute, es gibt eine Möglichkeit, dieses Konzept deklarativ in einer richtigen Excel Formel darzustellen. Gibt es?

War es hilfreich?

Lösung

Es ist wahrscheinlich eine prägnante Art und Weise, dies zu tun, aber hier ist eine Lösung. Geben Sie 1 in B2 und die folgenden in C2 (und kopieren Sie in die folgenden Spalten):

=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
              )
      )
   )

Beachten Sie, dass diese Lösung geht davon aus, dass Zeile 1 mit den Zahlen für die Monate aufgefüllt wird statt mit Terminen. Zur Nutzung Daten, müssen Sie etwas anspruchsvoller als einfache Subtraktion für die beiden Subtraktionen in der OR-Klausel verwenden, den $ B1 einzubeziehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top