- 최초 작성일: 2001-02-02
- 최종 수정일: 2026-09-29
- 조회수: 27 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 다양한 COUNTING 방법들Ⅱ
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
메일 하나
선배님 눈물겹도록 감사 또 감사합니다. 말이란 감정표현의 수단이라고 누군가 말했지만 이 경우는 틀리네요. 울어야 할 지 웃어야 할 지… 감사 또 감사합니다. 평소에 감정표현을 연습해 둘 걸… 히…! 내 나이가 50이 다 됐어요. 컴퓨터 세대는 아니고 더더구나 엑셀같이 어마어마한(?) 프로그램 세대는 더욱 아니니 힘이 들지요. 더구나 독수리 타법에다… 사실 직장에서 목아지(?) 보존코자 컴에 매달리지만 젊은이를 따라갈 수가 있어야지요. 참으로 서글픈 현실입니다. 선배님께 보여드린 별볼일 없는 파일은 엑셀을 3개월 죽자사자 공부한 것인데 그모양 이네요. 선배님, 뒷 강이 앞 강을 밀어내는 것이 자연의 순리라고는 하지만 내 자신이 이렇게 초라하고 한편으론 기쁘기는 최근들어 처음입니다. 정말 감사를 드립니다. 가까이 계시면 차라도 대접해 드리고 싶네요. 이곳은 전남 광주시입니다. 사무실: 062-382-OOOO, 집: 062-955-AAAA, 휴대폰: 019-428-BBBB 혹시나 다녀가실 일이 있으시면 꼭 연락을 주십시오. 따뜻하고 감사한 마음으로 귀하를 맞이하겠습니다… (하략)…
이것은 지난 시간에 "급식현황표 만들기"에 대해 질문하신 분이 다시 보내오신 메일입니다. 50이면 Exceller보다 한참 선배(Old-timer)이시군요. ^^ 가까이 있으면 차를 대접하고 싶다고 하셨는데 이미 얻어 마신 것이나 다름이 없습니다. 그리고 Exceller가 있는 곳은 서울(용산)입니다.
"뒷 강이 앞 강을 밀어내는 것이 자연의 순리"라고 표현을 하셨는데 30대는 30대대로 할 일이 있고 40대는 그 나름대로, 50대는 또 연배에 맞는 해야할 일이 분명히 있다고 생각합니다.
누가 누구를 "밀어낸다"는 것은 좀 삭막한 표현인 것 같고... 서로가 서로에게 자극을 주면서 상호발전을 도모하는 것이지요. 20~30대까지는 Sharp하고 번득이는 창의력이 있는 반면, 40~50대는 풍부한 인생경험에서 우러나오는 연륜이라는 것이 있어서 서로 조화를 이루면서 작게는 회사, 넓게는 이 사회, 국가를 더 나은 방향으로 나아가게 하는 것이지요.
EXCEL계(?)에서는 Exceller가 약간 Old-timer일지 몰라도 그 밖의 다른 많은 분야에서는 위의 메일주신 분이 Exceller에게 전수해 주셔야 할 부분이 많을 지도 모릅니다(아마 분명히 그럴 것입니다!).
강좌를 보시는 다른 젊은 사람들은 이러한 메일을 접하면 아마 다른 각도에서 또 자극을 받으시게 되겠지요. 언젠가 말씀을 드렸지만 "20대 중반까지 배운 지식으로 남은 생을 적당히 보내려고 하다간 언젠가 거덜이 난다"는 각오로 열심히들 하시기 바랍니다(Exceller 너나 잘 하라구요? 알겠나이다!)
아주 오래 전 강좌(X0161)에서 "다양한 Counting 방법들"에 대해 설명을 드린 적이 있습니다. 잘 기억이 안 나신다구요? 당연히 그럴 것입니다! 강좌를 벌이고 있는 Exceller도 잘 기억이 나지 않으니까요. ^^ 그래서… 복습만이 우리의 살 길이지요. 강좌 회수에 구애받지 말고 기억이 나지 않을 때에는 항상 예전의 강좌를 살펴보시기 바랍니다.
이번 시간에는 X0161 강좌에서 다루지 않았던 다른 몇 가지 Counting 방법들에 대해 알아보겠습니다.
다양한 COUNTING 방법들Ⅱ
핵심 요약
- COUNTIF를 사용하면 0보다 큰 값, 특정 성씨나 문자열이 포함된 값처럼 조건을 만족하는 셀의 개수를 간단히 셀 수 있습니다.
- 여러 조건의 범위를 세는 경우 COUNTIF를 조합하거나 배열 수식에서 곱셈을 AND 조건으로 활용할 수 있습니다.
- 공백 셀은 COUNTBLANK로 세며, 숫자와 문자 조건을 더해 OR 조건에 해당하는 개수도 계산할 수 있습니다.
| 영역1 | 영역2 | 영역3 | 영역4 |
| 1 | 가 | 김갑동 | 가 |
| 16 | 나 | 김을순 | |
| 11 | 나 | 김병동 | |
| 0 | 다 | 박정순 | 2 |
| 2 | 다 | 이갑돌 | 가 |
| -5 | 다 | 이갑순 | |
| 3 | 라 | 김유신 | |
| 12 | 가 | 김삼돌 | |
| 4 | 라 | 이순신 | 라 |
| 20 | 라 | 홍갑동 | |
| 6 | 마 | 홍갑순 | 2 |
| 7 | 마 | 김춘추 | |
| 0 | 가 | 김병동 | |
| -10 | 가 | 김향단 | |
| 9 | 나 | 삼순이 | 나 |
| 5 | 다 | 삼식이 | |
| 3 | 바 | 갑순이 | 바 |
| 0 | 사 | 병순이 | 사 |
| 1 | 가 | 정갑이 | |
| 2 | 나 | 김기동 | 1 |
| Case 1 | 0보다 큰 값들의 개수 세기 |
| =COUNTIF(영역1,">0") | ① =COUNTIF(영역1,">0") |
| {=SUM(IF(영역1>0,1,0))} | ② {=SUM(IF(영역1>0,1,0))} |
위의 표 중, "영역1" 중에서 0보다 큰 값들이 개수를 카운팅하려면 어떻게 하면 될까요? 물론 여러 가지 방법이 있습니다만 특정 범위 내에서 일정한 조건을 충족하는 자료를 카운팅하는 것이니까… 그렇지요! EXCEL의 내장함수 중에서 Countif 함수를 사용해서 ①과 같이 하면 되겠지요?
물론 배열수식을 사용해서 ②와 같이 표현할 수도 있습니다만 이미 내장함수로 갖추어져 있는데 굳이 머리아프게 배열수식을 사용할 필요는 없겠지요.
| Case 2 | 姓이 "김"씨인 사람들의 수 |
| =COUNTIF(영역3,"김*") | =COUNTIF(영역3,"김*") |
| Case 3 | 이름 가운데 "갑"자가 들어가는 사람들의 수 |
| =COUNTIF(영역3,"*갑*") | =COUNTIF(영역3,"*갑*") |
| Case 4 | 5이상 15미만인 자료들의 수 |
| =COUNTIF(영역1,">=5")-COUNTIF(영역1,">15") | ① =COUNTIF(영역1,">=5") - COUNTIF(영역1,">15") |
| {=SUM((영역1>=5)*(영역1<15))} | ② {=SUM((영역1>=5)*(영역1<15))} |
"영역1"에서 5이상 15미만인 자료들의 수를 카운팅 하는 방법도 여러 가지가 있을 수 있습니다. ①과 같이 Countif 함수를 써서 해결을 할 수도 있고 ②처럼 배열수식을 사용할 수도 있습니다. 배열수식에서 *는 And 조건, +는 Or 조건에 해당됩니다.
참고: ①의 두 번째 COUNTIF 조건은 ">15"가 아니라 ">=15"여야 15 미만만 정확히 셀 수 있습니다. 예제 데이터에는 15가 없어 결과가 같지만, 15가 들어 있는 자료에서는 15가 포함되어 1건 더 계산됩니다.
| Case 5 | 1이거나 "가"인 자료들의 수 |
| =COUNTIF(영역4,1)+COUNTIF(영역4,"가") | =COUNTIF(영역4,1)+COUNTIF(영역4,"가") |
"영역4"에서 셀의 값이 "1"이거나 "가"인 값의 수를 Counting하려면 어떻게 하면 될까요? 1인 셀의 수를 세고, "가"인 셀의 수를 센 다음 이것을 더하면 되겠지요?
| Case 6 | 영역 내에서 공백인 셀의 수 |
| =COUNTBLANK(영역4) | =COUNTBLANK(영역4) |
X0161 강좌에서 설명드린 것과 이번 시간에 소개해 드린 것을 완전히 소화를 해서 내 것으로 만드시기 바랍니다. 그럼…
정리 — 다양한 COUNTING 방법들Ⅱ
| 구분 | 내용 |
|---|---|
| Case 1 0보다 큰 값 | =COUNTIF(영역1,">0") |
| Case 2 김씨 성 | =COUNTIF(영역3,"김*") |
| Case 3 이름에 갑이 포함 | =COUNTIF(영역3,"*갑*") |
| Case 4 5이상 15미만 | {=SUM((영역1>=5)*(영역1<15))} (COUNTIF 방식은 본문 참고) |
| Case 5 1이거나 가 | =COUNTIF(영역4,1)+COUNTIF(영역4,"가") |
| Case 6 공백 셀 | =COUNTBLANK(영역4) |
자주 묻는 질문 (FAQ)
Q1. 특정 글자가 들어간 셀의 개수는 어떻게 세나요?
COUNTIF의 조건에 별표(*) 와일드카드를 사용합니다. 김으로 시작하는 이름은 김*, 이름 중간에 갑이 들어가는 경우는 *갑* 으로 지정합니다.
Q2. 범위 조건이나 OR 조건은 어떻게 처리하나요?
5이상 15미만처럼 범위가 있는 조건은 이상 조건과 미만 조건을 곱한 배열수식으로 세거나 COUNTIF 두 개의 차이로 구합니다. 또는(OR) 조건은 각각을 COUNTIF로 센 뒤 더합니다.
Q3. 공백인 셀의 개수는 어떻게 세나요?
COUNTBLANK 함수에 영역을 지정하면 그 영역 안의 공백 셀 수를 구할 수 있습니다.
마치며
이전 강좌 X0161과 이번 강좌의 카운팅 방법을 함께 복습해서 완전히 내 것으로 만들어 두시기 바랍니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.