논리/엑셀 프로그래밍

2차원 데이타를 중복 없이 1차원 정렬

섬그늘 2008. 11. 13. 16:23

B

C

D

E

2

 

3

 

4

 

5

 

 

 

 

6

3

 

 

7

3

 

515

8

1

 

2

9

1

 

3

10

1

 

11

#VALUE!

 

 

 

 

B6 =B2  ; 원본 데이타 중 가장 먼저 나오는 이름

C6 =COUNTIF(B$2:D$4,B6)  ; 나중에 이걸 데이타 수 만큼 아래로 복사

B7 =INDIRECT(ADDRESS(INT(MIN(IF(COUNTIF(B$6:B6,B$2:D$4)=0,ROW(B$2:D$4)*256+COLUMN(B$2:D$4),66000*256))/256),MOD(MIN(IF(COUNTIF(B$6:B6,B$2:D$4)=0,ROW(B$2:D$4)*256+COLUMN(B$2:D$4),66000*256)),256)))   ; 수식 입력 후 CTRL+SHIFT+ENTER (배열수식) B7 잡아 아래로 모든 데이타가 나열될 때 까지 (#VALUE!에러가 뜰 때 까지) 복사.

 

B7 수식의 구조 설명 :

E7 =MIN(IF(COUNTIF(B$6:B6,B$2:D$4)=0,ROW(B$2:D$4)*256+COLUMN(B$2:D$4),66000*256))  ; 수식 입력 후 CTRL+SHIFT+ENTER 

E8 =INT(E7/256)

E9 =MOD(E7,256)

E10 =INDIRECT(ADDRESS(E8,E9))  ; 수식 E7 부터 E10을 한 셀에 종합하면 B7이 됨.