본문 바로가기
구글시트 함수소개-기초

FILTER함수(조건에 맞는 데이터만 불러오기) - 구글 스프레드시트

by 오토시트 2021. 10. 1.

FILTER함수란?

 

구글스프레드시트 필터함수는 원본 데이터에서 원하는 조건을 충족하는 데이터만 가져오는 기능입니다. 원본 데이터에서 조건에 맞는 행만 불러와야 할때가 있습니다. 이때 열을 기준으로 조건을 충족하는 행만 걸러내고 싶을 때 매우 유용합니다.

 

=FILTER(범위, 조건1, [조건2, ...])

 

첫번째 인수로 원본범위를 지정한 다음 조건을 입력합니다. 두번째 조건부터는 선택입력입니다.

 

아래 예제들은 공유(보기 권한)된 구글 스프레드시트에서 확인하실 수 있습니다. 예제 스프레드시트(https://bit.ly/2X3sX5u)를 참고해주세요(파일 - 사본만들기 후 사용) 

 

※ 예제에 사용된 정보는 가상의 데이터입니다.

 

구글 스프레드시트 FILTER함수는 어떻게 사용하나요?

 

원본데이터

 

위 사진은 원본데이터입니다. 여기서 20세 이상이면서 성별이 여자인 데이터만 불러와보도록 하겠습니다. 새 시트 '20세이상여자'를 만들어준 다음 'A2열'에 아래 함수를 입력해주세요.

 

=FILTER('원본'!A2:F,'원본'!D2:D>=20,'원본'!E2:E="여자")

 

결과는 다음과 같습니다. 원본 명단에서 D열(나이)이 20이상이며 E열(성별)이 여자인 사람만 불러왔습니다. 

 

'20세이상' 및 '여자' 조건으로 불러오기

 

 

 

특정 문자가 포함된 데이터만 가져오려면 어떻게 하나요?

이번엔 주소에 '서울'이 포함된 인원만 불러와보겠습니다. 새 시트 '서울거주자'를 만들어준 다음 'A2열'에 아래 함수를 입력해주세요.

 

=FILTER('원본'!A2:F,REGEXMATCH('원본'!C2:C,"서울"))

 

결과는 다음과 같습니다. 원본 명단에서 C열(주소)에 "서울"이 포함된 명단만 불러왔습니다.

 

주소에 서울이 포함된 사람만 불러오기

 

 

특정 문자가 포함되지 않은 데이터만 가져오려면?

주소에 '서울'이 포함되지 않은 인원만 불러오려면 새 시트 '서울비거주자'를 만들어준 다음 'A2열'에 아래 함수를 입력해주세요.

=FILTER('원본'!A2:F,not(REGEXMATCH('원본'!C2:C,"서울")))

 

결과는 다음과 같습니다. 원본 명단에서 C열(주소)에 "서울"이 포함되지 않은 명단만 불러왔습니다.

 

주소에 서울이 포함되지 않은 사람만 불러오기

 

 

조건을 OR로 지정할 수 있나요?

가능합니다. 조건을 괄호로 감싸준 다음 + 해주시면 됩니다. 주소에 서울 또는 경기도가 포함된 명단을 불러와보겠습니다. 새 시트 '서울,경기도거주자'를 만들어주시고 A2셀에 다음 함수를 입력해주세요.

 

=FILTER('원본'!A2:F,REGEXMATCH('원본'!C2:C,"서울")+REGEXMATCH('원본'!C2:C,"경기도"))

 

결과는 다음과 같습니다. 각 조건들을 괄호로 감싸고 이를 +로 이어주기만 하면 됩니다.

 

주소에 서울 또는 경기도가 포함된 사람들 불러오기

 

 

여러 시트의 데이터를 합칠때 유용합니다

여러 시트의 데이터를 합칠 경우 중괄호 안에 ;(세미콜론)을 경계로 범위를 나열합니다. 이때 빈 행을 불러오지 않기 위해 필터함수를 사용하면 유용합니다.

 

먼저 필터함수를 사용하지 않고 데이터를 합쳐보겠습니다. 위 예제에서 나눈 '서울거주자'와 '서울비거주자'를 다시 한 시트로 불러와보겠습니다. 새 시트 '데이터합치기'를 만들고 A2셀에 다음 함수를 입력해보세요.

 

={FILTER('서울거주자'!A2:F,'서울거주자'!A2:A<>"");FILTER('서울비거주자'!A2:F,'서울비거주자'!A2:A<>"")}

 

아래 결과와 같이 '서울거주자' 시트의 비어있는 끝 행까지 다 나온다음 한참 뒤에 '서울비거주자' 시트 내용이 나오는 문제가 있습니다.

 

데이터를 합치면 빈셀까지 나와버리는 문제

 

이번엔 FILTER함수를 이용해서 비어있는 행을 제외하고 한 시트로 불러와보겠습니다. 새 시트 '데이터합치기' A2셀에 다음 함수를 입력해주세요.

 

={FILTER('서울거주자'!A2:F,'서울거주자'!A2:A<>"");FILTER('서울비거주자'!A2:F,'서울비거주자'!A2:A<>"")}

 

아래 결과와 같이 중간에 비어있는 행 없이 잘 합쳐졌습니다. 이렇게 하면 원본데이터에 아무리 추가돼도 함수를 수정할 필요가 없습니다.

 

데이터 합치기(빈 셀 제외)

 

 

위 내용을 영상으로 보기

댓글