엑셀 VLOOKUP 다중조건 — 보조열/CHOOSE/INDEX·MATCH/XLOOKUP 비교 완전정복

엑셀 VLOOKUP 다중조건 — 보조열/CHOOSE/INDEX·MATCH/XLOOKUP 완전정복

엑셀 VLOOKUP 다중조건은 기본 기능만으로는 직접 할 수 없지만, 보조열을 만들거나 CHOOSE/INDEX·MATCH/XLOOKUP을 사용하면 간단히 해결됩니다. 아래 절차를 그대로 따라 해보세요.

Quick Fix(3분)

  1. 결합키: =TRIM(지역)&"|"&TRIM(품목)
  2. 보조열 + VLOOKUP: =VLOOKUP(I2&"|"&J2, $A$2:$H$1000, 6, FALSE)
  3. CHOOSE 버전: =VLOOKUP(I2&"|"&J2, CHOOSE({1,2}, TRIM($B$2:$B$1000)&"|"&TRIM($C$2:$C$1000), $F$2:$F$1000), 2, FALSE)
  4. INDEX·MATCH: =INDEX($F$2:$F$1000, MATCH(1, ($B$2:$B$1000=I2)*($C$2:$C$1000=J2), 0))
  5. XLOOKUP(마지막 항목): =XLOOKUP(1, ($B$2:$B$1000=I2)*($C$2:$C$1000=J2), $F$2:$F$1000, "", 0, -1)

왜 막히나(원리)

  • VLOOKUP은 첫 열에서 단일 키만 검색.
  • 해결책: 보조열로 키 결합 또는 CHOOSE/INDEX·MATCH/XLOOKUP 사용.

방법 1) 보조열(추천)

=TRIM(B2)&"|"&TRIM(C2)        // A열 보조키
=VLOOKUP($I$2&"|"&$J$2, $A$2:$H$1000, 6, FALSE)

방법 2) CHOOSE 가상 테이블

=VLOOKUP($I$2&"|"&$J$2,
 CHOOSE({1,2}, TRIM($B$2:$B$1000)&"|"&TRIM($C$2:$C$1000), $F$2:$F$1000),
 2, FALSE)

방법 3) INDEX·MATCH

=INDEX($F$2:$F$1000, MATCH(1, ($B$2:$B$1000=$I$2)*($C$2:$C$1000=$J$2), 0))

방법 4) XLOOKUP/FILTER

=XLOOKUP(1, ($B$2:$B$1000=$I$2)*($C$2:$C$1000=$J$2), $F$2:$F$1000)
=FILTER($B$2:$G$1000, ($B$2:$B$1000="서울")*(ISNUMBER(SEARCH("JEANS",$C$2:$C$1000))))

대체·주의·성능

  • 정확히 일치(FALSE) 사용, 숫자/날짜 형식 통일.
  • 공백/CHAR160 제거: SUBSTITUTE(,CHAR(160)," ")TRIM/CLEAN.
  • 중복 시: XLOOKUP -1(마지막), FILTER(모두).
  • 대용량: 보조열 권장.

Troubleshooting

증상원인해결
#N/A공백/형식 불일치TRIM/CLEAN/VALUE로 정제
값이 틀림근사일치(기본)마지막 인수 FALSE 사용
느림배열 계산 과다보조열 도입, 범위 최소화
중복 행 처리동일 키 다수XLOOKUP -1 또는 FILTER

맺음말 & 내부 링크

Leave a Reply

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