
VLOOKUP 다중조건 & 다중결과 완전정복: 보조열·CHOOSE·INDEX MATCH·XLOOKUP·FILTER
VLOOKUP 다중조건이 막힐 때 가장 빨리 풀리는 해법부터(보조열) 시작해, 보조열 없는 방식(CHOOSE·INDEX+MATCH·XLOOKUP)과 다중결과(FILTER)까지 실무형으로 정리했습니다. 아래 순서대로 따라 하면 초보자도 10분 내 재현 가능합니다.
Quick Fix — 3분 솔루션(보조열)
- 조건 결합열 추가: 원본 표에 ‘조건키’ 열을 새로 만들고, 예:
=B3&"/"&C3(판매자/상품 등 두 조건 결합) - 찾을 값 결합: 조회 셀에서도 동일한 규칙으로 결합, 예:
=H3&"/"&H4 - VLOOKUP:
=VLOOKUP(H3&"/"&H4, $D$2:$E$13, 2, 0)(정확일치)
가장 단순·안정적인 방법입니다. 표 구조가 바뀌어도 결합 규칙만 일치하면 동작합니다. (VLOOKUP 기본 문법은 Microsoft 공식 문서 참고) 공식 가이드.
왜 VLOOKUP 다중조건이 어려운가
VLOOKUP은 기본적으로 단일 lookup_value를 전제로 설계되어 열 왼쪽→오른쪽으로만 찾습니다. 두 개 이상 조건을 동시에 만족하려면 조건을 결합(보조열)하거나, 대안(CHO OSE/INDEX+MATCH/XLOOKUP)을 써야 합니다. Microsoft는 최신 Excel에서 XLOOKUP을 권장합니다. Lookup/Reference 개요.
해결 방법 5가지(비교)
- 방법① 보조열: 가장 단순·안정(초보 추천). 표 크고, 조건 많아도 관리 쉬움.
- 방법② CHOOSE: 보조열 없이 가상 테이블 생성 → VLOOKUP 정확일치.
- 방법③ INDEX+MATCH: 좌측 조회/열 삽입 안전/유연성 최고.
- 방법④ XLOOKUP: 최신 권장. 가독성·오류처리·좌우 무관. (버전 이슈 유의)
- 방법⑤ FILTER: 다중결과(여러 행)를 배열로 직접 반환.
방법① 보조열(Helper Column)
-- D열(키): =B3&"/"&C3
-- 결과: =VLOOKUP(H3&"/"&H4, $D$2:$E$13, 2, 0)
방법② CHOOSE로 가상 테이블
=VLOOKUP(H3&"/"&H4, CHOOSE({1,2}, B2:B13&"/"&C2:C13, E2:E13), 2, 0)
보조열을 만들 수 없을 때 유용. 단, 대용량에서 계산 부하가 있을 수 있습니다.
방법③ INDEX + MATCH(좌측 조회·유연성)
=INDEX(E2:E13, MATCH(1, (B2:B13=H3)*(C2:C13=H4), 0))
두 조건을 0/1 곱으로 결합해 정확히 일치하는 행의 상대 위치를 찾습니다. 범위 크기가 커도 열 삽입에 강함. (INDEX/MATCH 정의는 Microsoft 공식 문서 참고) INDEX · 수식 개요.
방법④ XLOOKUP(권장)
=XLOOKUP(H3&"/"&H4, B2:B13&"/"&C2:C13, E2:E13, "없음", 0)
XLOOKUP은 기본이 정확일치(0), 좌우 제약 없음, [if_not_found]로 오류 메시지 제어가 쉬움. Microsoft는 VLOOKUP의 개선판으로 XLOOKUP을 권장합니다.
XLOOKUP 공식 ·
Lookup 참조.
방법⑤ FILTER(다중결과)
=FILTER(E2:E13, (B2:B13=H3)*(C2:C13=H4))
조건에 맞는 모든 행을 배열로 반환합니다. 결과를 표로 확장하려면 반환 범위를 표 서식으로 지정하세요.
실무 예제 — 복붙용 샘플
샘플 데이터 (B:C:조건, E:수량):
| 판매자(B) | 상품(C) | 판매수량(E) |
|---|---|---|
| 김철수 | 키보드 | 12 |
| 김철수 | 마우스 | 8 |
| 이영희 | 키보드 | 5 |
| 이영희 | 모니터 | 2 |
| 박준호 | 키보드 | 9 |
보조열 방식: D열= =B2&"/"&C2 ↓ 채우기 → 조회: =VLOOKUP(H3&"/"&H4,$D$2:$E$6,2,0)
CHOOSE 방식: =VLOOKUP(H3&"/"&H4,CHOOSE({1,2},B2:B6&"/"&C2:C6,E2:E6),2,0)
INDEX+MATCH: =INDEX(E2:E6, MATCH(1,(B2:B6=H3)*(C2:C6=H4),0))
XLOOKUP: =XLOOKUP(H3&"/"&H4, B2:B6&"/"&C2:C6, E2:E6, "없음", 0)
FILTER(다중결과): =FILTER(E2:E6, (B2:B6=H3)*(C2:C6=H4))
최댓값/최솟값의 행 불러오기(응용)
같은 조건 내에서 최대 판매수량의 행을 가져오려면:
-- 목표 수량(보조셀): =MAX( FILTER(E2:E13, (B2:B13=H3)*(C2:C13=H4)) )
-- 행 찾기: =MATCH( 목표수량, E2:E13, 0 )
-- 전체 행: =INDEX(A2:E13, MATCH(목표수량, E2:E13, 0), {1,2,3,4,5}) // 필요 열만 선택
구버전(동적 배열 미지원)은 배열수식(Ctrl+Shift+Enter)을 유의하세요. INDEX/MATCH 오류 수정 가이드.
대체 방법/주의사항/체크리스트
- 보조열 추천: 대용량/협업에서 유지보수 용이.
- XLOOKUP 전환: 최신 365/2021+ 권장. 회사 PC가 구버전이면 INDEX+MATCH 사용. (XLOOKUP 미표시 시 Excel 업데이트) 버전 점검.
- 정확일치 강제: VLOOKUP
range_lookup=0/ XLOOKUPmatch_mode=0. - 공백/서식: 결합 키에 공백/숨은 문자 제거(
TRIM,CLEAN). - 열 삽입 리스크: VLOOKUP의
col_index_num는 열 추가 시 깨짐 → INDEX+MATCH/XLOOKUP이 안전. - 다중결과: FILTER로 한 번에 표 생성, 피벗 없이도 분석 가능.
Troubleshooting
| 증상 | 원인 | 해결법 |
|---|---|---|
| #N/A | 정확일치 아님/공백 포함/키 불일치 | 0 일치 확인, TRIM, 결합 규칙 동일화 |
| 잘못된 행 반환 | VLOOKUP 열번호 고정 | INDEX+MATCH 또는 XLOOKUP 전환 |
| 계산 느림 | 대형 CHOOSE/배열 연산 | 보조열 도입, 범위 최소화 |
| XLOOKUP 미동작 | 버전 미지원/업데이트 필요 | Excel 업데이트 또는 INDEX+MATCH 사용 |
관련 글(내부 링크)
- VLOOKUP 다중조건·다중결과 총정리
- VLOOKUP 다중 조건 검색 방법
- VLOOKUP 다중조건 — 완전정복(보조열/CHOOSE/INDEX·MATCH/XLOOKUP)
- INDEX MATCH 함수 기초
- INDEX+MATCH 고급 활용
마무리
처음엔 보조열로 빠르게 해결, 팀 표준은 XLOOKUP 또는 INDEX+MATCH로 전환하세요. 다중결과가 필요하면 FILTER가 최적입니다. 아래 권위 문서를 북마크해 두면 문제 해결 속도가 빨라집니다: VLOOKUP 공식, XLOOKUP 공식.