참조함수 Vlookup/Hlookup
일단 그 사용법에 대한 제가 사용했던 실무 예를 들어들이면....
기아자동차 생산관리부에서 근무할 때 입니다. 제가 관리 하는 자동변속기 부품의 개수가 12,000개 정도였고요. 전체 자동차 부품의 개수가 약 25,000개 정도 됩니다. 25000개를 관리하는 부서는 생산관리부 물류담당이엇고요. 월말에 실사(부품수량을 세어 재고조사를 하는 작업)한 내용을 보내주고 생산관리부에서 저에게 텍스트 파일로 25,000개의 부품 재고량 및 단가 불량수량 등등을 보내주는데.....
25,000개에서 12,000개를 찾기란 솔직이 불가능하지요.
이럴때 Vlookup/Hlookup을 이용하면 단지 수분으로 엄청난 결과를 발휘할 수 있다는거지요........(물론 전산출력으로 인해서 사전에 12,000의 리스트를 소유하고 있었답니다.)
제가 작성한 12,000개의 테이블이 원테이블이며 상대방이 제공한 25,000개의 테이블이 참조테이블이 되는거지요. 여기서 기준이 되는 필드를 찾아야 하는데... 품명으로 하면 볼트란 동일 품명이 백개가 넘으니 중복이 되서 불가능하고 고유한 값을 가진 부번을 기준으로 작업을 하였습니다.
물론 꼭 참조테이블이 있어야만 구하는건 아니지만
대체로 실기 시험에 출제되는 경햘을 보면 참조테이블이 주어진 경우가 주를 이루며 원테이블만 주어진 경우에서 다른 필드의 선택된 값을 보여주게 할 경우에도 사용이 되고 있습니다...
1. Vlookup/Hlookup의 차이점
Vlookup : 앞의 V는 Vertical의 약자로서 세로(열)의 의미를 가지며 lookup의 찾다라는 의미를 가지므로 둘을 결합해 보면 열참조함수가 된다.
Hlookup : 앞의 H는 Horizontal의 약자로서 가로(행)의 의미를 가지므로 행참조함수가 된다.
두 함수의 차이는 즉 열/행 참조함수라는 차이를 가지며 사용법은 거의 비슷하다. 또한 실무에 있어서는 두함수중 Vlookup을 보편적으로 많이 사용합니다. 왜냐하면 문서폼의 대부분이 가장윗행은 필드의 제목이 오며 데이터의 나열이 세로로 길기 때문에.....(설령 참조테이블이 첫열에 필드제목이 나오고 오른쪽으로 길게 나열된 경우라도 Vlookup을 사용하고자 한다면 참조테이블을 복사/선택하여붙여넣기/행열바꿈을 이용.........^^*)
2. Vlookup/Hlookup의 형식과 인수별 주의점
=Vlookup(①,②,③,④), =Hlookup(①,②,③,④)의 형식을 가진다
①원테이블의 기준이 되는 셀(유형별로는 일부/전체냐 하는 선택이 있다. 전체인 경우는 셀주소를 사용하면 되고, 일부인경우는 Left/Right/Mid를 사용하여야 한다, 또한 극단적인 경우는 원테이블이 문자이고 참조테이블이 숫자인 경우라면 일치하는 값이 없는 참조오류가 나오게 된다. 가운데 정렬을 하게되면 숫자 문자 구별이 안되므로.....주의하자)
②참조테이블의 범위(범위를 잡을때는 항상 ①번의 필드위치부터 잡으셔야 합니다. 그리고 채우기핸들하실거면 절대참조주소를 이용해야합니다)
③참조할 열(행)번호(참조테이블에서 실제 값을 표시해줄 필드의 열위치번호입니다. Hlookup의 경우는 행번호가 된다)
④옵션(정확한 값을 찾고자하는 경우에는 False/0을 입력해주시고, 근사치의 값을 찾고자하는 경우는 True/생략/1을 입력해주시면 됩니다)
인수중 마지막 ④의 경우를 더 설명 드리자면 근사치의 의미가 ①의 값보다 작은 참조테이블 값중 최대값을 찾게된다 가령 예를들면 원테이블의 값이 45이고 참조테이블의 값이 10/20/30/40/50이면 45보다 작은 10/20/30/40 값중 40을 찾게되는 것이다. 그리고 한가지 더 강조하면 참조테이블의 경우는 항상 ①의 값과 같은 필드는 항상 오름차순이 되어 있어야 한다. 그럼 오름차순이 안되어 있으면 구할 수 없게되나요? 네 구할 수 없습니다. 나오더라도 오답이 나오게 되고요. 그걸 해결하려면 참조테이블을 정렬하시면 되고요. 시험문제의 경우는 원데이터를 수정하지 못하므로 당연히 그런 문제는 안나올게 뻔합니다. 한번 찾아보세요. Vlookup/Hlookup의 참조테이블이 주어진 경우 오름차순이 안된 문제가 나오나?
2급에서는 과년도 출제 문제에 참조테이블이 없는 경우가 하나 있는데 이 문제는 오름차순이 안되어 있으니 당연히 뒤에 False/0를 써주시면 되요(단 정확한 값을 물어본 경우라야 하겟지요)
그럼 근사치의 값을 찾고자하는 경우 오름차순이 안된 경우는 불가능합니까? 네 불가능합니다 ^&^* 원데이터를 정렬하지 않는 한 불가능합니다................
첫댓글 하나 더 예를 들자면 백화점에서 보너스포인트를 적립한다고 한다면... 백화점에 고객별 판매현황표가 원테이블입니다.(물론 백화점에 손님은 몇천명정도로 많습니다.) 백화점에서 작성한 구입금액에 따른 적립포인트가 참조테이블입니다. 이런 식으로 '원테이블의 기준 > 참조테이블 기준' 또는 '원테이블의 기준 < 참조테이블 기준'인 경우 모두다 사용가능합니다..
옵션부분이 잘 이해가 안갔는데 스크랩해갈께요 ㄳㄳ