본문 바로가기

엑셀(excel)

엑셀 COUNTIF 함수와 COUNTIFS 함수

앞선 포스팅에서 COUNT 함수와 COUNTA 함수, COUNTBLANK 함수는 해당 함수가 고유로 가지고 있는 조건들을 기준에 해당하는 수를 세는 함수라고 설명하였습니다.

 

COUNT 함수는 '숫자'로 되어 있는 값 또는 셀의 갯수를 세는 함수.

COUNTA 함수는 값 또는 값이 있는 셀의 갯수를 세는 함수.

COUNTBLANK 함수는 값이 없는 셀이 갯수를 세는 함수.

 

이렇게 함수 고유의 조건이 아니라, 사용자가 원하는 조건에 해당하는 값 또는 셀의 갯수를 세는 함수가 COUNTIF 함수와 COUNTIFS 함수 입니다.

수를 세는 함수인 COUNT 함수와 조건 수식인 IF 함수의 기능이 합해진 함수라고 이해하시면 편합니다.

즉, 조건(IF)에 해당하는 값 또는 셀의 갯수를 세는(COUNT)는 기능을 가진 것이지요.

 

그 조건이 1가지인 경우는 COUNTIF 함수를, 2가지 이상의 다중 조건이 필요한 경우는 COUNTIFS 함수를 이용합니다.

(본 포스팅에서는 이 두가지 함수를 설명하겠지만, 실무적으로는 굳이 COUNTIF 함수보다는 COUNTIFS 함수만 사용하게 됩니다. 조건이 1가지라도(2가지 이상이 아니라도) COUNTIFS 함수로도 사용이 가능하기 때문입니다.)

 


1. COUNTIF 함수

   가. 수식 : =COUNTIF(range,creteria)

   나. 구성

       range : 기준값(creteria)과 비교하게 되는 범위(영역)

       creteria : 기준값으로, 범위(range)내 셀의 값과 비교하게 되는 기준, 조건값

   다. 설명

       범위(range)안에서 기준값·조건값(certeria)에 해당하는 값 또는 셀의 값의 갯수를 센다.

 

   [예시] 아래 표는 현재(2019년 8월 기준) KBO 리그 타자들 중 타율 상위 15위 선수들의 Data 입니다.

 

   이 선수들 중에서 '두산' 소속팀의 선수가 몇 명인지 알고 싶습니다.

   이 경우, 범위(range)는 '소속'이 있는 셀이 될 것이고, 기준값(ceteria)는 '두산'이 됩니다.

   즉, =COUNTIF('소속' Data가 입력된 셀의 범위,'두산' 소속 지정) 인 것이지요.

 

   이를 함수 수식으로 만들면, 아래 그림과 같이

   =COUNTIF(D4:D18,"두산")이 됩니다.  

 

   이때, 기준값(ceteria)이 '두산'이라는 글자(text) 조건이기 때문에 큰따옴표("")안에 '두산'이라는 글자를 넣어야 합니다.

 

   ※ 기본적으로 엑셀은 함수나 수식 내에서 문자(한글이든 영어든 상관없이)는 지정한 프로그램 언어와 같은 의미로 인식하기 때문에 문자 그대로의 자연어 의미(text)로 인식 시키거나 원하는 수식으로 인식시키기 위해서는 큰따옴표("")를 사용합니다.

 

   위의 COUNTIF 함수 수식(=COUNTIF(D4:D18,"두산"))은 '영역(D4:D18)안에서 '두산'이라는 글자와 정확하게 일치하는 셀의 갯수는 몇 개인지 세어라.' 라는 명령이라고 보면 되는데요.

   만약, 정확하게 '영역' = '조건' 찾기가 아니라, '...이상', '...미만' 이라는 산술식이 필요한 경우는, 우리가 학창시절 기억을 더듬어 생각해 낸(?) 부등호(>, <)를 사용하면 됩니다. ^^

 

   [참고] 엑셀 부등호 사용 표기법

   ~ 이상 : >=

   ~ 초과 : >

   ~ 이하 : <=

   ~ 미만 : <

   다름 or 아님 : <>

 

   동일한 표에서 '선수들 중 100경기 이상 경기를 한 선수'를 구하기 위해서는 아래 그림과 같이

   =COUNTIF(F4:F18,">=100") 로 표기합니다.

 

 

 

   이렇게 1가지의 조건으로 값 또는 셀의 갯수를 세는 COUNTIF 함수를 알아보았습니다.

   앞서 이야기한 것과 같이 2가지 이상의 조건에 부합하는 값 또는 셀의 갯수를 세는 함수인 COUNTIFS 함수를 알아보겠습니다.

 

   엑셀 함수의 의미는 기본적으로 영어 또는 그 약자로 되어있고 의미도 영어 단어의 뜻을 따릅니다.

   (COUNT 셈을 세다, SUM 합계, AVERAGE 평균, TIME 시간, IF 만약~라면 등)

 

   그런 접근 방식(?)을 본다면, COUNTIFS 함수는 COUNTIF 함수에 영어에서 복수(plural)를 의미할 때 쓰는 'S'를 붙였다고 보입니다. (pen의 복수형 →pens)


2. COUNTIFS 함수

   가. 수식 : =COUNTIFS(creteria_range1,creteria1,creteria_range2,creteria2,...)

   나. 구성

       creteria_range1... : 기준값(creteria1)과 비교하게 되는 범위(영역)

       creteria1... : 기준값으로, 범위(creteria_range1)내 셀의 값과 비교하게 되는 기준, 조건값

   다. 설명

       각각의 상호 맵핑된 범위(range)안에서 기준값·조건값(certeria)에 해당하는 값 또는 셀의 값의 갯수를 센다.

       이때, 함수 수식 내의 범위(range) 갯수와 기준값(creteria)의 갯수는 동일해야 한다.

       (범위가 3개이면, 기준값도 3개)

 

   [예시] 앞선 예시에서 나온 타자들의 정보들을 기준으로, 안타수가 120개 이상이며 동시에 도루가 10개 이상인 선수는 몇 명일까요?

           여기서는 COUNTIF 함수때와는 다르게 조건이 2개 입니다.

           ㉠ 안타수 120개 이상

           ㉡ 도루 10개 이상

 

 

   COUNTIFS 함수를 쓰고, 함수 내의 index를 (범위1,조건1,범위2,조건2) 이렇게 생성합니다.

   범위1 = 안타수

   조건1 = 120개 이상

   범위2 = 도루

   조건2 = 10개 이상

 

   함수 수식은 =COUNTIFS(안타수 범위1,120개이상 조건1,도루 범위2,10개이상 조건2) 이렇게 생성해줍니다.

   해서, =COUNTIFS(H4:H18,">=120",N4:N18,">=10") 이고, 2가지 조건을 모두 만족하는 선수는 5명이네요.

 

   만약 조건이 3개, 4개 등 더 많이 들어가게 된다면, 범위와 조건을 더 추가하시면 됩니다.

   또한 앞서 이야기 드린 바와 같이 조건이 1개뿐이라 하더라도 COUNTIF 함수가 아니라 COUNTIFS 함수로 쓰셔도 동일한 값이 추출됩니다. (해서 실무에서는 굳이 COUNTIF 함수를 쓰는 경우가 거의 없는 셈이지요 ^^)

 


ⅰ. 정리

   1. COUNTIF 함수 : 1개의 조건에 해당하는 값 또는 셀의 갯수를 세는 함수

   2. COUNTIFS 함수 : 1개 이상의 조건에 해당하는 값 또는 셀이 갯수를 세는 함수

 

ⅱ. 연습해보기 : 문제는 유첨 파일안에 있습니다.

엑셀 COUNTIF 함수와 COUNTIFS 함수 예제.xlsx
0.01MB


 

반응형