http://kin.naver.com/detail/detail.php?d1id=1&dir_id=1050202&eid=+DAxcz34QVBu0+XL/qlKPaSxghygXRL2
함수로 가능합니다. 아래를 참조해서 응용해 보세요. 아래 표를 마우스로 긁어 엑셀시트에 붙이고 수식 역시 마우스로 긁어 복사, 해당 주소창에 붙여 보시면 이해하시기 보다 쉽습니다.
|
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
1 |
교실 |
|
|
|
|
|
|
|
|
|
|
2 |
1 |
갑 |
을 |
|
병 |
3 |
|
1.01 |
1.02 |
0.00 |
1.03 |
3 |
2 |
정 |
|
무 |
|
2 |
|
2.01 |
0.00 |
2.02 |
0.00 |
4 |
3 |
기 |
경 |
|
|
2 |
|
3.01 |
3.02 |
0.00 |
0.00 |
5 |
2 |
신 |
|
임 |
계 |
3 |
|
2.03 |
0.00 |
2.04 |
2.05 |
6 |
1 |
자 |
축 |
인 |
|
3 |
|
1.04 |
1.05 |
1.06 |
0.00 |
7 |
3 |
묘 |
진 |
사 |
오 |
4 |
|
3.03 |
3.04 |
3.05 |
3.06 |
8 |
|
|
|
|
|
|
|
|
|
|
|
9 |
1 |
6 |
2 |
5 |
3 |
6 |
|
|
|
|
|
10 |
1 |
갑 |
1 |
정 |
1 |
기 |
|
|
|
|
|
11 |
2 |
을 |
2 |
무 |
2 |
경 |
|
|
|
|
|
12 |
3 |
병 |
3 |
신 |
3 |
묘 |
|
|
|
|
|
13 |
4 |
자 |
4 |
임 |
4 |
진 |
|
|
|
|
|
14 |
5 |
축 |
5 |
계 |
5 |
사 |
|
|
|
|
|
15 |
6 |
인 |
6 |
|
6 |
오 |
|
|
|
|
|
16 |
7 |
|
7 |
|
7 |
|
|
|
|
|
F2 =COUNTA(B2:E2) ; 행당 데이타 수
H2 =IF(B2="",0,$A2+(SUMPRODUCT(($A$1:$A1=$A2)*$F$1:$F1)+COUNTA($B2:B2))/100) ; 고유번호 부여
B9 =SUMPRODUCT(N(INT($H$2:$K$7)=A9)) ; 교실 별 인원 총수
B10 =IF(A10>B$9,"",OFFSET($B$2,SUMPRODUCT(($H$2:$K$7=A$9+A10/100)*(ROW($H$2:$K$7)-ROW($H$2))),SUMPRODUCT(($H$2:$K$7=A$9+A10/100)*(COLUMN($H$2:$K$7)-COLUMN($H$2)))))
함수 수준에서는 주어진 시트만으로 요구 출력을 얻어내긴 쉽지 않습니다. 배열수식을 동원하면 가능할지는 모르겠습니다만 무쟈게 복잡해질 터라 실전적이지 않습니다. 위 예시에서는 한 행 데이타가 최대 4개인 경우를 보였는데, 몇 백개라도 수식은 변하지 않습니다. (만약 100개를 넘어가면 H2, B10의 100을 1000으로 바꿔주세요)
표에서 색상이 들어가 있지 않는 셀은 드래그 채우기입니다. F2 잡아 F7까지, H2 잡아 H2:K7에, B10 잡아 B16까지, B9:B16를 복사, D9, F9에 붙여넣기 하면 표가 완성됩니다. (A9, C9, E9, A10:A16 등의 일련번호는 손으로 입력) 위 표는 H2에서 각 데이타의 고유번호를 부여하고 B10에서 해당되는 데이타 (B10은 1반의 첫째이므로 1.01)를 H2:K7에서 찾아 그 행과 열을 구하여 순번에 맞는 데이타를 원본에서 OFFSET으로 가져옵니다.
'논리 > 엑셀 프로그래밍' 카테고리의 다른 글
표 재정렬 ; 대분류1 * n, m행을 대분류1 * c행으로 고정 출력 (0) | 2008.11.14 |
---|---|
복수조건을 충족하는 중복 없는 숫자의 개수 (0) | 2008.11.14 |
투자인력 대비 매출액으로 사업우선순위 결정 (0) | 2008.11.14 |
3교대 8명씩 돌아가는 근무표 (0) | 2008.11.14 |
기준 구간이 많은 시간 계산 (0) | 2008.11.14 |