엑셀 조건을 만족하는 n번째 값 찾기 공식 :: 엑셀함수공식

조건을 만족하는 n번째 값을 찾아 출력범위에서 반환하는 공식의 사용법 및 동작원리를 알아봅니다.

작성자 :
오빠두엑셀
최종 수정일 : 2021. 09. 03. 11:02
URL 복사
메모 남기기 : (11)

엑셀 조건을 만족하는 n번째 값 찾기 공식

엑셀 중복값 포함 n 번째 값 찾기 목차 바로가기
함수 공식
{ =INDEX($출력범위,SMALL(IF($조건범위=조건,ROW($조건범위)-ROW(INDEX($조건범위,1,1))+1),n번째)) }

본 공식은 배열수식이므로 Microsoft 365 이전버전 사용자일 경우 Ctrl + Shift + Enter 로 입력합니다.

인수 설명
조건을 만족하는 n번째 값 인수
조건 만족하는 n번째 값 찾기 공식에 사용된 인수
인수 설명
$출력범위 n번째 값을 찾을 대상 범위입니다.
$조건범위 조건이 입력된 범위입니다.
조건 조건범위에서 찾을 조건입니다.
n번째 조건을 만족하는 n 번째 값을 출력범위에서 반환합니다.

예제파일 다운로드

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

  • [엑셀공식] 특정 조건 만족하는 n번째 값 찾기
    예제파일

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

엑셀 조건 만족하는 n번째 값 찾기 공식 알아보기

공식 설명

조건범위에서 조건을 만족하는 값들 중에서 n 번째 값을 찾아 반환하는 공식입니다. 배열수식이므로 Microsoft 365 이전 버전 사용자일 경우 Ctrl + Shift + Enter키로 수식을 입력합니다.

만약 조건범위에 만족하는 조건이 없을경우, 본 공식은 #NUM! 오류를 반환합니다. 또한, 조건을 만족하는 값의 개수가 3개인데 n번째로 4를 입력할 경우 4번째 값은 공백이므로 해당 공식은 #NUM! 오류를 반환합니다.

1개의 조건이 아닌 여러개의 조건을 만족하는 경우의 n 번째 값을 찾으려면 아래 공식을 사용하세요.

=INDEX(출력범위,SMALL(IF((조건범위1=조건1)*(조건범위2=조건2)...,ROW(조건범위)-ROW(INDEX(조건범위,1,1))+1),N번째))
공식의 동작원리
  1. ROW(조건범위) 는 조건범위의 시작행~마지막행의 행 번호를 세로배열로 반환합니다.
    =ROW(A3:A8)
    ={3,4,5,6,7,8}
  2. ROW(INDEX(조건범위,1,1)) 는 조건범위의 시작셀 행 번호를 반환합니다.
    =ROW(INDEX(A3:A8,1,1))
    =3
  3. ROW(조건범위)-ROW(INDEX(조건범위,1,1))+1는 1부터 시작하는 순번을 조건범위의 행 개수만큼 배열로 반환합니다.
    =ROW(조건범위)-ROW(INDEX(조건범위,1,1))+1
    =ROW(A3:A8)-ROW(INDEX(A3:A8,1,1))+1
    ={3,4,5,6,7,8}-3+1
    ={1,2,3,4,5,6}
  4. IF(조건범위=조건,ROW(조건범위)-ROW(INDEX(조건범위,1,1))+1) 로 조건범위에서 조건을 만족할 경우 해당 순번만 배열로 반환합니다.
    =IF({"과일","채소","과일","과일","채소","과일"}="채소",ROW(조건범위)-ROW(INDEX(조건범위,1,1))+1)
    =IF({FALSE,TRUE,FALSE,FALSE,TRUE,FALSE},{1,2,3,4,5,6})
    ={0,2,0,0,5,0}
  5. SMALL(IF(조건범위=조건,ROW(조건범위)-ROW(INDEX(조건범위,1,1))+1),N번째)는 <span
    style="text-decoration: underline;">반환된 값 중 n번째로 작은값을 출력합니다.
    =SMALL({0,2,0,0,5,0},2)
    =5 '2번째로 작은값인 5를 반환합니다.
  6. INDEX 함수를 통해 출력범위에서 k 번째 위치한 값을 반환하며 공식이 마무리됩니다.
    =INDEX(출력범위,SMALL(IF(조건범위=조건,ROW(조건범위)-ROW(INDEX(조건범위,1,1))+1),N번째))
    =INDEX({"사과","배추","딸기","복숭아","오이","귤"},5)
    ="복숭아"
5 7 투표
게시글평점
11 댓글
Inline Feedbacks
모든 댓글 보기
11
0
여러분의 생각을 댓글로 남겨주세요.x