5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴
실무 위키응용 공식여러 범위 VLOOKUP 검색 공식

여러 범위 VLOOKUP 검색 공식

2007
지원 버전 자세히 보기
엑셀 2013 이전엑셀 2016엑셀 2019엑셀 2021엑셀 2024M365웹 엑셀

서로 다른 여러 범위를 VLOOKUP 함수로 조회합니다.

여러 범위 VLOOKUP 검색 공식 예제 미리보기
예제 미리보기 크게 보기

인수 설명

01VLOOKUP + IFERROR 공식

=IFERROR ( VLOOKUP ( 찾을값, 범위1, 열번호, 0 ), IFERROR ( VLOOKUP ( 찾을값, 범위2, 열번호, 0 ), VLOOKUP ( 찾을값, 범위3, 열번호, 0 ) ) )
인수 설명 자세히 보기(인수를 클릭하면 해당 영역만 강조됩니다. 여러 개를 함께 켜고 끌 수 있습니다.)
인수구분설명
찾을값필수여러 조회 범위의 첫 번째 열에서 찾을 값입니다.
범위1필수가장 먼저 검색할 조회 범위입니다. 찾을값은 범위의 첫 번째 열에 있어야 합니다.
범위2필수첫 번째 범위에서 값을 찾지 못했을 때 검색할 두 번째 조회 범위입니다.
범위3필수앞의 두 범위에서 값을 찾지 못했을 때 검색할 마지막 조회 범위입니다.
열번호필수각 조회 범위의 맨 왼쪽 열을 1로 하여 결과를 가져올 열의 번호입니다.
F2=IFERROR(VLOOKUP(E2,$B$2:$C$3,2,0),IFERROR(VLOOKUP(E2,$B$4:$C$5,2,0),VLOOKUP(E2,$B$6:$C$7,2,0)))
A
B
C
D
E
F
G
1
범위
상품
단가
찾을 상품
조회 단가
2
범위1
사과
1200
사과
1200
3
범위1
1500
복숭아
2500
4
범위2
복숭아
2500
참외
1800
5
범위2
포도
3000
1500
6
범위3
참외
1800
포도
3000
7
범위3
수박
2200
수박
2200
8
복숭아
2500
9
F2:F8은 찾을 상품이 있는 첫 번째 조회 범위의 단가를 반환하며, 앞 범위에 없으면 다음 범위를 차례로 조회합니다.

02VLOOKUP + VSTACK 공식 (엑셀 2024 이후)

=VLOOKUP ( 찾을값, VSTACK ( 범위1, 범위2, 범위3 ), 열번호, 0 )
인수 설명 자세히 보기
인수구분설명
찾을값필수합쳐진 조회 범위의 첫 번째 열에서 찾을 값입니다.
범위1필수같은 열 구조를 가진 첫 번째 조회 범위입니다. 찾을값은 범위의 첫 번째 열에 있어야 합니다.
범위2필수첫 번째 범위 아래에 이어 붙일 두 번째 조회 범위입니다. 열 개수와 순서가 같아야 합니다.
범위3필수두 번째 범위 아래에 이어 붙일 세 번째 조회 범위입니다. 열 개수와 순서가 같아야 합니다.
열번호필수합쳐진 조회 범위의 맨 왼쪽 열을 1로 하여 결과를 가져올 열의 번호입니다.
F2=VLOOKUP(E2,VSTACK($B$2:$C$3,$B$4:$C$5,$B$6:$C$7),2,0)
A
B
C
D
E
F
G
1
범위
상품
단가
찾을 상품
조회 단가
2
범위1
사과
1200
사과
1200
3
범위1
1500
복숭아
2500
4
범위2
복숭아
2500
참외
1800
5
범위2
포도
3000
1500
6
범위3
참외
1800
포도
3000
7
범위3
수박
2200
수박
2200
8
복숭아
2500
9
VSTACK 함수가 세 조회 범위를 하나의 6행 표로 합친 뒤 VLOOKUP 함수가 F2:F8에 각 상품의 단가를 반환합니다. 배열은 VLOOKUP 함수 안에서 사용되므로 결과는 각 셀에 하나씩 표시됩니다.
이 공식이 사용하는 함수

동작 원리

01VLOOKUP + IFERROR 공식

VLOOKUP 함수는 각 범위를 차례로 조회하고 IFERROR 함수는 오류가 발생하면 다음 범위의 조회식을 계산합니다.

Excel 2007 이후 IFERROR 함수 공식의 예제 시트에서 F4 셀이 1800을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.

1

첫 번째 범위에서 찾을값을 조회합니다

VLOOKUP 함수는 범위1의 상품 열에서 참외를 찾습니다. 범위1에는 참외가 없으므로 #N/A 오류를 반환합니다. IFERROR 함수는 #N/A 외의 오류도 처리하므로, 찾지 못한 경우에만 다음 범위를 조회하려면 Excel 2013 이후 IFNA 함수를 사용할 수 있습니다.

=VLOOKUP ( E4, $B$2:$C$3, 2, 0 ) 범위1에는 참외가 없습니다.
= #N/A 첫 번째 조회 결과입니다.
2

두 번째 범위에서 찾을값을 조회합니다

첫 번째 조회가 오류이므로 바깥 IFERROR 함수가 안쪽 IFERROR 함수를 계산합니다. 범위2의 VLOOKUP 함수도 참외를 찾지 못해 #N/A 오류를 반환합니다.

=VLOOKUP ( E4, $B$4:$C$5, 2, 0 ) 범위2에도 참외가 없습니다.
= #N/A 두 번째 조회 결과입니다.
3

세 번째 범위에서 결과를 찾습니다

두 번째 조회도 오류이므로 안쪽 IFERROR 함수가 범위3을 조회합니다. 참외와 일치하는 행의 두 번째 열에서 1800을 반환하며 전체 공식도 같은 값을 반환합니다.

=IFERROR ( VLOOKUP ( E4, $B$2:$C$3, 2, 0 ), IFERROR ( VLOOKUP ( E4, $B$4:$C$5, 2, 0 ), VLOOKUP ( E4, $B$6:$C$7, 2, 0 ) ) ) 범위3에서 참외의 단가를 찾습니다.
= 1800 참외의 단가입니다.

02VLOOKUP + VSTACK 공식 (엑셀 2024 이후)

VSTACK 함수는 같은 열 구조의 범위를 세로로 합치고 VLOOKUP 함수는 합쳐진 배열에서 값을 조회합니다.

M365·Excel 2024 VSTACK 함수 공식의 예제 시트에서 F4 셀이 1800을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.

1

VSTACK 함수가 세 범위를 합칩니다

VSTACK 함수는 범위1, 범위2, 범위3을 입력한 순서대로 이어 붙여 6행 2열 배열을 반환합니다.

=VSTACK ( $B$2:$C$3, $B$4:$C$5, $B$6:$C$7 ) 세 조회 범위를 세로로 합칩니다.
= {"사과",1200;"배",1500;"복숭아",2500;"포도",3000;"참외",1800;"수박",2200} 위에서부터 이어진 6행 2열 배열입니다.
2

VLOOKUP 함수가 합쳐진 배열을 조회합니다

VLOOKUP 함수는 합쳐진 배열의 첫 번째 열에서 참외를 찾고 같은 행의 두 번째 열에 있는 1800을 반환합니다.

=VLOOKUP ( E4, VSTACK ( $B$2:$C$3, $B$4:$C$5, $B$6:$C$7 ), 2, 0 ) 합쳐진 배열에서 참외를 조회합니다.
= 1800 참외의 단가입니다.

댓글 6

댓글 6
5 (5개 평가)
이경태
이경태 2021.01.06 16:25
오, 정말 딱 필요한 수식이었는데 감사합니다.엑셀은 하면 할수록 어려운데 재밌네요
김성호
김성호 2021.07.06 11:24
와우! 이런방법도 있었다니!
딱 필요했던 수식이었는데 정말 감사합니다!!!
흑설탕
흑설탕 2022.08.11 13:37
딱 필요했는데 너무 감사합니다.

추가로 질문드립니다.
지정해야 하는 여러 범위가 위와 같이 3개가 아니라 그 이상 (저의 경우 20개 범위)일 경우에는 어떻게 해야 할까요? iferror로 하니 3개까지만 범위가 지정되고 그 이상의 경우에는 인수가 너무 많다고 에러가 표시되더군요.
오빠두엑셀
오빠두엑셀 작성자 2022.08.13 17:02
안녕하세요.
그럴 경우 수식이 다소 길어지겠지만, IFERROR로 범위를 계속 추가해서 사용해보세요 ^^ IFERROR 함수를 계속 추가하면 3개 이상으로도 범위를 사용할 수 있습니다.
리지
리지 2024.06.26 15:06
감사합니다!
강민준🤗
강민준🤗 2024.08.11 19:50
좋은 강의 감사합니다🙇‍♂️
스크랩 완료