논리/엑셀 프로그래밍

3교대 8명씩 돌아가는 근무표

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

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

 

크게 두 가지 방식이 가능해 보입니다. 아래를 참고해 보세요. 표를 마우스로 긁어 엑셀시트에 붙이고 수식 역시 마우스로 긁어 복사, 해당 수식창에 붙인 후 찬찬히 이해하신 후 응용해 보세요.

 

<방식1>

 

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

1

1

2

3

4

5

6

7

8

 

조1

조2

주1

주2

주3

휴1

휴2

 

번호

이름

2

8

1

2

3

4

5

6

7

 

 

1

3

7

8

1

2

3

4

5

6

 

 

2

4

6

7

8

1

2

3

4

5

 

 

3

5

5

6

7

8

1

2

3

4

 

 

4

6

4

5

6

7

8

1

2

3

 

 

5

7

3

4

5

6

7

8

1

2

 

 

6

8

2

3

4

5

6

7

8

1

 

 

7

9

1

2

3

4

5

6

7

8

 

 

8

 

A2 =IF(A1=1,8,A1-1)                            ; A2 잡아 A2:H9에 복사
J2 =VLOOKUP(A2,$S$2:$T$9,2,0)        ; J2 잡아 J2:Q9에 복사

 

<방식2>

 

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

번호

이름

2

1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

3

1

2

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

4

1

2

3

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

5

1

2

3

4

5

 

7

8

 

조1

조2

주1

주2

주3

휴1

휴2

 

4

6

8

2

3

4

5

6

1

7

 

 

5

7

8

7

3

4

5

6

2

1

 

 

6

8

8

7

1

4

5

6

3

2

 

 

7

9

8

7

1

2

5

6

4

3

 

 

8

10

8

7

1

2

3

6

5

4

 

 

 

 

A6 =IF(COUNTIF(A1:A5,A5)=5,$H5,A5) ; A6 잡아 F6까지 복사, A6:F6 잡아 A7:F7에 복사
F6 =6                                                 ; 직접 입력, A1:H5의 숫자도 직접 입력해 둠.
G6 =OFFSET(A5,0,MOD(ROW(),6))
H6 =G5                                              ; G6:H6 잡아 G7:H7에 복사, A7:H7 잡아 원하는 만큼 아래로 복사
J6 =VLOOKUP(A6,$S$2:$T$9,2,0)       ; J6 잡아 J6:Q6에 복사

 

S, T열의 명단은 미리 만들어 놓습니다. 그 순번에 따라 근무조가 정해질 테니 추첨을 하든 사다리를 타든 번호를 정해두는 것이지요.

 

<방식1>은 적으신 대로 '밤-낮-낮-아침-아침-휴무-휴무' 식으로 나오게 한 결과입니다. 하루에 한 줄 씩 근무가 밀리게 한 것이므로 개념적으로 이해하기 쉽습니다만 신체적으로 무리가 따를 우려가 큽니다. (대개 교대근무의 근무 변경은 5일~7일에 1회 합니다) 따라서 추천하고픈 방식은 아닙니다.

 

<방식2>는 한 근무를 5일 한 후 이틀 쉬도록 한 것입니다. 근무를 연짱 5일한 사람이 생기면 그 사람은 휴무1이 되고 그 자리로 휴무2가 들어갑니다. A10:Q10 잡아 수십 행 밑으로 채워 넣고 보세요. 이 방식으로 하면 신체리듬에 크게 무리 주지 않으며 근무조를 운영할 수 있을 겁니다. 정기적으로 초기값의 명단을 추첨하여 패턴을 바꾸는 것도 방법이겠습니다.