FILTER 함수는 일련의 데이터에서 원하는 정보를 필터링해 주는 함수입니다.
FILTER에 필요한 인수는 총 4가지이며, 그 구분은 다음과 같습니다.
구문: FILTER( array, include, [if_empty] )
인수 | 설명 |
array(필수) | 필터링하고자 하는 일련의 데이터 범위 |
include(필수) | 필터링하고자 하는 행 또는 열에 대한 포함 여부(TRUE / FALSE) |
if_empty(선택) | 필터링 조건에 해당하는 데이터가 없을 경우 반환할 값 |
필터링하고자 하는 아래의 데이터를 이용해서 FILTER 함수의 기본적인 내용을 확인해 보겠습니다. 아래의 데이터를 복사해서 따라 해 보시면 더 좋겠습니다.
Product | Sold Qty | Prodcut Group | Export / Domestic |
JP SSP-01 | 424 | A | Export |
JP SSP-02 | 391 | D | Domestic |
JP SSP-03 | 312 | B | Export |
JP SSP-04 | 199 | A | Domestic |
JP SSP-05 | 314 | C | Domestic |
JP SSP-06 | 354 | B | Export |
JP SSP-07 | 243 | A | Export |
JP SSP-08 | 126 | D | Domestic |
JP SSP-09 | 101 | C | Export |
JP SSP-10 | 475 | F | Export |
[ 예제 1 ] 필요한 열( Product / Sold Qty )만 필터링하기
위의 첫 번째 예제에서 인수 include의 입력값 { 1, 1, 0, 0 }의 의미를 먼저 이해하셔야 합니다.
Excel에서 숫자 1, 0은 각각 TRUE, FALSE를 의미합니다. 또한 { } 은 배열(일련의 값들)을 의미하며, ,(콤마)는 열을 의미합니다. 참고로 ;(세미콜론)은 행을 의미합니다.
만약 위의 그림과 같이 A1 셀에 ={1,2,3;4,5,6} 이라고 입력하면 A1:C2 범위까지 1부터 6까지의 2행 × 3열의 데이터가 채워(SPILL)지는 것을 확인할 수 있습니다.
따라서 위의 그림처럼 FILTER함수의 두 번째 인수에 B20:E20 이라고 하는 것과 { 1, 1, 0, 0 } 으로 입력하는 것은 같은 결과를 반환해 줍니다.
다시 예제로 돌아와서 FILTER( $B$5:$E$14, {1,1,0,0} )의 의미를 해석해 보면,
$B$5:$E$14의 데이터 범위에서 첫 번째, 두 번째 열은 포함하고 세 번째, 네 번째 열은 제외하겠다는 뜻이 됩니다.
그 결과 아래와 같은 필터링 결과값을 얻을 수 있습니다.
[ 예제 2 ] Product Group이 A인 데이터 필터링하기
두 번째 인수 include의 입력값 $D$5:$D$14="A" 은
{ TRUE ;FALSE;FALSE;TRUE;FALSE;FALSE; TRUE ;FALSE;FALSE;FALSE} 으로 변환되어 FILTER 함수에 전달되고 그 결과 위 그림의 [ 필터링 결과 값 ]과 같이 필터링됩니다.
[ 예제 3 ] AND 조건 - "Product Group"이 A이고 "Export / Domestic" 항목이 Export인 데이터 필터링하기
위의 예제처럼 복수의 AND 조건을 적용해야 하는 경우에는 간단하게 조건과 조건 사이에 곱하기( * ) 만 해 주면 됩니다.
( $D$5:$D$14="A" ) * ( $E$5:$E$14 = "Export" )
첫 번째 조건과 두 번째 조건은 아래와 같이 각각 그 결과 값이 계산되고,
{TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE}
* {TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;TRUE}
다시 두 배열의 곱은 {1;0;0;0;0;0;1;0;0;0} 으로 계산되어 FILTER 함수에 최종 반영되어 그림의 필터링 결과값을 반환하게 됩니다.
[ 예제 4 ] OR 조건 - "Product Group"이 A이거나 "Export / Domestic" 항목이 Export인 데이터 필터링하기
AND 조건에 이어 OR 조건인 경우 곱하기( * ) 대산 더하기( + ) 만 해 주시면 됩니다.
두 번째 인수 include의 입력 값 ( $D$5:$D$14="A" ) + ( $E$5:$E$14 = "Export" )은 {2;0;1;1;0;1;2;0;1;1}으로 계산되고 0 이 아닌 행의 데이터가 필터링 되는 결과를 확인할 수 있습니다.
이상으로 FILTER 함수에 대해서 간략히 설명드렸습니다. 도움이 되셨기를 바랍니다.
[ 동영상: 예제 1 ]
[ 동영상: 예제 2 ]
[ 동영상: 예제 3 ]
[ 동영상: 예제 4 ]
'Excel 365 함수' 카테고리의 다른 글
[ 엑셀 Excel ] VSTACK / HSTACK - 데이트를 쌓아보자 (0) | 2024.01.15 |
---|---|
[ 엑셀 Excel ] SEQUENCE: 일련의 연속된 숫자를 만들고 싶다면? (0) | 2024.01.10 |
[ 엑셀 Excel ] SPILL: 엑셀의 강력한 새로운 기능 (1) | 2024.01.09 |