엑셀 VLOOKUP 여러 조건 여러 결과 동시 출력하기 공식

VLOOKUP 함수로 여러 조건을 만족하는 각각의 결과를 모두 출력하는 함수 공식의 사용법 및 동작원리를 살펴봅니다.

작성자 :
오빠두엑셀
최종 수정일 : 2022. 12. 16. 15:23
URL 복사
메모 남기기 : (34)

VLOOKUP 여러 조건 여러 결과 동시 출력하기 공식

VLOOKUP 여러 조건 여러 결과 동시 출력하기 목차 바로가기
함수 공식

● M365 / 2021 이후 버전

=FILTER(출력범위,ISNUMBER(MATCH(조건범위,조건,0)))

● 엑셀 2019 이전 버전

=IFERROR(INDEX($출력범위,SMALL(IF(ISNUMBER(MATCH($조건범위,$조건,0)),MATCH(ROW($출력범위), ROW($출력범위)), ""), ROWS($A$1:A1)), COLUMNS($A$1:A1)),"")
'본 수식은 배열수식이므로 CTRL + SHIFT + ENTER 로 입력합니다.
인수 설명
엑셀 VLOOKUP 여러 조건 여러 값 출력 공식 설명
엑셀 VLOOKUP 여러 조건 여러개 값 출력하기 공식 설명
인수 설명
$출력범위 조건을 만족할 경우 출력할 값 범위입니다. 365 이전 버전 사용자는 범위를 반드시 절대참조로 입력해야 합니다.
$조건범위 출력범위 중 조건을 비교할 값이 입력된 범위입니다. 출력 범위와 높이가 동일해야 합니다.
$조건 여러 조건이 입력된 범위입니다.

예제파일 다운로드

오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.

  • [엑셀공식] 엑셀 VLOOKUP 여러 조건 여러 결과 모두 출력
    예제파일

호환성
운영체제 호환성
Windows 버전 모든 엑셀 버전에서 사용 가능합니다.
Mac 버전 모든 엑셀 버전에서 사용 가능합니다.
사용된 기초 함수

VLOOKUP 여러 조건 여러 결과 동시 출력하기 공식 알아보기

공식 설명

본 공식은 여러 조건을 만족하는 모든 결과값을 동시에 출력하는 엑셀 VLOOKUP 여러 조건 여러 값 동시 출력 공식입니다.

엑셀 여러 조건 여러 값 출력 GIF
엑셀 VLOOKUP 여러 조건 여러개 값 출력하기 공식 예제

하나의 조건을 만족하는 여러 결과를 동시에 출력하는 공식은 아래 VLOOKUP 여러개 값 출력 공식을 참고하세요.

M365 이전 버전을 사용할 경우 INDEX/MATCH 함수 고급 공식으로 수식을 입력해야 하는데요. 한가지 문제점으로, INDEX/MATCH 함수는 배열수식이므로 특성상 수식으로 넓을 범위를 입력할 경우 엑셀 처리속도가 느려지는 문제가 발생할 수 있으므로 주의합니다. INDEX/MATCH 함수에 대한 내용은 아래 INDEX/MATCH 기초 영상강의에서 자세히 설명해드렸습니다.

M365 버전을 사용할 경우 FILTER 함수로 매우 빠르게 처리할 수 있습니다. FILTER 함수를 활용한 더 다양한 예제는 아래 FILTER 함수 사용법 영상강의를 참고해주세요.

공식의 동작원리

본 공식의 동작원리를 M365 버전에서 제공되는 FILTER 함수 기준으로 작성하였습니다. M365 이전 버전에서 사용하는 INDEX/MATCH 공식이 동작원리는 VLOOKUP 여러개 값 동시에 출력하기 공식 포스트를 참고해주세요.

  1. MATCH 함수로 조건범위의 값이 여러 조건에 포함되는 값인지 확인합니다.
    '조건범위의 값이 조건 중 하나일 경우, MATCH 함수는 결과값으로 순번을 반환합니다.
    '만약 조건이 아닐 경우 MATCH 함수는 #N/A 오류를 반환합니다.
    =MATCH(조건범위,조건,0)
    =MATCH({강남구,서초구,용산구,강남구,금천구,동작구},{강남구,용산구},0)
    ={1,#N/A,#N/A,2,1,#N/A,#N/A}
  2. ISNUMBER 함수를 통해 MATCH 함수로 숫자가 반환된 숫자를 TRUE로 변환합니다.
    'MATCH 함수로 숫자가 반환된 경우(=조건에 포함된 경우), TRUE로 변환됩니다.
    =ISNUMBER(MATCH(조건범위,조건,0))
    =ISNUMBER({1,#N/A,#N/A,2,1,#N/A,#N/A})
    ={TRUE,FALSE,FALSE,TRUE,TRUE,FALSE,FALSE}
  3. FILTER 함수로 출력범위를 필터링합니다.
    =FILTER(출력범위,ISNUMBER(MATCH(조건범위,조건,0)))
    =FILTER({박지훈,김진아,박시형,유매력,황석훈,박나연,하태정},{TRUE,FALSE,FALSE,TRUE,TRUE,FALSE,FALSE})
    ={박지훈,유매력,황석훈}

자주묻는질문

다중 조건 여러개를 만족하는 여러 결과를 출력할 수 있나요?

아래 공식을 사용하면 여러개의 조건 범위에서 여러 조건을 만족하는 여러개의 결과를 출력할 수 있습니다.

=IFERROR(INDEX($출력범위,SMALL(IF(ISNUMBER(MATCH($조건범위1,$조건1,0)*MATCH($조건범위2,$조건2,0)),MATCH(ROW($출력범위), ROW($출력범위)), ""), ROWS($A$1:A1)), COLUMNS($A$1:A1)),"")
'본 수식은 배열수식이므로 CTRL + SHIFT + ENTER 로 입력합니다.
엑셀 VLOOKUP 다중조건 다중범위 여러개 결과
엑셀 VLOOKUP 다중 조건 여러 범위 여러개 결과 반환 공식
값이 아닌 조건을 검색하려면 수식을 어떻게 입력하나요?

범위 안의 값을 포함하지 않는 조건을 검색하려면 ISNUMBER 함수를 NOT 함수로 묶어서 수식을 입력합니다.

=IFERROR(INDEX($출력범위,SMALL(IF(NOT(ISNUMBER(MATCH($조건범위,$조건,0))),MATCH(ROW($출력범위), ROW($출력범위)), ""), ROWS($A$1:A1)), COLUMNS($A$1:A1)),"")
'조건으로 입력되지 않은 값을 필터링 합니다.
VLOOKUP 여러값 여러조건 공식을 가로로 불러오려면 수식을 어떻게 입력하나요?

공식을 가로방향으로 자동채우기해야 할 경우, 아래 공식을 사용합니다.

=IFERROR(INDEX($출력범위,SMALL(IF(ISNUMBER(MATCH($조건범위,$조건,0)),MATCH(COLUMN($출력범위), COLUMN($출력범위)), ""), COLUMNS($A$1:A1))),"")
'VLOOKUP 여러조건 여러결과를 가로방향으로 출력합니다.
4.9 23 투표
게시글평점
34 댓글
Inline Feedbacks
모든 댓글 보기
34
0
여러분의 생각을 댓글로 남겨주세요.x