كيف يمكنني تمثل قواعد العمل في النماذج المالية إكسل؟
-
22-07-2019 - |
سؤال
وأنا خلق "، فترة واحدة" النموذج المالي في 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 العملاء. في ديسمبر، أود أن أضيف العميل الثاني، وفي أبريل، الثلث. قبل أغسطس 2010، وأنا من خلال early_customers
، وبعد ذلك يمكن أن تبدأ في النمو بنسبة 6 في الشهر.
وأنا أعرف كيفية القيام بذلك مع VBA. أستطيع أن أكتب دالة معرفة من قبل المستخدم الذي يتحقق الأشهر السابقة، وأنا تغيير الصيغة # Customers
إلى شيء من هذا القبيل
=B2+min(max_customers_this_month(),monthly_sales)
ولكن أظن هناك طريقة لتمثيل هذا المفهوم إلزامي في صيغة إكسل المناسبة. هل هناك؟
المحلول
وهناك ربما بطريقة أكثر إيجازا للقيام بذلك، ولكن هنا الحل. أدخل 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 يتم ملؤها مع أرقام للأشهر بدلا من مع التواريخ. استخدام التواريخ، سيكون لديك لاستخدام شيء أكثر تعقيدا من الطرح بسيط للالطرح اثنين في شرط أو التي تنطوي على $ B1.