http://kin.naver.com/detail/detail.php?d1id=1&dir_id=1050202&eid=6v2x89jcezA0bQdEcfXl8ItfC7SWETKE&qb=7Iuc6rCE7ZGcIOyXkeyFgA==&enc=utf8&section=kin&rank=3&sort=0&spq=1

아래를 참고해 응용해 보세요. (표를 마우스로 긁어 엑셀시트에 붙이고 수식 역시 해당 주소 수식 창에 긁어 붙인 후 보시면 이해하기 보다 편합니다.)

 

 

B

C

D

E

F

G

H

I

J

K

2

 

 

 

 

 

 

강사

anna

강좌수

2

3

0

andy

7:00

306

엑셀 초급

 

번호

시간

강의실

강좌명

4

1

anna

6:30

307

중급 VBA

 

1

6:30

307

중급 VBA

5

1

alex

5:00

308

엑셀 중급

 

2

8:00

306

고급 VBA

6

1

andy

8:00

307

엑셀 고급

 

3

 

 

 

7

2

anna

8:00

306

고급 VBA

 

4

 

 

 

 

데이타 원본이 C3:F7에 있을 때,

B3 =IF(ISNUMBER(FIND(I$2,C3,1)),1,0)+MAX(B$2:B2) ; 해당 데이타 찾기. B3를 아래로 드래그 복사.

K2 =MAX(B3:B7) ; 담당 강좌 수

H4 =ROW(A1) ; 일련 번호

I4 =IF($H4>$K$2,"",VLOOKUP($H4,$B$3:$F$7,COLUMN(C$1),0)) ; 데이타 가져 오기

 

I4를 복사, I4:K7에 채워 넣으면 표가 완성됩니다. 이제 I2에 강사 이름을 일부만 입력하더라도 빠짐 없이 잡아냅니다. (예로써 예시에서 a만 입력하거나 빈칸으로 놔두면 모두 출력됨. dy, ex 등으로 시험해 보세요) 원본 데이타 시트에 보조열(예시의 B열) 하나를 사용하는 위 기법이 제가 아는 한 가장 코딩이 간단합니다. 그렇지 않고 시트 2에서 모든 것을 다 하려면 배열 수식을 사용해야 하는 바, 수식이 복잡해지고 속도가 느려져서 추천하고 싶지 않습니다.

by Anna 안나 2009. 6. 14. 10:58