서비스
home

피벗테이블 필터 선택 안했을 때에 모든 값 표시하도록 만들기

스프레드시트의 꽃이 피벗테이블이라면, 필터는 화분이라고 할 수 있지요.
어떤 화분에 꽃을 심는지에 따라 꽃이 달라보이고, 어디에 놓을지도 달라지는 것처럼 필터는 중요한 역할을 수행합니다.
오늘은 필터의 맞춤 수식을 사용한 고급기능을 살펴봅니다.

필터링 문제 확인

일반적인 필터의 역할은 특정한 조건에 맞으면 해당 값을 표시하도록 합니다.
하지만 실무에서는 조건을 여러개 다루어야 할 때가 있고, 조건을 선택하지 않으면 모든 값을 선택하게 하고 싶을 때가 있습니다.
예를 들어, 다음과 같은 매출 피벗 테이블을 만들었습니다.
그리고 B1, B2 에 데이터를 넣으면 해당 담당자와 창고의 값만 보여지게 하고 싶습니다.
그래서 다음과 같이 수식을 적용합니다.
그러면, 담당자가 공백인 상태면 공백 값에 대해서만 결과 보여주고, 담당자를 김대표로 선택하면 해당 담당자의 값을 보여줍니다.
하지만, 우리가 실무에서 원하는 것은 선택하지 않았을 때, 모든 결과 값을 보여주는 것입니다.
어떻게 할 수 있을까요?

REGEXMATCH 함수 도입

바로, REGEXMATCH 함수를 맞춤 수식에 적용해서 할 수 있습니다.
텍스트의 일부가 정해주는 정규표현식 조건과 맞는지 확인하는 함수입니다.
이제 다음 수식을 맞춤 수식에 적용해 보겠습니다.
=REGEXMATCH('담당자',B1)=TRUE
SQL
복사
'담당자' 열을 B1 의 값과 비교해서 포함하면 TRUE 이고, 없다면 FALSE 입니다.
먼저 REGEXMATCH 에 대한 이해를 돕기 위해 샘플을 보실까요?
맨 왼쪽의 값을 다른 조건과 비교한 것입니다. 2번째 열은 "B" 가 들어있는지 체크하였고, 3번째 열은 "C"가 들어있는지 체크합니다. 들어 있으면 TRUE, 없으면 FALSE 입니다.
여기서 흥미로운 것은 4번째 열입니다. 값이 없는 ""과 비교하면 모든 값이 TRUE 로 나옵니다.
REGEXMATCH 함수의 두 번째 값은 정규식인데, 비교할 정규식을 넣지 않으니 TRUE 로 나오게 됩니다.
만약 ""이 아니라 공백인 " " 를 넣게 되면 값은 FALSE로 달라집니다.
이제 값이 없을 때 TRUE로 표시되게 하는 함수를 찾았으니, 다음으로 진행합니다.

맞춤 수식에 REGEXMATCH 적용

=REGEXMATCH('담당자',B1)=TRUE
SQL
복사
수식을 적용하면 다음과 같은 원하는 필터링을 얻게 됩니다.
그럼 비슷하게 창고도 넣어볼까요?
=REGEXMATCH('창고',B2)=TRUE
SQL
복사
이제 담당자를 입력하지 않고, 지우게 되면, 모든 값에서 창고만 선택되도록 됩니다.
이번 포스팅에서 살펴본 REGEXMATCH, 샘플 보시면서 확인해보세요.

관련 포스팅