- 최초 작성일: 2002-05-03
- 최종 수정일: 2026-09-29
- 조회수: 37 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 왼쪽 영역 참조하기
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
질문 하나
값 이름 이런 표에서 VLOOKUP 함수를 이용해 값2에 대한 이름, 즉, 갑동이라는 답을 얻으려고 =VLOOKUP(2,A1:B6,2,FALSE)를 입력하면 당연히 갑동이라는 답을 얻을 수 있잖아요.
그런데 값과 이름의 위치를 서로 바꿔서 값2에 대한 이름, 즉 갑동이라는 답을 얻으려고 =VLOOKUP(2,A1:B6,1,FALSE)를 입력하면 #N/A라고 나오는데 뭐가 문젠지…. 제가 모르는 VLOOKUP 함수의 또 다른 특성이 있는건지? 하나를 알면 또 다른 하나의 의문점이 생기니…. 음… 부탁드립니다. 꾸벅..
왼쪽 영역 참조하기
핵심 요약
VLOOKUP은 기준 열의 왼쪽 영역을 참조할 수 없습니다. INDEX와 MATCH 함수를 조합하면 왼쪽·오른쪽 어느 방향이든 자유롭게 값을 조회할 수 있습니다.
- VLOOKUP은 구조상 기준 열보다 왼쪽에 있는 열을 참조할 수 없습니다.
- MATCH로 위치를 찾고 INDEX로 값을 꺼내면 방향에 상관없이 조회할 수 있습니다.
- =INDEX(참조 범위,MATCH(찾을 값,기준 범위,0)) 형태로 사용합니다.
일단 테이블을 하나 만듭니다. 요즘이 많은 분들이 좋아하는 프로야구 시즌이니까 팀 타율표를 하나 만들어 볼까요?
| NO | 타율 | 안타 | 홈런 | 선수명 |
| 1 | 0.244 | 199 | 87 | 전준호 |
| 2 | 0.27 | 176 | 6 | 박정태 |
| 3 | 0.183 | 182 | 22 | 김기태 |
| 4 | 0.395 | 64 | 93 | 이승엽 |
| 5 | 0.259 | 117 | 34 | 홍성흔 |
| 6 | 0.361 | 169 | 46 | 양준혁 |
| 7 | 0.26 | 94 | 60 | 이승용 |
| 8 | 0.197 | 56 | 21 | 박재홍 |
| 9 | 0.334 | 173 | 31 | 홍세환 |
| 10 | 0.339 | 60 | 30 | 이승호 |
| 11 | 0.133 | 191 | 75 | 송지만 |
| 12 | 0.299 | 182 | 65 | 조경택 |
| 13 | 0.251 | 140 | 22 | 우즈 |
| 14 | 0.267 | 187 | 64 | 박경완 |
| 15 | 0.338 | 32 | 26 | 김성근 |
| 선수명 | 이승엽 |
| 타율 | =VLOOKUP(C45,B29:F43,2) |
여기서 선수명을 입력하면 타율이 자동으로 나타나도록 하기 위해 아래와 같은 수식을 작성하면,
=VLOOKUP(C45,B29:F43,2)
Not Available(#N/A) 이라고 하는 반갑지 않은 에러 메시지가 나타납니다. VLOOKUP 함수는 참조 대상값의 왼쪽에 있는 영역에 대해서는 참조할 수 없기 때문입니다.
이런 경우에는 다른 방법을 찾아야 합니다. 바로… 이제는 너얼~리(?) 알려진 INDEX와 MATCH 함수를 조합해서 사용하는 것이지요.
| 선수명 | 전준호 |
| 홈런수 | =INDEX(E29:E43,MATCH(C61,F29:F43,0)) |
| 타율 | =INDEX(C29:C43,MATCH(C61,F29:F43,0)) |
오늘은 간단하게 여기까지…
정리 — VLOOKUP과 INDEX+MATCH 비교
| 함수 | 참조 방향 | 수식 예 |
|---|---|---|
| VLOOKUP | 기준 열의 오른쪽만 가능 | =VLOOKUP(C45,B29:F43,2) |
| INDEX+MATCH | 왼쪽·오른쪽 모두 가능 | =INDEX(C29:C43,MATCH(C61,F29:F43,0)) |
자주 묻는 질문 (FAQ)
Q1. VLOOKUP으로 왼쪽 영역을 참조하면 왜 #N/A 오류가 나나요?
VLOOKUP 함수는 구조상 참조 대상 값의 왼쪽에 있는 영역은 참조할 수 없습니다. 항상 찾는 값이 있는 열보다 오른쪽에 있는 열의 값만 가져올 수 있기 때문에, 반대 방향을 참조하려 하면 #N/A 오류가 발생합니다.
Q2. 왼쪽 영역을 참조하려면 어떤 함수를 사용해야 하나요?
INDEX와 MATCH 함수를 조합해서 사용합니다. MATCH로 기준값의 위치(행 번호)를 찾고, 그 위치를 INDEX에 넣어 원하는 열(왼쪽이든 오른쪽이든)의 값을 가져오는 방식입니다.
Q3. INDEX와 MATCH를 조합한 수식은 어떤 형태인가요?
=INDEX(참조할 열 범위, MATCH(찾을 값, 기준 열 범위, 0)) 형태로 작성합니다. 예를 들어 선수명으로 타율(왼쪽 열)을 찾으려면 =INDEX(C29:C43,MATCH(C61,F29:F43,0))처럼 작성하면 됩니다.
마치며
VLOOKUP의 한계를 정확히 알고 있으면 오류의 원인을 빠르게 찾을 수 있습니다. INDEX와 MATCH의 조합은 이런 한계를 넘어서는 만능 조회 도구이니 꼭 익혀 두시기 바랍니다.