논리/엑셀 프로그래밍

투자인력 대비 매출액으로 사업우선순위 결정

섬그늘 2008. 11. 14. 13:53

http://kin.naver.com/detail/detail.php?d1id=1&dir_id=1050202&eid=KAUEKQPInFcxW22cXgWDy5Msx+oHVRob

 

제시하신 과제는 주어진 입력으로 출력을 어떻게 설계할 것인가 하는, 프로그래밍의 성격입니다. 그 틀을 설계한 후에야 엑셀이 기능할 수 있는 것이지요. (엑셀 함수는 각각의 기능을 할 따름이며 말씀하신 과제를 한 방에 처리해주는 함수란 없습니다.)

 

아래는 제 관점으로 봤을 때 만들어 본 풀이입니다. 표를 마우스로 긁어 엑셀시트의 해당 영역에 붙이고 수식 역시 순서대로 마우스로 긁어 복사, 해당 주소 창에 붙인 후 표를 완성, 하나하나 뜯어 이해해 보세요. ($가 붙는 절대참조, $가 붙지 않는 상대참조 역시 나중에 공부해 보십사 합니다 - 오픈백과에 잘 나와 있습니다.)

 

 

A

B

C

D

E

F

G

H

I

J

1

프로젝트

A

B

C

D

E

 

 

 

 

2

매출액

500

600

1,200

1,800

3,000

 

부장

500

20

3

소요일수

5

7

14

20

30

 

 

 

 

4

부장

0

0

0

0

1

 

부장

10

20

5

차장

0

0

0

1

0

 

차장

9

18

6

과장

1

1

2

1

1

 

과장

8

16

7

대리

2

2

1

2

1

 

대리

7

14

8

주임

2

2

2

1

2

 

주임

6

12

9

총단위

68

68

70

74

74

 

 

 

 

10

인건비

340

476

980

1,480

2,220

 

 

 

 

11

총수익

160

124

220

320

780

 

 

 

 

12

수익/일

32

18

16

16

26

 

 

 

 

13

순위

1

3

5

4

2

 

 

 

 

J2 =I2/25                                              ; 부장의 일당. (I2의 부장 월급)을 근무일수로 나눔.
J4 =J$2*I4/I$4                                      ; 부장을 기준으로 가중치를 넣은 각 직급 일당. J4 잡아 J8까지 복사.
B9 =SUMPRODUCT(B4:B8,$J4:$J8)      ; 하루에 들어 가는 인건비
B10 =B9*B3                                         ; 총 소요일에 투입 인건비
B11 =B2-B10                                       ; 총 수익
B12 =B11/B3                                       ; 하루 당 수익 (수익률에 해당함)
B13 =RANK(B12,$B12:$F12)                 ; 수익률 기준 순위 매김

 

B9:B13 잡아 복사, 오른쪽으로 채워넣으면 표가 완성됩니다. 위 표는 하나의 예시일 뿐, 고려해야 할 요인이 숱하게 많을 겁니다. (예: 프로젝트가 성공하지 못할 경우 risk를 어떻게 표에 구현할까, 단기 수익률 대비 장기 총수익의 중요도는 어떻게 가중치를 넣을까 따위)

 

여하튼 위 예시에서 제가 말하고자 하는 것은 제시하신 과제의 유형 상 표의 틀을 어떻게 짜느냐 하는 것이 가장 긴요한데 엑셀이 그 설계를 사람 대신 해주진 못한다는 겁니다. 설계에 따라 엑셀 함수를 어떻게 효과적으로 구현할 것인가는 부차적으로 기능을 익힐 성격이지요. (어느 정도 함수를 익힌 후엔 그 함수를 고려하여 설계하는 단계로 점프하게 될 겁니다.)