논리/엑셀 프로그래밍

데이터 검색

섬그늘 2008. 11. 14. 11:05

B

C

D

E

F

G

H

I

J

K

L

M

2

검색어

5

 

 

 

 

품목코드

P/N

품명

용량

제조사

 

3

품목코드

P/N

품명

용량

제조사

 

123-4

ABD-NL

저항

ABC

1

4

123-4

ABD-NL

저항

ABC

 

123-5

DDD-AA

저항

10Ω

DDD

1

5

123-5

DDD-AA

저항

10Ω

DDD

 

123-6

ML-23EF

커패시터

100Ω

FFF

0

6

#REF!

#REF!

#REF!

#REF!

#REF!

 

123-7

SS-E11013

인덕터

1kΩ

LLL

0

 

목록을 H3:L6에 만든 후,

M2 =SUMPRODUCT(N(NOT(ISERROR(FIND(C$2,H3:L3,1))))) ; M2잡아 아래로 M6까지 복사.

B4 =OFFSET($H$3,SMALL(IF($M$3:$M$6=1,ROW($M$3:$M$6)-ROW($M$3),66000),ROW()-ROW($B$4)+1),COLUMN()-COLUMN($B$5)) ; 수식 입력 후 CTRL+SHIFT+ENTER (배열수식). B4를 F4까지 복사, B4:F4 잡아 아래로 에러가 나타날 때 까지 복사하면 작업 끝.

 

위 기법을 활용하면 데이타베이스 중 어떤 문자열/숫자로도 검색이 됨. 즉, 주소록 따위에서 전화번호가 23으로 끝나는 이, 이름 중 '김'이 포함되어 있는 이, 노원구 사는 이...여러가지로 활용이 가능함. 위 수식에서 에러표시가 눈에 거슬리면 없앨수도 있지만 수식이 복잡해져서 추가하지 않았음.