B |
C |
D | |
2 |
필동 11-2 |
4 |
정동 11 |
3 |
필동 1번지 |
5 |
정동 1-11번지 |
4 |
필동 2번지 |
6 |
정동 1-2번지 |
5 |
정동 11 |
1 |
필동 11-2 |
6 |
정동 1-2번지 |
3 |
필동 1번지 |
7 |
정동 1-11번지 |
2 |
필동 2번지 |
이와 같이 B2:B7의 주소를 보통 정렬하면 11 이 1-11보다 앞에 오게 되지요. 아래를 참고해 보세요.
|
B |
C |
D |
E |
F |
G |
H |
I |
2 |
필동 11-2 |
4 |
7 |
11-2 |
필동 |
11.2 |
5 |
정동 1-11번지 |
3 |
필동 1번지 |
4 |
4 |
1 |
필동 |
1 |
4 |
정동 1-2번지 |
4 |
필동 2번지 |
4 |
4 |
2 |
필동 |
2 |
6 |
정동 11 |
5 |
정동 11 |
4 |
5 |
11 |
정동 |
11 |
3 |
필동 1번지 |
6 |
정동 1-2번지 |
4 |
6 |
1-2 |
정동 |
1.2 |
2 |
필동 11-2 |
7 |
정동 1-11번지 |
4 |
7 |
1-11 |
정동 |
1.11 |
1 |
필동 2번지 |
C2 =MIN(IF(NOT(ISERROR(VALUE(MID(B2,ROW($1:$30),1)))),ROW($1:$30)))
D2 =MAX(IF(NOT(ISERROR(VALUE(MID(B2,ROW($1:$30),1)))),ROW($1:$30)))
E2 =MID(B2,C2,D2-C2+1)
F2 =LEFT(B2,C2-1)
G2 =SUBSTITUTE(E2,"-",".")
H2 =SUMPRODUCT(N(F$2:F$7<=F2))-SUMPRODUCT((F$2:F$7=F2)*(G$2:G$7>G2))
I2 =INDEX(B$2:B$7,MATCH(ROW(A1),H$2:H$7,0),1)
C2, D2는 수식 입력 후 CTRL+SHIFT+ENTER (배열수식) 해야 합니다. C2:I2 잡아 아래로 복사하면 됩니다. 다만 이 방법은 주소에 숫자 부분이 하나 밖에 없을 때에만 유효합니다. 번지 이외 아파트 동호가 함께 있으면 원하는 결과를 얻을 수 없는 바, 그 경우엔 별도의 코딩을 해줘야 할 겁니다.
'논리 > 엑셀 프로그래밍' 카테고리의 다른 글
조건을 만족하는 데이타를 한 셀에 결합 (0) | 2008.11.14 |
---|---|
특수문자 없애기 (0) | 2008.11.14 |
일일 근무편성, 랜덤/공평 (0) | 2008.11.14 |
2차원 보간법 (유동 참조) (0) | 2008.11.14 |
데이타가 하나라도 있는 행 모음 (0) | 2008.11.14 |