어제 이거때문에 두세시간 삽질을 했는데, 그때문에 적는다.
일단, LOOKUP 계열 함수는 http://support.microsoft.com/kb/181213/ko 에 설명되어 있다.
모르는 사람들을 위해 간단히 설명하자면, LOOKUP 계열 함수는 말그대로 검색 함수다. 예를들어
A1 | B1 | C1
----+-------+-------
aaa | 가가가 | aaa
bbb | 다다다 |
ccc | 나나나 |
이런 엑셀 표가 있을 때,
'aaa' 를 입력하면 '가가가' 가 나오게 하는 함수( 물론 반대로도 쓴다. )
근데 문제는, 이 '검색' 이...영문 검색과 한글 검색의 결과가 다르다는 거다.
LOOKUP(), VLOOKUP(), HLOOKUP() 함수는 모두, "추측" 기능이 있다. ( "유사검색" 이라고 해야하나? )
예를들면 VLOOKUP() 함수는
VLOOKUP( lookup_value, table_array, col_index_num, range_lookup )
이렇게 쓴다. 예를들어 셀에 VLOOKUP( C1, A1:B1, 2 ) 이라고 쓰면, 그 셀에는 '가가가' 라는 값이 찍히는 식 ( 즉, VLOOKUP( C1, A1:B1, 2 ) = '가가가' ).
그런데, 저거 사실 '유사 검색' 이라서, 만약 C1셀의 값이 'aaa' 가 아니라 'aa' 라고 해도, 문제없이 '가가가' 가 찍힌다. 즉, 꼭 딱 맞지 않아도, 비슷한거 찾는다.
근데, 씨바, 한글 입력일땐 저거 믿으면 안됨.
A1 | B1 | C1
------+-----+-------
가가가 | aaa | 가가가
나나나 | bbb |
다다다 | ccc |
이렇게 되어 있다면, VLOOKUP( C1, A1:B1, 2 ) = "aaa" 를 기대할 거 아닌가?
근데, 그게, 꼭 그렇지가 않다니깐?
자세한 건 프로그램적인 설명이 되어 버려서 길어지고, 포인트는
"한글일 땐 유사검색 믿으면 안됨." 임.
그래서, 저걸 원래 기대한 대로 나오게 하려면, VLOOKUP( C1, A1:B1, 2, FALSE ) 와 같이, "나는 유사검색을 사용하지 않고 반드시 100% 일치하는 값을 검색하겠다" 라는 의미의 FALSE 옵션을 줘야됨.
이 글을 보시는 분들은 나의 삽질을 사뿐이 즈려밟고 가시길.
'자동화 > 업무' 카테고리의 다른 글
엑셀에서, 외부 엑셀 파일까지 참조가 가능하다. (0) | 2016.02.25 |
---|---|
지메일 포워딩 설정. (0) | 2015.07.27 |
엑셀에서 날짜 관련 함수. + 날짜 자동 증감. (0) | 2013.04.08 |