http://kin.naver.com/detail/detail.php?d1id=1&dir_id=1050202&eid=63xC/gj49iewpz2DZx52o2xS8qBAqnwd
함수로는 아래와 같이 할 수 있습니다. 12ab와 21ab는 같은 것(중복)으로 간주했을 때, 8C2*5C2 = 28*10=280 가지 경우의 수가 나옵니다. 두 자리씩 나누어 자리올림을 하는 로직인데, 표를 마우스로 긁어 엑셀시트에 붙인 후 색상이 있는 셀 주소창에 수식을 마우스로 긁어 복사, 붙여 보세요.
|
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
1 |
1 |
a |
|
|
8 |
|
5 |
|
|
|
|
|
|
2 |
2 |
b |
|
1 |
1 |
2 |
1 |
2 |
|
1 |
2 |
a |
b |
3 |
3 |
c |
|
2 |
1 |
2 |
1 |
3 |
|
1 |
2 |
a |
c |
4 |
4 |
d |
|
3 |
1 |
2 |
1 |
4 |
|
1 |
2 |
a |
d |
5 |
5 |
e |
|
4 |
1 |
2 |
1 |
5 |
|
1 |
2 |
a |
e |
6 |
6 |
|
|
5 |
1 |
2 |
2 |
3 |
|
1 |
2 |
b |
c |
7 |
7 |
|
|
6 |
1 |
2 |
2 |
4 |
|
1 |
2 |
b |
d |
8 |
8 |
|
|
7 |
1 |
2 |
2 |
5 |
|
1 |
2 |
b |
e |
9 |
|
|
|
8 |
1 |
2 |
3 |
4 |
|
1 |
2 |
c |
d |
10 |
|
|
|
9 |
1 |
2 |
3 |
5 |
|
1 |
2 |
c |
e |
11 |
|
|
|
10 |
1 |
2 |
4 |
5 |
|
1 |
2 |
d |
e |
12 |
|
|
|
11 |
1 |
3 |
1 |
2 |
|
1 |
3 |
a |
b |
13 |
|
|
|
12 |
1 |
3 |
1 |
3 |
|
1 |
3 |
a |
c |
E1, G1에 각 데이타 원본의 개체 수를, E2:H2에 초기값을 입력한 후,
D2 =ROW(A1) ; 일련번호 ; D3에 복사
E3 =IF(AND(G2=G$1-1,H2=G$1),IF(F2=E$1,IF(E2=E$1-1,"",1),0),0)+E2
F3 =IF(AND(G2=G$1-1,H2=G$1),IF(F2=E$1,IF(E2=E$1-1,"",E3),F2)+1,F2)
G3 =IF(H2=G$1,IF(G2=G$1-1,1,G2+1),G2)
H3 =IF(H2=G$1,IF(G2=G$1-1,2,G3+1),H2+1)
J2 =E2 ; K2에 복사, L2 =INDEX($B$1:$B$5,G2) ; M2에 복사. 결과 테이블임.
이제 J2:M2 잡아 J3:M3에, D3:M3 잡아 아래로 D열이 280이 될 때 까지 (또는 VALUE! 에러가 날 때 까지) 채워넣으면 표가 완성됩니다.
'논리 > 엑셀 프로그래밍' 카테고리의 다른 글
공란이 아닌 셀 순번 매기기 (0) | 2008.11.14 |
---|---|
유동참조 COUNTIF (0) | 2008.11.14 |
중복된 데이터를 하나로 보고, 순위를 구하여 원하는 데이터를 찾기 (0) | 2008.11.14 |
(A1, A2, A3) 형태로부터 A1 위치 찾아 내기 (0) | 2008.11.14 |
누적곱의 합 (PRODUCT 유동참조) (0) | 2008.11.14 |