http://kin.naver.com/detail/detail.php?d1id=1&dir_id=1050202&eid=LVOBKfOYltjbpdVQ7qAUL9d/65Mrdv/4
|
B |
C |
D |
E |
F |
G |
H |
I |
2 |
이름 |
전화 |
휴대 |
|
시작셀 |
|
|
|
3 |
손오공 |
546 |
013 |
|
안녕 손오공님 |
안녕 사오정님 |
손오공 |
사오정 |
4 |
사오정 |
465 |
017 |
|
전화 546 |
전화 465 |
546 |
465 |
5 |
저팔계 |
654 |
018 |
|
휴대 013으로 갑니다. |
휴대 017로 갑니다. |
013 |
017 |
6 |
삼장 |
670 |
010 |
|
안녕 저팔계님 |
안녕 삼장님 |
저팔계 |
삼장 |
7 |
|
|
|
|
전화 654 |
전화 670 |
654 |
670 |
8 |
안녕 |
0 |
님 |
3 |
휴대 018로 갑니다. |
휴대 010으로 갑니다. |
018 |
010 |
9 |
전화 |
1 |
|
6 |
|
|
|
|
10 |
휴대 |
2 |
로 갑니다. |
0 |
|
|
|
|
11 |
|
|
|
|
|
|
|
|
12 |
행 |
3 |
|
|
|
|
|
|
13 |
열 |
2 |
|
|
데이타가 B2:D6에 있을 때 (몇 천개라도 무방), 문안을 B8:D10과 같이 만들어 둠. C12는 반복 행 단위 (한 묶음이 차지하는 행의 수), C13에는 묶음 당 몇 열씩 출력할 것인지(예시에서는 F:G 2열)를 정해 입력해 둠.
F3 =OFFSET($B$8,MOD(ROW()-ROW($B$3),$C$12),0)&H3&IF((MOD(ROW()-ROW($B$3),$C$12)=$C$12-1)*(COUNTIF($E$8:$E$10,RIGHT(H3,1))),"으","")&OFFSET($B$8,MOD(ROW()-ROW($B$3),$C$12),2)
H3 =OFFSET($B$3,(INT((ROW()-ROW($B$3))/$C$12)*$C$13+MOD(COLUMN()-COLUMN($F$2),$C$13)),OFFSET($B$8,MOD(ROW()-ROW($B$3),$C$12),1))
F3를 G3에, H3를 I3에 복사, F3:I3 잡아 아래로 데이타가 다 나올 때 까지 채워넣으면 작업이 완료됩니다. F3의 수식 중 초록 부분은 숫자가 3, 6, 0으로 끝나면 "으"를 붙이는 기능이므로 수식이 길면 생략해도 무방합니다. H3의 검정주소(예시의 $B$3)는 Sheet1!$B$3 식으로 바꿔주셔야겠지요. 위 수식을 응용하면 조건부 서식으로 행별 서식을 다양하게 해 줄 수 있을 겁니다.
'논리 > 엑셀 프로그래밍' 카테고리의 다른 글
옷치수 근사치 순서로 출력 (0) | 2008.11.14 |
---|---|
2차원을 1차원으로 재정렬 (불규칙 위치 OFFSET 유동참조) (0) | 2008.11.14 |
Vlookup 2, 3,...,n번째 값 구하기 (0) | 2008.11.14 |
시그마 구현 (a, b 유동참조) (0) | 2008.11.14 |
3 조건 이상의 마지막 행 잡아 내기 (0) | 2008.11.14 |