
엑셀 COUNTIF·COUNTIFS 완전 가이드 — 와일드카드·다중조건·날짜범위·중복 개수·고유 수
환경: Excel 365 기준. 초안 정리에 AI 도구를 보조적으로 활용했지만, 모든 수식은 직접 재현하여 검증했습니다.
연계 가이드(내부 링크 7개)
1) 치트시트(기본 문법)
// COUNTIF(range, criteria)
=COUNTIF(A2:A100, "*blue*") // 'blue' 포함
// COUNTIFS(range1, criteria1, range2, criteria2, ...)
=COUNTIFS(Category,"=Fruit", Region,"Seoul", Qty, ">=10")
TIP 비교 연산자( >= 등)는 문자열로 입력하고, 셀과 결합할 때는 ">="&B1 처럼 &로 연결합니다.
2) 와일드카드(부분일치) 8가지
=COUNTIF(A2:A,"*서울*") // '서울' 포함
=COUNTIF(A2:A,"서울*") // '서울'로 시작
=COUNTIF(A2:A,"*구") // '구'로 끝
=COUNTIF(A2:A,"A?C") // A_ C (한 글자)
=COUNTIF(A2:A,"*~**") // 별표 자체(escape: ~)
=COUNTIF(A2:A,"*?*?*") // 길이 ≥2
=COUNTIF(A2:A,"<>") // 빈 셀이 아닌 개수
=COUNTIF(A2:A,"<>*취소*") // '취소'를 포함하지 않는
3) COUNTIFS 다중조건 10가지(복붙용)
// ① 카테고리=Fruit & 지역=Seoul
=COUNTIFS(Tbl[Category],"Fruit", Tbl[Region],"Seoul")
// ② 금액 10만~50만
=COUNTIFS(Tbl[Amount], ">="&100000, Tbl[Amount], "<="&500000)
// ③ 텍스트 포함 + 수량 조건
=COUNTIFS(Tbl[Item], "*사과*", Tbl[Qty], ">="&10)
// ④ 특정 월(2025-08)
=COUNTIFS(Tbl[Date], ">="&DATE(2025,8,1), Tbl[Date], "<"&DATE(2025,9,1))
// ⑤ 공백/비공백
=COUNTIFS(Tbl[Phone], "") // 빈 셀
=COUNTIFS(Tbl[Phone], "<>") // 값 있음
// ⑥ 대소문자 구분 필요한 경우(FIND와 함께)
=SUMPRODUCT(--ISNUMBER(FIND("ABC", Tbl[Code])))
// ⑦ 토요일·일요일 제외(주중만)
=COUNTIFS(Tbl[Date], ">="&B1, Tbl[Date], "<="&C1, Tbl[Date], "<>","", WEEKDAY(Tbl[Date],2), "<=5")
// ⑧ 오류 제외
=COUNTIFS(Tbl[Result], "<>#N/A")
// ⑨ 여러 키워드 중 하나라도 포함(OR)
=SUM(COUNTIF(Tbl[Item], {"*사과*","*배*","*포도*"}))
// ⑩ AND+OR 혼합
=SUM(COUNTIFS(Tbl[Region],"Seoul", Tbl[Item], {"*사과*","*배*"}))
4) 날짜·시간 범위 6가지
// ① 오늘
=COUNTIFS(Tbl[Date], TODAY())
// ② 지난 7일
=COUNTIFS(Tbl[Date], ">="&TODAY()-7, Tbl[Date], "<="&TODAY())
// ③ 월별(셀의 월과 같은)
=COUNTIFS(Tbl[Date], ">="&EOMONTH(B1,-1)+1, Tbl[Date], "<="&EOMONTH(B1,0))
// ④ 시간대(09:00~18:00)
=COUNTIFS(Tbl[Time], ">="&TIME(9,0,0), Tbl[Time], "<="&TIME(18,0,0))
// ⑤ 주말만
=COUNTIFS(WEEKDAY(Tbl[Date],2),">=6")
// ⑥ 분기(Q3)
=COUNTIFS(Tbl[Date], ">="&DATE(2025,7,1), Tbl[Date], "<"&DATE(2025,10,1))
5) 중복 개수 & 고유 수 4가지
// ① 값별 개수 표(피벗 없이)
=LET(u, UNIQUE(Tbl[Item]), HSTACK(u, BYROW(u, LAMBDA(x, COUNTIF(Tbl[Item], x)))))
// ② '2번 이상' 등장한 값 개수
=COUNTIF(COUNTIF(Tbl[Item], Tbl[Item]), ">=2")
// ③ 고유 값 개수
=ROWS(UNIQUE(Tbl[Item]))
// ④ 조건부 고유 개수(지역=Seoul)
=ROWS(UNIQUE(FILTER(Tbl[Item], Tbl[Region]="Seoul")))
6) 오류·성능 체크리스트
- 숫자/문자 혼합 →
--값또는VALUE()로 정규화 - 날짜 텍스트 →
DATEVALUE로 변환 - 대량 데이터 → 표(Table) + 열 범위 최소화, 필요한 경우 Power Query로 전처리
- 와일드카드 포함 문자 자체를 찾을 때 →
~*,~?로 이스케이프 - IFERROR로 사용자 친화 메시지 제공:
=IFERROR(수식,"없음")