엑셀 찾기 함수 정리: XLOOKUP, VLOOKUP, INDEX MATCH, FILTER
어떤 찾기 함수를 써야 할지 헷갈린다면 이 한 장이면 돼요. 함수별 문법과 작은 예제, 조건 두 개로 찾는 법, #N/A·#REF!·#SPILL! 오류 해결법을 정리했어요.
- 분량:
- A4 1쪽
- 대상:
- 모든 Excel 버전(XLOOKUP·XMATCH·FILTER는 Excel 2021 이후)
- 업데이트:

어떤 찾기 함수를 쓸까요?
질문에 답하면서 내려가세요. 가운데 열은 Excel 2021 이후와 Microsoft 365, 오른쪽 열은 Excel 2019 이하용이에요.
| 질문 | Excel 2021+ / 365 | 이전 버전 |
|---|---|---|
| 값 하나만 필요해요? | XLOOKUP | INDEX + MATCH, 결과가 오른쪽에 있으면 VLOOKUP |
| 일치하는 행이 여러 개예요? | FILTER | 자동 필터나 고급 필터(간단한 수식 없음) |
| 결과 열이 찾는 열보다 왼쪽에 있어요? | XLOOKUP | INDEX + MATCH(VLOOKUP은 왼쪽 조회 불가) |
| 값이 아니라 위치가 필요해요? | XMATCH | MATCH(…, 0) |
| 조건이 두 개 이상이에요? | XLOOKUP(1, (…)*(…), …) 또는 FILTER | INDEX + MATCH(Ctrl+Shift+Enter) 또는 LOOKUP(2, 1/…) |
버전별 사용 가능 여부
XLOOKUP, XMATCH, FILTER는 Excel 2021, Excel 2024, Microsoft 365, 웹용 Excel(Windows와 Mac)에서 쓸 수 있어요. Excel 2019 이하에는 없어요. VLOOKUP, INDEX, MATCH, LOOKUP은 모든 버전에서 돼요.
예제 데이터
아래 예제 수식은 모두 A1:D6에 있는 이 작은 표를 기준으로 해요.
| 행 | A: ID | B: 제품 | C: 지역 | D: 가격 |
|---|---|---|---|---|
| 2 | P-101 | 노트 | 동부 | 3.50 |
| 3 | P-102 | 펜 | 서부 | 1.20 |
| 4 | P-103 | 스테이플러 | 동부 | 8.90 |
| 5 | P-104 | 테이프 | 서부 | 2.40 |
| 6 | P-105 | 펜 | 동부 | 1.10 |
함수별 문법과 예제
XLOOKUP
Excel 2021+ · 365 · 웹=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])=XLOOKUP("P-103", A2:A6, D2:D6, "없음")값 하나를 찾을 때 가장 먼저 쓰는 함수. 왼쪽 방향 조회도 되고, 기본이 정확히 일치예요. 찾는 범위와 반환 범위의 크기가 다르면 #VALUE!가 나와요.
결과: 8.90
배우기: XLOOKUP 함수 사용법 →VLOOKUP
모든 버전=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])=VLOOKUP("P-103", A2:D6, 4, FALSE)오래된 파일과 호환이 필요할 때. 찾는 값이 표의 첫 열에 있고 결과가 오른쪽에 있어야 해요. 정확히 일치하려면 마지막 인수에 꼭 FALSE를 넣으세요. 생략하면 근사값 일치예요.
결과: 8.90
배우기: VLOOKUP 함수 사용법 →INDEX + MATCH
모든 버전=INDEX(return_range, MATCH(lookup_value, lookup_range, 0))=INDEX(A2:A6, MATCH("스테이플러", B2:B6, 0))XLOOKUP이 없는 버전에서 왼쪽 방향 조회나 열 삽입에 강한 수식이 필요할 때. MATCH의 마지막 인수 0이 정확히 일치예요.
결과: P-103
배우기: INDEX와 MATCH 함수 사용법 →XMATCH
Excel 2021+ · 365 · 웹=XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])=XMATCH("P-104", A2:A6)값이 아니라 위치(몇 번째인지)가 필요할 때. MATCH와 달리 기본이 정확히 일치예요. INDEX와 함께 쓰면 INDEX + MATCH의 최신 버전이 돼요.
결과: 4
배우기: XMATCH 플레이그라운드에서 실습 →FILTER
Excel 2021+ · 365 · 웹=FILTER(array, include, [if_empty])=FILTER(B2:B6, C2:C6="동부", "없음")조건에 맞는 값이 여러 개일 때. 결과가 아래 셀로 자동으로 넘쳐 나와요(스필). 아래쪽 셀이 비어 있지 않으면 #SPILL!이 나와요.
결과: 노트, 스테이플러, 펜
배우기: 동적 배열 수식과 FILTER →조건 두 개로 찾기
=XLOOKUP(1, (B2:B6="펜")*(C2:C6="동부"), D2:D6)
=INDEX(D2:D6, MATCH(1, (B2:B6="펜")*(C2:C6="동부"), 0))
=LOOKUP(2, 1/((B2:B6="펜")*(C2:C6="동부")), D2:D6)제품과 지역처럼 두 조건을 모두 만족하는 값을 찾을 때. 조건끼리 곱하면(*) 둘 다 참인 행만 1이 돼요. 위에서부터 Excel 2021 이후용, 모든 버전용(INDEX + MATCH), 모든 버전용(LOOKUP)이에요. Excel 2019 이하에서는 INDEX + MATCH 수식을 Ctrl+Shift+Enter로 입력하세요. LOOKUP 방식은 그냥 Enter로 되고, 일치하는 마지막 행을 돌려줘요.
결과: 1.10
배우기: 엑셀 고급 조회: 다중 조건 조회 →자주 보는 오류와 해결법
| 오류 | 뜻 | 해결법 |
|---|---|---|
#N/A | 찾는 값이 없어요. | 철자와 앞뒤 공백(TRIM), 텍스트로 저장된 숫자, 정확히 일치(FALSE 또는 0)를 확인하세요. XLOOKUP의 if_not_found나 IFNA로 메시지를 대신 보여 줄 수 있어요. |
#REF! | 참조할 셀이 없어요. | VLOOKUP의 col_index_num이 table_array의 열 개수보다 커요. 참조한 셀을 삭제해도 생겨요. 범위나 열 번호를 고치세요. |
#SPILL! | 결과가 넘쳐 나올 자리가 막혔어요. | FILTER처럼 여러 셀을 돌려주는 수식은 아래 셀이 비어 있어야 해요. 막고 있는 셀을 비우세요. 엑셀 표 안에서는 스필 수식을 쓸 수 없어요. |
#NAME? | 엑셀이 함수 이름을 몰라요. | 대부분 오타이거나, XLOOKUP·XMATCH·FILTER를 Excel 2019 이하에서 열었을 때예요. 이 경우 INDEX + MATCH를 쓰세요. |
인쇄 팁
- A4 용지 한 장에 맞춰 만들었어요. 인쇄 대화 상자에서 배율을 실제 크기(100%)로 두세요.
- Letter 용지에 인쇄하거나 여백이 잘리면 페이지에 맞추기를 고르세요. 글자가 조금 작아질 뿐 내용은 그대로예요.
- 흑백으로 인쇄해도 읽을 수 있어요. 컬러로 인쇄하면 그룹과 함수 구분이 더 잘 보여요.
- 자주 보게 되니 두꺼운 종이에 인쇄하거나 코팅해서 모니터 옆에 두면 편해요.
- 영어 버전(US Letter)도 있어요. 내려받기 상자 아래의 링크에서 받을 수 있어요.
함께 보면 좋은 강의와 튜토리얼
도움이 되었나요? 잘못된 내용이 있나요? 의견 보내기 · admin@arumsoft.com