VLOOKUP만 알아도 웬만한 업무는 처리되지만, 어느 순간 "왜 안 되지?"하는 상황을 만나게 됩니다. 대부분 VLOOKUP의 구조적 한계 때문인데, 이럴 때 INDEX/MATCH 조합이 해결책이 됩니다. 두 방법의 차이와 실무에서 어떤 상황에 어떤 걸 써야 하는지 정리합니다.
VLOOKUP 기본 구조
=VLOOKUP(찾을값, 범위, 열번호, FALSE)
찾을 값을 범위의 첫 번째 열에서 찾아서, 지정한 열번호만큼 오른쪽으로 이동한 값을 가져옵니다.
VLOOKUP의 한계 3가지
1. 찾는 열이 항상 범위의 왼쪽 첫 열이어야 함
찾을 값이 오른쪽에 있고 가져올 값이 왼쪽에 있는 표는 VLOOKUP으로 처리할 수 없습니다.
2. 열이 추가/삭제되면 열번호가 깨짐VLOOKUP(A2, B:E, 3, FALSE)처럼 열번호를 숫자로 고정하면, 중간에 열을 하나 삽입할 경우 엉뚱한 열을 가져오게 됩니다.
3. 대용량 데이터에서 속도가 느림
범위가 넓고 데이터가 많을수록 VLOOKUP은 매번 첫 열부터 전체를 훑기 때문에 계산 속도가 떨어집니다.
INDEX/MATCH 기본 구조
=INDEX(가져올범위, MATCH(찾을값, 찾을범위, 0))
MATCH가 먼저 "찾을 값이 몇 번째 행에 있는지"를 찾아내고, INDEX가 그 행 번호에 해당하는 값을 가져오는 구조입니다.
INDEX/MATCH만의 장점
1. 왼쪽/오른쪽 방향 제약이 없음
찾을 값이 오른쪽에 있어도, 가져올 값이 왼쪽에 있어도 문제없이 작동합니다.
2. 열 삽입에 안전함
열번호를 숫자로 고정하지 않고 범위 자체를 참조하기 때문에, 중간에 열이 추가돼도 정확히 원하는 열을 찾아갑니다.
3. 양방향 검색 가능 (if 함수 없이 2개 이상 조건 찾기)
행과 열 둘 다 MATCH로 찾아서, 매트릭스 형태의 표(예: 사이즈×컬러 표)에서 값을 찾는 것도 가능합니다.

=INDEX(전체표범위, MATCH(찾을행값, 행범위, 0), MATCH(찾을열값, 열범위, 0))
실무 비교 예시
발주서에서 "스타일코드"로 "원단원가"를 찾는데, 표 구조가 스타일코드가 D열, 원단원가가 B열(스타일코드보다 왼쪽)에 있는 경우:
VLOOKUP으로는 불가능 (찾을 열이 오른쪽에 있어서 참조 범위를 지정할 수 없음)
INDEX/MATCH:
=INDEX(B:B, MATCH(찾을스타일코드, D:D, 0))
이런 구조는 실무에서 자주 발생합니다. 발주서, 재고표처럼 여러 담당자가 만든 표를 합칠 때 열 순서가 뒤죽박죽인 경우가 많기 때문입니다.

언제 VLOOKUP을 써도 되는가
모든 상황에서 INDEX/MATCH가 정답은 아닙니다. 다음 경우는 VLOOKUP이 더 간단합니다.
- 표 구조가 고정되어 있고 앞으로 열이 추가될 일이 없는 경우
- 찾을 열이 항상 왼쪽에 있는 단순한 조회
- 수식을 다른 사람과 공유하는데, 상대방이 INDEX/MATCH에 익숙하지 않은 경우

XLOOKUP은 안 쓰나요
최신 엑셀(Microsoft 365)에는 두 함수의 장점을 합친 XLOOKUP이 있습니다.
=XLOOKUP(찾을값, 찾을범위, 가져올범위)
방향 제약이 없고 문법도 간단하지만, 회사에서 예전 버전 엑셀을 쓰는 동료와 파일을 주고받는다면 호환이 안 될 수 있어 아직은 INDEX/MATCH가 더 안전한 선택입니다.
자주 묻는 질문
Q. VLOOKUP에서 마지막 인수(FALSE/TRUE)는 왜 중요한가요?
FALSE(또는 0)는 정확히 일치하는 값만 찾고, TRUE(또는 생략)는 근사값을 찾습니다. 실무에서는 의도치 않은 근사값 매칭 오류를 막기 위해 항상 FALSE를 명시하는 것이 안전합니다.
Q. MATCH 함수의 세 번째 인수 0은 무슨 의미인가요?
0은 정확히 일치하는 값을 찾으라는 의미입니다. 1이나 -1을 넣으면 정렬된 데이터에서 근사값을 찾는 방식으로 바뀌므로, 일반적인 조회 작업에서는 항상 0을 사용해야 합니다.
Q. 두 함수 다 값을 못 찾으면 어떻게 되나요?#N/A 오류가 발생합니다. =IFERROR(VLOOKUP(...), "값없음") 형태로 감싸주면 오류 대신 원하는 문구를 표시할 수 있습니다.
VLOOKUP과 INDEX/MATCH는 경쟁 관계가 아니라 상황에 맞는 도구입니다. 표 구조가 단순하면 VLOOKUP, 표가 자주 바뀌거나 방향이 뒤바뀐 경우엔 INDEX/MATCH를 쓰는 식으로 구분해서 활용하면 훨씬 안정적인 시트를 만들 수 있습니다.
'엑셀 실무' 카테고리의 다른 글
| 매출 신장률(성장률) 계산법 – 엑셀 자동계산 서식 (0) | 2026.09.15 |
|---|---|
| 원리금균등상환 엑셀 계산법 – PMT 함수로 5분 만에 만들기 (0) | 2026.09.14 |
| 엑셀_나이계산 (0) | 2026.09.12 |
| 엑셀_사용자지정_정렬 (0) | 2026.09.10 |
| 엑셀 두 칸 합치는 방법 — 셀 병합 vs 값 합치기, 뭘 써야 하나 (0) | 2026.09.08 |