무지개타고

더하기를 하자 - 24 따라지 본문

Program

더하기를 하자 - 24 따라지

OnRainbow 2014. 4. 9. 19:23
동네에 벚꽃도 목련도 이쁘게 피고
계절은 좋다만...

제목에 "따라지"를 보듯 언제 한 번 다룬 내용인데
기존 부서원을 야유회(?) 팀별로 배정하는 것을 생각해 보자.

부서는 가, 나, 다, 라이고 부서별 인원은 서로 다르다.
야유회(?) 팀은 A, B, C이고 야유회(?) 팀별 배정 인원은 서로 다르다.



이정도로는 이전에 다룬 것과 다를 게 없고,
부서별로 야유회(?) 팀 인원을 할당하는 조건을 추가해 봤다.



부서원 각각에 대해 무작위로 야유회(?) 팀을 배치하는데
복습차원에서 이전에 다룬 방법도 같이 적용해 보면...
참고로 모두 배열수식이므로 입력시 Ctrl, Shift, Enter 키를 동시에 눌러야 한다.

m3 셀 (랜덤)
=INDEX($D$2:$D$4,MATCH(RAND()*ROWS($D$2:$D$4),ROW(INDIRECT("1:"&ROWS($D$2:$D$4)))-1,1))

n3 셀 (배정)
=INDEX($D$2:$D$4,MATCH(RAND()*($E$5-ROWS(N$2:N2)+1),MMULT(1*(ROW($E$2:$E$4)>TRANSPOSE(ROW($E$2:$E$4))),$E$2:$E$4-COUNTIF(N$2:N2,$D$2:$D$4)),1))

o3 셀 (할당)
=INDEX($H$3:$H$14,MATCH(RAND()*(SUMIF($G$3:$G$14,K3,$I$3:$I$14)-COUNTIF(K$2:K2,K3)),MMULT(1*(ROW($I$3:$I$14)>TRANSPOSE(ROW($I$3:$I$14))),($I$3:$I$14-MMULT(($G$3:$G$14=TRANSPOSE(K$2:K2))*($H$3:$H$14=TRANSPOSE(O$2:O2)),ROW(O$2:O2)^0))),1))

조금 정리하면
'랜덤'은 부서 또는 팀 배정 인원을 전혀 반영하지 않은 순수한(?) 무작위 추출이고,
'배정'은 부서는 고려하지 않고 팀만 반영한 추출이고,
'할당'은 부서&팀 할당표를 반영한 추출이다.
즉 '배정'이 1차원 정보만 반영한 추출이라면 '할당'은 2차원 정보가 함께 반영된 추출이다.



그런데 여기서 함정은...
야유회(?) 팀일지 살생부일지는 모른다는 것.


Comments