Members - Question and Answer
문장속에 어떤단어가 들어있을때 관련값찾아오기
문제는 항상 다양하다
아래의 그림과 같은 문제가 있다
그냥 참조테이블에서 [길동이]를 찾아오라!!!
할때..[길동이],[꺽정이],[일지매]등의 이름중에서 찾아오는일은
엑셀의 기본적 ..초보적 역할이다
그런데 그림과 같이
여러개의 단어로 구성이 된 것에 참조테이블상의 어떤 값이
들어있으면 찾아오고 싶다는 것이다
실은 이런 것은 당초에 테이블을 구성할때 자~~알 구성하면 되는데
일상에서는 정보화지식이 잼뱅인 사람들이 테이블을 짜서
맞추니까..손발이 안맞는다..
아무튼 그런 개떡같은 원시정보를 갖고 콩떡같은 결과를
찾아내는 것이 정보화프로그래밍을 하는 사람의 역할이다

보라색참조테이블에 이름을 [referenceTable]이라고 짓고..
다음과 같이 사용자정의 함수를 만들어서 사용하면
워크시트수식을 골빠지게 작성
Find함수,Search함수..등등..어..에러가 나네..또 IsError함수..
If함수...누덕누덕 기워나가다 보면..골이 빠진다..
성공한다고 해도 경우가 약간 틀려지면 또..뚜닥거려야 할것이다
그런 열정이라면..
큰맘먹고 VB로 달려들어서
아래와 같이 몇줄 안되는 VB코드로 편안함을 즐기라!!
Function getSize(rTarget As Range)
Dim rRef As Range, rCell As Range, arrRef As Variant
Dim varX As Variant
Set rRef = Range("referenceTable").Rows(1)
For Each rCell In rRef.Cells
arrRef = Split(rCell, " ")
For Each varX In arrRef
If InStr(rTarget, varX) > 0 Then
getSize = rCell.Offset(1)
Exit Function
End If
Next
Next
End Function
파랑색셀에 =getSize(옆의 노랑색을 인수로 전달하고) 수식을
넣고 주욱 훑으면 되겠지!!!
배열을 좀 알고..
순환문을 알고..그러면 된다!!