VLOOKUP 다중조건 완전정복: 보조열·CHOOSE·INDEX MATCH·XLOOKUP

VLOOKUP 다중조건 & 다중결과 완전정복: 보조열·CHOOSE·INDEX MATCH·XLOOKUP·FILTER

VLOOKUP 다중조건이 막힐 때 가장 빨리 풀리는 해법부터(보조열) 시작해, 보조열 없는 방식(CHOOSE·INDEX+MATCH·XLOOKUP)과 다중결과(FILTER)까지 실무형으로 정리했습니다. 아래 순서대로 따라 하면 초보자도 10분 내 재현 가능합니다.

Quick Fix — 3분 솔루션(보조열)

  1. 조건 결합열 추가: 원본 표에 ‘조건키’ 열을 새로 만들고, 예: =B3&"/"&C3 (판매자/상품 등 두 조건 결합)
  2. 찾을 값 결합: 조회 셀에서도 동일한 규칙으로 결합, 예: =H3&"/"&H4
  3. 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 / XLOOKUP match_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 사용

관련 글(내부 링크)

마무리

처음엔 보조열로 빠르게 해결, 팀 표준은 XLOOKUP 또는 INDEX+MATCH로 전환하세요. 다중결과가 필요하면 FILTER가 최적입니다. 아래 권위 문서를 북마크해 두면 문제 해결 속도가 빨라집니다: VLOOKUP 공식, XLOOKUP 공식.

Leave a Reply

Your email address will not be published. Required fields are marked *