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 잡아 수십 행 밑으로 채워 넣고 보세요. 이 방식으로 하면 신체리듬에 크게 무리 주지 않으며 근무조를 운영할 수 있을 겁니다. 정기적으로 초기값의 명단을 추첨하여 패턴을 바꾸는 것도 방법이겠습니다.
'논리 > 엑셀 프로그래밍' 카테고리의 다른 글
떨어진 교실번호 개체 고유번호 부여, 가로-세로 재정렬 (0) | 2008.11.14 |
---|---|
투자인력 대비 매출액으로 사업우선순위 결정 (0) | 2008.11.14 |
기준 구간이 많은 시간 계산 (0) | 2008.11.14 |
중복 없는 난수 발생, 시간 구간 계산 (0) | 2008.11.14 |
공란이 아닌 셀 순번 매기기 (0) | 2008.11.14 |