구글시트 COUNTUNIQUE FILTER에 대해 실무에서 자주 겪는 문제와 해결 방법을 정리했습니다. 구글시트로 대시보드나 운영 원장을 만들다 보면

다음과 같은 요구가 자주 발생한다.

 

  • 특정 조건을 만족하는 데이터 중
  • 중복을 제거한 고유 개수만 구하고 싶다

 

예:

  • “체험” 상태이면서
  • “종료”된 건만
  • 기업 ID의 고유 개수 계산

 

이때 가장 직관적인 수식은 다음과 같다

=COUNTUNIQUE(FILTER(B:B, D:D="체험", AI:AI="종료"))

하지만 실무에서는

이 수식이 예상과 다르게 동작하는 경우가 많다.

 

이 글에서는 단순 공식 설명이 아니라

 

  • FILTER의 내부 동작 방식
  • COUNTUNIQUE의 중복 판별 기준
  • 값이 1만 나오는 이유
  • 성능 이슈
  • QUERY와의 차이

 

까지 정리한다.

핵심 정리: ① FILTER의 동작 방식 이해 ② COUNTUNIQUE의 중복 판별 기준 확인 ③ 예상치 못한 오류 원인 분석 및 해결 ④ 성능 최적화 및 QUERY 함수 비교

 


자주 묻는 질문

Q. 구글시트 COUNTUNIQUE FILTER에서 가장 흔한 실수는?

구글시트 COUNTUNIQUE FILTER 사용 시 가장 흔한 실수는 기본 설정을 확인하지 않는 것입니다. 공식 문서의 기본 예제부터 따라하는 것을 권장합니다.

Q. 이 방법이 최신 버전에서도 동작하나요?

네, 이 글의 내용은 2026년 기준으로 검증되었습니다. 버전 업데이트에 따라 UI가 다를 수 있으니 참고하세요.

FILTER는 “조건 만족 행을 먼저 추출”한다

 

FILTER는 구글시트에서 특정 조건을 만족하는 데이터의 행을 추출하는 함수이다.

핵심 구조:

=COUNTUNIQUE(FILTER(카운팅범위, 조건1, 조건2))

동작 순서:

 

  1. FILTER가 조건에 맞는 행만 추출
  2. 그 결과 배열을 COUNTUNIQUE에 전달
  3. 중복 제거 후 개수 반환

 

즉, 문제의 80%는 COUNTUNIQUE가 아니라

FILTER 단계에서 발생한다.

 


 

왜 값이 “1”만 나올까? (실제 원인 분석)

 

값이 '1'만 나오는 현상은 FILTER 함수 사용 시 발생할 수 있는 일반적인 오류 상황을 의미한다.

2페이지에서 정리된 오류 체크 항목 

좋은 출발점이지만, 실제 원인을 더 구조적으로 보면 다음과 같다.


 

📌 원인 ① 실제로 조건을 만족하는 데이터가 1건

 

실제로 조건을 만족하는 데이터가 1건인 경우는 필터링 조건이 너무 엄격하거나 데이터 자체가 적을 때 발생한다.

먼저 FILTER만 단독 실행:

=FILTER(B:B, D:D="체험", AI:AI="종료")

 

→ 반환 행 수 확인

 


📌 원인 ② 조건 열의 데이터 타입 불일치

 

조건 열의 데이터 타입 불일치는 비교 대상의 형태(텍스트, 숫자, 날짜 등)가 예상과 다를 때 발생하는 오류이다.

“체험”이 텍스트가 아니라

숫자나 날짜로 인식된 경우.

 

확인:

=ISTEXT(D2)

 


📌 원인 ③ 숨겨진 공백

 

숨겨진 공백은 셀 안에 보이지 않는 공백 문자가 포함되어 있어 조건과 정확히 일치하지 않을 때 발생하는 문제이다.

실무에서 가장 흔한 케이스.

 

“체험 “ (뒤에 공백)

“ 종료” (앞에 공백)

 

해결:

=COUNTUNIQUE(
  FILTER(B:B,
    TRIM(D:D)="체험",
    TRIM(AI:AI)="종료"
  )
)

 


📌 원인 ④ 조건 열 중 하나가 전부 TRUE/ FALSE

 

조건 열 중 하나가 전부 TRUE/FALSE인 경우는 필터 조건이 논리적으로 항상 참이거나 거짓이 되어 예상치 못한 결과가 나올 때 발생한다.

AND 조건은 모두 만족해야 한다.

 

조건 하나라도 잘못 걸리면

결과는 극단적으로 줄어든다.

 


COUNTUNIQUE가 중복을 판단하는 기준

 

COUNTUNIQUE가 중복을 판단하는 기준은 값의 동일성을 문자열 기준으로 비교하여 고유한 항목만을 세는 방식이다.

COUNTUNIQUE는

  • 완전히 동일한 값
  • 문자열 기준 비교
  • 대소문자 구분 안 함

예:

 

“A123”

“a123”

 

→ 동일값으로 처리됨

 

이 점은 실무에서 중요하다.


실무에서 더 안전한 패턴

 

실무에서 더 안전한 패턴은 대량 데이터를 처리할 때 성능 저하를 방지하고 정확성을 높이는 권장 수식 형태를 의미한다.

대량 데이터일 경우

전체 열(B:B, D:D, AI:AI) 참조는 성능 저하 원인이 된다.

 

권장 패턴:

=COUNTUNIQUE(
  FILTER(B2:B1000,
    D2:D1000="체험",
    AI2:AI1000="종료"
  )
)

범위 제한은 성능 안정성에 매우 중요하다.

 


QUERY 함수와의 비교

=COUNT(QUERY(A:AI,
 "SELECT B WHERE D = '체험' AND AI = '종료' GROUP BY B"))
특징 FILTER + COUNTUNIQUE QUERY 함수
직관성 높음 (함수 체인 방식) 낮음 (SQL 문법 학습 필요)
복잡한 조건 제한적 (조건별 인자 추가) 매우 용이 (SQL WHERE 절 활용)
중복 제거 COUNTUNIQUE로 명시적 처리 GROUP BY 절로 명확하게 처리
대량 데이터 성능 범위 제한 필요, 성능 저하 가능성 상대적으로 안정적이고 빠름
외부 데이터 연동 (IMPORTRANGE) 직접 적용 가능 권한 문제 사전 해결 필요

✔ FILTER + COUNTUNIQUE 장점

  • 직관적
  • 수식 이해 쉬움
  • 소규모 데이터에 적합

✔ QUERY 장점

  • SQL 기반
  • 복잡한 조건 처리 용이
  • GROUP BY로 중복 제거 명확
  • 대량 데이터에 안정적

 

언제 QUERY가 더 유리한가?

 

QUERY 함수가 더 유리한 경우는 복잡한 조건, 대량 데이터 처리, 또는 SQL 문법 사용이 익숙할 때이다.

  • 조건 3개 이상
  • 날짜 조건 포함
  • IMPORTRANGE와 결합
  • 5,000행 이상 데이터

 

예:

=COUNT(QUERY(A2:AI1000,
 "SELECT B
  WHERE D = '체험'
  AND AI = '종료'
  AND C >= date '2025-01-01'
  GROUP BY B"))

IMPORTRANGE와 결합 시 주의

 

IMPORTRANGE와 결합 시 주의사항은 외부 시트에서 데이터를 가져올 때 발생할 수 있는 권한 문제나 데이터 로딩 지연에 대한 해결책을 포함한다.

기존 글에서도 언급되었듯 

접근 권한 승인 없이 QUERY를 먼저 씌우면 오류 발생.

 

안전 패턴:

 

  1. IMPORTRANGE 단독 실행
  2. 접근 승인 클릭
  3. 그 후 QUERY 결합

 

실무 시나리오

📌 시나리오 1 – 채용 전환 수 계산

  • 지원자 ID 고유 개수
  • 상태 = “합격”
  • 채널 = “대시보드”

📌 시나리오 2 – 중복 기업 계약 수 제거

  • 계약번호 중복 제거
  • 상태 = 종료
  • 결제완료 = TRUE

이때 고유 개수 계산이 KPI가 된다.

 


성능 최적화 팁

✔ 전체 열 참조 지양

성능 최적화 팁은 구글시트 함수 사용 시 계산 속도를 향상시키고 불필요한 리소스 소모를 줄이는 방법들을 제시한다.

✔ 조건 열과 카운트 열 길이 동일

✔ QUERY 사용 시 범위 최소화

✔ TRIM은 필요할 때만 적용

 


최종 체크리스트

 

최종 체크리스트는 COUNTUNIQUE FILTER 함수 적용 전후로 점검해야 할 핵심 사항들을 요약한 목록이다.

✔ FILTER 단독 실행 확인

✔ 조건 데이터 타입 점검

✔ 공백 제거 확인

✔ 범위 제한했는가

✔ 대량 데이터라면 QUERY 고려

 


마무리

 

조건부 고유 항목 카운팅은

단순 COUNTUNIQUE 문제가 아니라

데이터 필터링 구조 이해 문제다.

 

값이 이상하게 나오면

COUNTUNIQUE를 의심하지 말고

FILTER 단계부터 점검해야 한다.

 

이 블로그에서는

구글시트 실무에서 반복적으로 발생하는

데이터 구조 오류를 정리하고 있다.

💬 이 글이 도움이 되셨다면

구글시트 COUNTUNIQUE FILTER 관련 궁금한 점이나 더 알고 싶은 내용이 있다면 댓글로 남겨주세요! 실무에서 겪은 경험을 공유해 주셔도 좋습니다.

+ Recent posts