논리/엑셀 프로그래밍

3조 2교대 (4일 주간 2일 휴무 교대) 근무표 작성

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

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

 

 

B

C

D

E

F

G

H

I

J

K

L

2

날짜

A조

B조

C조

 

A조

B조

C조

 

 

 

3

2008-03-10

1

-1

0

 

 

-1

4

2008-03-11

1

-1

0

 

 

0

5

2008-03-12

1

0

-1

 

 

1

6

2008-03-13

1

0

-1

 

 

 

 

7

2008-03-14

0

1

-1

 

 

 

 

8

2008-03-15

0

1

-1

 

 

 

 

9

2008-03-16

-1

1

0

 

 

 

 

10

2008-03-17

-1

1

0

 

 

 

 

11

2008-03-18

-1

0

1

 

 

 

 

12

2008-03-19

-1

0

1

 

 

 

 

13

2008-03-20

0

-1

1

 

 

 

 

14

2008-03-21

0

-1

1

 

 

 

 

 

G3 =VLOOKUP(C3,$K$3:$L$5,2,0)

C7 =IF(C5=C6,SIGN(SUM(C5:C6)-SUM(C3:C4)),C6)

 

G3 잡아 G3:I14에, C7 잡아 C7:E14에 드래그 복사하면 결과표가 G:I열에 완성됩니다. 미리 K3:L5의 표를 만들어 놓고 최초 4일간의 근무표를 C3:E6에 숫자로 예시와 같이 표기합니다. 여러가지 법칙이 있을 겁니다만 여기서는 '최근 이틀의 수치가 다르면 바로 어제 수치를 표시하고', '수치가 같으면 (최근 1,2일의 합)-(최근 3,4일의 합)의 부호를 따르면 된다는 데 착안했습니다.