엑셀 VLOOKUP 다중조건 함수 공식 :: 여러개 조건으로 값을 찾는 방법! 

사용된 공식
= { INDEX(출력범위, MATCH(1, (조건1=조건범위1)*(조건2=조건범위2)*..., 0)) }

[! 주의] 해당 공식은 배열수식이므로 Ctrl + Shift + Enter 로 '꼭! 반드시!' 입력해야 합니다.
그렇지 않으면 #VALUE! 오류가 출력됩니다.

공식에 대한 설명

INDEX / MATCH 함수를 응용한 공식입니다. VLOOKUP 함수를 '여러개의 조건'으로 검색하여 사용할 수 있습니다. INDEX/MATCH 공식의 기초 사용법관련포스트를 참고하세요.

해당 공식은 각 조건범위가 세로 또는 가로로 같은 방향일 경우에만 사용할 수 있습니다. 예를들어, 조건범위1는 가로방향이고 조건범위2가 세로방향일 경우 사용할 수 없습니다. 만약 가로/세로 다른 방향으로 여러개 조건을 만족하는 값을 찾아야 할 경우, INDEX함수의 3번째 인수를 추가하여 공식을 작성합니다. INDEX/MATCH 함수의 고급사용법관련 포스트에서 자세히 설명드렸습니다.

VLOOKUP 함수 다중조건

여러개의 조건을 만족하는 VLOOKUP 함수 공식을 알아봅니다.

예제파일 다운로드
파일구분마지막수정일파일형식파일다운로드
제19강19완성파일2020-02-19XLSX엑셀 실무기초 파일 다운로드
제19강19예제파일2020-02-19XLSX엑셀 실무기초 파일 다운로드
제12강12예제파일2020-02-11XLSX엑셀 실무기초 파일 다운로드
제11강11예제파일2020-02-08XLSX엑셀 실무기초 파일 다운로드
제10강10예제파일2020-02-07XLSX엑셀 실무기초 파일 다운로드
제4강4예제파일2020-01-29XLSX엑셀 실무기초 파일 다운로드
제9강9E-Book2019-10-31PDF엑셀 실무기초 파일 다운로드
제9강9완성파일2019-10-30XLSX엑셀 실무기초 파일 다운로드
제9강9예제파일2019-10-30XLSX엑셀 실무기초 파일 다운로드
제8강8예제파일2019-10-30XLSX엑셀 실무기초 파일 다운로드
제8강8E-Book2019-10-30PDF엑셀 실무기초 파일 다운로드
제7강7E-Book2019-10-28PDF엑셀 실무기초 파일 다운로드
제7강7예제파일2019-10-28XLSX엑셀 실무기초 파일 다운로드
제18강18예제파일2020-02-23XLSX엑셀 실무기초 파일 다운로드
제6강6E-Book2019-10-28PDF엑셀 실무기초 파일 다운로드
제6강6예제파일2019-10-28XLSX엑셀 실무기초 파일 다운로드
제5강5완성파일2020-03-09XLSX엑셀 실무기초 파일 다운로드
제5강5예제파일2020-03-09XLSX엑셀 실무기초 파일 다운로드
제17강17예제파일2020-02-22XLSX엑셀 실무기초 파일 다운로드
제3강3완성파일2020-04-05XLSX엑셀 실무기초 파일 다운로드
제3강3예제파일2020-04-05XLSX엑셀 실무기초 파일 다운로드
제2강2완성파일2020-04-04XLSX엑셀 실무기초 파일 다운로드
제2강2예제파일2020-04-04XLSX엑셀 실무기초 파일 다운로드
제13강13예제파일2020-02-17XLSX엑셀 실무기초 파일 다운로드
제16강16예제파일2020-02-21ZIP엑셀 실무기초 파일 다운로드
제1강1E-Book2019-10-28PDF엑셀 실무기초 파일 다운로드
제1강1PPT자료2019-10-28PPT엑셀 실무기초 파일 다운로드
제1강1예제파일2019-10-28XLSX엑셀 실무기초 파일 다운로드
제15강15예제파일2020-02-20XLSX엑셀 실무기초 파일 다운로드
제15강15완성파일2020-02-20XLSM엑셀 실무기초 파일 다운로드
제14강14완성파일2020-02-17XLSX엑셀 실무기초 파일 다운로드
제14강14예제파일2020-02-17XLSX엑셀 실무기초 파일 다운로드
영상강의

공식에 사용된 기초함수
선택한 범위에서 원하는 위치의 값을 반환합니다.
선택한 범위에서 찾는값의 위치 순번을 반환합니다.

VLOOKUP 함수 다중조건 공식 단계별 사용법

예제파일에 사용된 공식

= { INDEX($D$7:$D$18, MATCH(1, ($B$7:$B$18=H8)*($C$7:$C$18=H7), 0)) }

공식의 동작 원리
  1. 첫번째로, 여러개의 조건범위에서 각 조건을 모두 만족하는 행의 위치를 구합니다. MATCH 함수를 사용합니다.
    조건1 : $B$7:$B$18 = '품목'
    조건2 : $C$7:$C$18 = '주문처'
    MATCH 함수는 조건1과 조건2를 동시에 만족하는 행의 번호를 반환합니다.
  2. MATCH 함수에 입력되는 배열의 곱셈을 살펴보겠습니다.
    = {저지방우유, 하루우유, 하루우유, 저지방우유, 딸기맛우유, ...}  '// B7:B18에 입력된 품목입니다
    = {오빠두식당, 오빠두식당, 엑셀천국, 엑셀천국, 엑셀천국, ...}  '// C7:C18에 입력된 주문처입니다.
    '// 검색항목으로, '하루우유'와 '오빠두식당'을 검색할 경우, 두 배열의 곱셈은 아래와 같이 출력됩니다.
    = {품목범위=하루우유} * {주문처범위=오빠두식당}
    = {0, 1, 1, 0, 0, ..} * {1, 1, 0, 0, 0, ..}
    = {0, 1, 0, 0, 0, ..}  '// 두 배열의 곱셈을 계산합니다.
  3. 이제 두 배열의 곱셈을 MATCH 함수에 넣어보겠습니다.
    = MATCH(1, ('품목범위='품목')*('주문처범위'='주문처'), 0)
    = MATCH(1, {0, 1, 0, 0, 0, ...}, 0)
    = 2  '// MATCH 함수는 해당 범위에서 '1' 을 찾습니다. 배열에서 '1'이 두번째에 위치하므로 결과값으로 '2' 를 반환합니다.
  4. 이제 INDEX 함수의 동작원리를 알아봅니다. INDEX 함수는 범위에서 '해당 순번'에 위치하는 값을 반환합니다.
    = INDEX($D$7:$D$18, 2'// MATCH 함수의 결과값으로 2가 반환되어 INDEX 함수에 입력됩니다.
    = INDEX({1200, 1350, 1340, 1300, ...}, 2)
    = 1350   '// 범위에서 2번쨰 위치한 1350이 반환됩니다.
  5. 즉, 다시 정리하자면
    첫번째 : 다중조건으로 검색할 '하루우유'와 '오빠두식당'이 모두 일치하는 행의 번호는 2번째이다. (MATCH 함수)
    두번째 : 따라서 출력범위에서 2번째에 있는 항목인 1350을 출력한다. (INDEX 함수)

관련 함수 공식 살펴보기

VLOOKUP 참조 범위의 마지막 값을 반환합니다.
지정한 범위에서 찾는값과 일치하는 그림을 출력합니다.
범위에서 값을 찾아 같은 행의 다른 값을 반환합니다.
INDEX / MATCH 함수의 다양한 실전 응용방법을 알아봅니다.
2중 조건을 만족하는 데이터유효성 목록상자를 생성합니다.

링크] MS 홈페이지 VLOOKUP 함수 사용법 상세설명

별점주기 (5 / 11)

21
댓글 남기기

avatar
12 Comment Thereads
9 Thread replies
8 팔로워
 
가장 좋아요가 많은 댓글
가장 인기많은 댓글
14 작성자
안태현강슬비엑마호야김기태 최근 작성자
  현재 페이지 댓글알림 신청  
알림 설정
오세창
손님
오세창

안녕하세요.
강의 잘보고, 잘듣고 있습니다.
감사합니다.
예제 파일 ppt 빼고 나머지 모두 다운로드가 안되네요.

오빠두엑셀
손님

안녕하세요? 오빠두엑셀입니다.
첨부파일에 문제가 생겼었습니다 🙂 확인 감사드려요.
문제 해결되었으니 다시 시도해주시겠어요? 감사합니다.

김진현
손님
김진현
별점주기 :
     

안녕하세요. 강의 잘 보고 있습니다. 질문이 하나 있어서요.. 예전에 동적범위 강의를 보고, 이번 공식에 적용하고 싶어서 출력범위에 offset함수로 동적범위를 적용했습니다. 그런데 어떤건 옳은값이 나오고 어떤건 #REF 에러가 나오는데요 ㅠ.ㅠ 왜… 더보기 »

ㅇㅇㅇ
손님
ㅇㅇㅇ
별점주기 :
     

감사합니다!

충
Member
별점주기 :
     

감사합니다. 많이 배우고 있습니다. 오늘도 또 많이 배우고 갑니다.

우후대박
Member
우후대박
별점주기 :
     

다중 조건 찾고 있었는데, 실마리가 보입니다. 아래 분처럼 동적범위 설정은 다음 스텝으로 진행해봐야겠습니다. 다만, 아이템 하나를 검색하는데 다중조건함수를 50개 이상 걸어 놓으니 속도 저하가 상당하네요. 품질 부서에 있다보니 아이템 하나에… 더보기 »

사랑하는님
Member
사랑하는님
별점주기 :
     

2개의 행과 여러개의 열에 한건의 데이타를 1개의 행과 열에 데이타를 가져오기를 한는데 어떤 함수조합을 사용해야하나요 A B C D E 1 순번 공사명 착공일 감독자 총공사비 2 공사번호 준공일 감리자… 더보기 »

초코
Member
초코
별점주기 :
     

감사합니다 잘보겠습니다

김기태
손님
김기태
별점주기 :
     

다중서식 왜 안되나 끙끙 앓다가, 이 서식 보고 문제를 해결하여 암이 나았습니다

호야
Member
호야
별점주기 :
     

잘보고 갑니다요

엑마
구독자
엑마
별점주기 :
     

덕분에 엄청나게 많은 엑셀작업을 효율화할 수 있게 되었습니다! 이번에 배운것을 적용 중 궁금한 점이 있어 질문남깁니다!! 배열 곱하는 부분에서 $D$2:$D$10="2017-01-01"이런식으로 남기면 날짜를 읽지 못하더라구요!! 그런데 일반서식입히면 나타나는 넘버 43647을 입력하면,… 더보기 »

강슬비
손님
강슬비
별점주기 :
     

너무유용하게 활용하다가 막힌부분이있는데 직급과 호봉에따른 본봉을 엑셀로 정리하려는데 어렵네요 =INDEX($C$2:$C$11,MATCH(,($A$2:$A$11=F3)*($B$2:$B$11=G3),0),1) => 이공식중에 혹시 잘못된부분있을까요??a가직금b가 호봉c가본봉이에요 #N/A가 계속뜨네요

안태현
손님
안태현
별점주기 :
     

강의 잘보고, 들었습니다.
저는 함수를 해도 모르겠는데 강의보니까 공부가 잘되는거같네요
도움이 되는거같아요 감사합니다. 함수공부도해야되는데 회사에서도 사무보조만 하고있어요
회사에서는 함수는하지않지만 그래도 공부를해놔야될거같아 공부했어요. 도움주셔서 감사드립니다.