엑셀 INDEX/MATCH 심화 – 2차원 조회·부분일치·다중조건·마지막값까지

엑셀 INDEX/MATCH 심화: 2차원 조회·부분일치·다중조건·마지막값

엑셀 INDEX MATCH로 VLOOKUP/HLOOKUP의 한계를 넘으세요. 2차원(행·열) 조회, 부분일치·대소문자 구분, 다중 조건, 마지막 값까지 복붙 가능한 수식과 표로 정리했습니다. VLOOKUP 사용 중이라면 본문과 함께 VLOOKUP 오류 해결 가이드XLOOKUP 기초로 조회 안정화도 참고하세요.

Quick Fix

=INDEX(PriceList[Price], MATCH([@Item], PriceList[Item], 0))
=INDEX(MonthlySales, MATCH(B2, MonthlySales[Item], 0), MATCH(C2, MonthlySales[#Headers], 0))
=INDEX(Sales[Price], MATCH(1, (Sales[Item]=E2)*(Sales[Date]>=G2)*(Sales[Date]<=H2), 0))
=LOOKUP(2, 1/(Sales[Item]=E2), Sales[Price])

샘플 데이터

ItemNamePriceTier
T001T-Shirt19000Basic
T002Polo25000Plus
B014Pants35000Basic
O010Jacket159000Pro
S201Shoes140000Pro

2차원(행·열) 조회

=INDEX(MonthlySales,
 MATCH(B2, MonthlySales[Item], 0),
 MATCH(C2, MonthlySales[#Headers], 0))

부분일치/대소문자 구분

=INDEX(PriceList[Price], MATCH("*Shirt*", PriceList[Name], 0))
=INDEX(PriceList[Price], MATCH(TRUE, EXACT(PriceList[Item], E2), 0))

다중 조건(기간+상품)

다중 조건 합계/개수는 함수 조합이 더 편할 때가 있습니다. 이런 경우 SUMIF·COUNTIF로 조건 집계를 함께 사용하면 효율적입니다.

=INDEX(Sales[Price], MATCH(1, (Sales[Item]=E2)*(Sales[Date]>=G2)*(Sales[Date]<=H2), 0))

마지막 값(최근 항목)

=LOOKUP(2, 1/(Sales[Item]=E2), Sales[Price])

체크리스트 & Troubleshooting

  • 테이블 사용, MATCH는 정확 일치(0), 범위 크기 동일
  • 근사치는 정렬 필수, 마지막 값은 LOOKUP 패턴
증상원인해결
#N/A공백/형식TRIM/CLEAN, 형식 통일
틀린 값근사치 정렬 미준수정렬 또는 정확 일치
첫 값만 나옴괄호 누락조건 곱을 괄호로 묶기
대소문자 필요기본 비구분EXACT+MATCH(TRUE,…,0)
최근 값 필요MATCH 첫 일치LOOKUP(2,1/(조건),범위)

관련 글

맺음말

INDEX/MATCH로 2차원·부분일치·다중조건·마지막값까지 안정적으로 조회할 수 있습니다. 위의 관련 글로 이어서 학습하면 실무 흐름이 매끈해집니다.

Leave a Reply

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