본문 바로가기

정보창고/문서작업

엑셀 다중조건에 맞는 목록 만들기

INDEX 함수를 이용해 다중 조건에 맞는 목록 만들기

예) A, B열이 각각 1, 월 에 해당하는 C, D, E열 값 목록 구하기

G2에 

=INDEX($C$1:$C$9,1/LARGE(INDEX(($A$1:$A$9=$G$1)*($B$1:$B$9=$H$1)/ROW($A$1:$A$9),),ROW($A1)))

H2에는

=INDEX($D$1:$D$9,1/LARGE(INDEX(($A$1:$A$9=$G$1)*($B$1:$B$9=$H$1)/ROW($A$1:$A$9),),ROW($A1)))

같은 방법으로 I2에도 입력 후 아래로 드래그


예) G7 참조  '3, 일, 하' 처럼 조건을 추가하려면

수식에 *(조건) 추가 

=INDEX($E$1:$E$9,1/LARGE(INDEX(($A$1:$A$9=$G$6)*($B$1:$B$9=$H$6)*($C$1:$C$9=$I$6)/ROW($A$1:$A$9),),ROW($A1)))


$C$1:$C$9 조건에 맞는 값을 구하려는 범위

$A$1:$A$9=$G$1 조건1 

$B$1:$B$9=$H$1 조건2 

ROW($A$1:$A$9), ROW($A1)  구하려는 범위 시작(1) 부터 1행 증가할 때 마다 +1씩 증가

오류주의

> 수식 모든 범위의 행이 (예 에서는 1~9행) 동일해야 함

> 데이터가 3행부터 입력된 경우 

=INDEX($C$3:$C$9,1/LARGE(INDEX(($A$3:$A$9=$G$1)*($B$3:$B$9=$H$1)/ROW($A$3:$A$9),),ROW($A1))-2)

와 같이 마지막 ROW($A1))-2로 수식 수정 

(이 때 괄호 위치 및 ROW($A3)-2가 아님 주의)

데이터 입력행에서 1만큼 작은 수로 빼줌, 4행 부터라면 -3으로 수정

> 수식이 입력된 셀에 조건에 해당하는 값이 없을 경우 #DIV/0! 표시 될 때  수식을 지우거나 IFERROR 수식 추가

> 만들어야 할 목록이 많다면 매크로나 다른 수식을 이용


Book1.xlsx

첨부파일을 참조하세요