
vlookup multiple results: 엑셀에서 중복값(여러 결과) 모두 가져오는 방법 (365·2019 완벽 가이드)
엑셀에서 조회를 하다 보면 같은 키(예: 고객ID, 상품코드, 사번)가 여러 번 반복되는 데이터가 많습니다. 그런데 VLOOKUP을 쓰면 결과가 늘 첫 번째 1개만 나와서 보고서가 틀어지죠. 이 글은 vlookup multiple results 문제를 버전별(365/2021 vs 2019/2016)로 가장 안정적으로 해결하는 공식을 “복붙 템플릿 + 실무 방어장치”까지 한 번에 제공합니다.
빠른 해결(Quick Fix) — 10분 안에 vlookup multiple results 끝내기
- Excel 365/2021 이상이면:
=FILTER(반환범위, 조건범위=조건값, "No match") - Excel 2019/2016이면:
INDEX+SMALL로 n번째 결과를 아래로 복사 - VLOOKUP 유지가 필요하면: “보조키(헬퍼열) + 순번”으로 1/2/3번째 결과를 VLOOKUP으로 조회
더 깊은 다중 조건/다중 결과 패턴은 내부 글도 참고하세요: VLOOKUP 다중 조건 다중 결과: 실무 공식 5가지, INDEX MATCH function 완전 정복, IF 함수 다중조건 가이드, 엑셀 함수 A~Z 무료 가이드, XLOOKUP vs VLOOKUP 비교.
VLOOKUP이 다중 결과에 약한 이유
VLOOKUP은 lookup_value 1개를 table_array의 첫 번째 열에서 찾아, 일치하는 행 1개를 반환합니다. 그래서 키가 중복이면 “첫 번째로 만나는 값”만 출력됩니다.
(추천) Excel 365/2021: FILTER로 “모든 결과” 스필하기
샘플 데이터(그대로 붙여넣기)
| OrderID | Customer | Product | Amount |
|---|---|---|---|
| 1001 | C-01 | Hoodie | 59000 |
| 1002 | C-02 | Tee | 19000 |
| 1003 | C-01 | Pants | 49000 |
| 1004 | C-03 | Hoodie | 59000 |
| 1005 | C-01 | Cap | 15000 |
| 1006 | C-02 | Pants | 49000 |
| 1007 | C-01 | Tee | 19000 |
| 1008 | C-03 | Cap | 15000 |
| 1009 | C-02 | Hoodie | 59000 |
| 1010 | C-01 | Socks | 5000 |
표로 서식 지정(권장): A1:D11 선택 → Ctrl+T → “머리글 포함” 체크 → 확인
여러 행 결과(Amount 목록)
=FILTER(D2:D11, B2:B11=F2, "No match")
여러 열 결과(행 전체 반환)
=FILTER(A2:D11, B2:B11=F2, "No match")
여러 결과를 한 셀에 합치기(TEXTJOIN + FILTER)
=TEXTJOIN(", ", TRUE, FILTER(C2:C11, B2:B11=F2, ""))
공식 문서 참고: VLOOKUP function, FILTER function, TEXTJOIN function.
구버전 Excel 2016/2019: INDEX+SMALL로 n번째 결과 뽑기
H2에 넣고 아래로 복사:
=IFERROR(
INDEX($D$2:$D$11,
SMALL(
IF($B$2:$B$11=$F$2, ROW($D$2:$D$11)-ROW($D$2)+1),
ROWS($H$2:H2)
)
),
"")
“VLOOKUP을 꼭 써야 할 때” — 헬퍼열로 다중 결과 흉내내기
보조키(중복 순번) 만들기
=B2&"|"&COUNTIF($B$2:B2, B2)
1번째/2번째/3번째 결과를 VLOOKUP으로 가져오기
=IFERROR(VLOOKUP($F$2&"|"&ROWS($G$2:G2), $E$2:$F$11, 2, FALSE), "")
Troubleshooting
| 증상 | 원인 | 해결 |
|---|---|---|
| VLOOKUP이 첫 값만 가져옴 | 함수 구조상 1행만 반환 | 365: FILTER, 구버전: INDEX+SMALL |
| FILTER가 #SPILL! | 스필 영역에 값 존재 | 아래/오른쪽 셀 비우기 |
| 결과가 있는데 No match | 공백/형식 불일치 | TRIM/CLEAN, VALUE/TEXT로 통일 |
| 구버전에서 #VALUE! | 배열수식 입력 문제 | Ctrl+Shift+Enter 필요 여부 확인 |
맺음말
vlookup multiple results는 “VLOOKUP을 더 복잡하게” 만드는 문제가 아니라, 데이터가 1:N 구조임을 인정하고 출력 형태를 바꾸는 문제입니다. 가능하면 365에서는 FILTER로 리스트를 반환하고, 구버전은 INDEX+SMALL로 n번째 결과를 복제하는 방식이 가장 안전합니다.
구독해 두면, 조회/정리/오류 방지 실무 템플릿을 계속 업데이트해서 올립니다.