문제

Excel에서 "1 개의 기간"재무 모델을 만들고 있습니다. 즉, 각 열에서 공식이 일관된 모델이므로 원하는대로 복사/붙여 넣기/확장 할 수 있습니다.

모델의 가정을 별도의 시트로 나누고 있습니다. 예를 들어, 나는 이름이 지정된 셀이 있습니다 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

8 월에는 6 명의 고객이 있습니다. 9 월에는 12 명의 고객; 10 월 18 일 고객. 여태까지는 그런대로 잘됐다. 그러나 최초의 고객은 더 많은 개발 자원이 필요할 것입니다. 한계를 추가하는 것이 좋습니다.

가정 시트 2.0

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

영어로 : 처음 3 명의 고객은 각각 2 개월의 개발 시간이 걸립니다. 8 월부터 11 월까지 고객 1 명이 있습니다. 12 월에는 두 번째 고객을 추가하고 4 월에는 세 번째입니다. 2010 년 8 월까지 나는 early_customers, 그런 다음 한 달에 6 씩 성장을 시작할 수 있습니다.

나는 VBA로 이것을하는 방법을 알고 있습니다. 지난 몇 달 동안 확인한 사용자 정의 기능을 작성할 수 있으며 # Customers 같은 것에 대한 공식

=B2+min(max_customers_this_month(),monthly_sales)

그러나 나는이 개념을 적절한 Excel 공식으로 선언적으로 표현할 수있는 방법이 있다고 생각합니다. 거기가 있습니까?

도움이 되었습니까?

해결책

더 간결한 방법이있을 것입니다. 그러나 여기에 해결책이 있습니다. 1 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이 포함 된 OR 조항의 두 뺄셈에 대해 간단한 뺄셈보다 더 정교한 것을 사용해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top