Erzsamatory Weblog


엑셀은 매우 많은 함수를 제공합니다. 이 블로그에서도 VLOOKUP, HLOOKUP과 같은 데이터 검색 함수, SUM, PRODUCT와 같은 사칙연산 함수 등 여러 종류의 함수를 소개한 바 있습니다. 엑셀에서 사용되는 함수는 한 개의 글로서 설명하는 것이 불가능하기 때문에 이렇게 여러 개의 글로 나누어 작성하게 되었습니다. 이 글에서는 엑셀에서 자주 사용되는 조건 함수에 대하여 알아볼 것입니다. 조건 함수란 사용자가 지정한 조건에 부합하는 셀을 검색하는 기능과 본래 함수의 기능이 결합된 함수를 말합니다.



조건 함수의 기본 IF


엑셀에서 가장 많이 사용되는 조건 함수는 IF()입니다. IF 함수는 한 개의 조건을 지원하며, 해당 조건에 맞는 경우에는 두 번째 값을, 조건에 맞지 않는 경우에는 세 번째 값을 출력합니다. 조건에 따라 출력되는 값은 문자열뿐만 아니라 다른 함수를 사용하여 입력하는 것이 가능하며, IF 함수를 다시 사용해도 됩니다.

아래의 예제에서는 IF 함수를 세 개 사용하였습니다. 학생들의 점수표를 예시로 만들어보았는데, 만약 점수가 90점 이상인 경우에는 우수, 90점 미만 80점 이상인 경우에는 평균, 80점 미만 70점 이상인 경우에는 평균 이하, 그 미만인 경우에는 미흡으로 표시하는 함수입니다. 일반적으로 첫 번째 조건이 맞지 않는 경우에 다른 IF 함수를 사용합니다.

아래의 예제에서 사용된 IF 함수는 다음과 같습니다.
=IF(C4 >= 90, "우수", IF(C4 >= 80, "평균", IF(C4 >= 70, "평균이하", "미흡")))

사용자 삽입 이미지


IF 함수는 앞에서부터 순차적으로 조건을 검사합니다. 만약 조건이 충족되는 경우에는 곧바로 IF 함수의 두 번째 인수를 출력합니다. 세 번째 인수는 조건에 맞지 않을 때에만 실행됩니다. 따라서 IF 함수의 첫 번째 조건이 틀렸을 때 실행되는 세 번째 인수에 중첩으로 사용된 IF 함수의 조건에는 첫 번째 조건의 반대 조건이 자동으로 추가된다고 보면 됩니다. 즉, 위의 예제에서 두 번째 중첩 IF 함수의 실제 조건은 90점 미만, 80점 이상이 됩니다.

IF 함수의 사용 방법은 컴퓨터 프로그래밍 언어의 그것과 비슷합니다. 가장 처음 조건을 제시하고 데이터가 조건을 충족시키는 경우에는 두 번째 인수를 실행하고, 충족시키지 않는 경우에는 세 번째 인수를 실행합니다. 프로그램을 개발할 때, IF 구문이 프로그래밍 언어에서 가장 기본적인 요소인 것과 마찬가지로 엑셀에서도 IF 함수는 문서를 작성할 때의 가장 기본적인 함수입니다.

조건에 맞는 셀의 갯수를 세는 함수 COUNTIF


IF 함수는 입력된 조건에 따라 출력되는 내용을 다르게 할 때 사용됩니다. 따라서 조건에 맞는 셀의 갯수를 파악할 때에는 사용되지 않습니다. 이때 사용되는 함수는 COUNTIF입니다.

COUNTIF 함수는 숫자로 이루어진 셀의 갯수를 반환하는 COUNT 함수가 변형된 함수로써 조건문에 맞는 셀의 갯수를 반환하는 함수입니다.

조건문은 모든 데이터 형식을 대상으로 하며, 조건문은 COUNTIF 함수에 두 번째 인수로 전달되어야 합니다. 조건문은 숫자, 문자열, 조건식 등이 될 수 있는데, 숫자, 문자열이 조건문으로 전달되는 경우에는 해당 숫자 또는 문자열과 일치하는 셀의 갯수를 반환합니다. 조건식이 전달되는 경우에는 IF 조건문에 부합하는 셀의 갯수를 반환합니다.

아래의 예제에서 사용된 COUNTIF 함수는 다음과 같습니다. 90점 이상을 받은 학생의 수를 파악할 때 사용될 수 있습니다.
=COUNTIF(C4:C13, ">=90")

사용자 삽입 이미지


조건식은 반드시 큰 따옴표를 이용하여 문자열로 인식될 수 있도록 해야 합니다. IF 함수를 사용할 때와 같이 조건식을 입력한다면 함수 오류가 발생하게 됩니다.

조건식을 입력할 때에는 부호 뒤에 숫자가 올 수 있도록 합니다. 일반적으로 엑셀에서는 조건식을 작성할 때 부호를 기준으로 앞쪽에는 셀이름를 입력하고 뒤쪽에는 숫자 또는 셀이름을 입력합니다. COUNTIF 함수에 조건식을 입력할 때에도 마찬가지입니다. 하지만 부호 앞에 위치해야 하는 셀이름은 COUNTIF 함수에서 지정된 셀범위와 일치하므로 생략하고, 부호 뒤에 숫자만 입력한 것입니다.


조건문이 추가된 합을 구하는 함수 SUMIF


SUM 함수는 선택된 셀 범위의 합을 구할 때 사용됩니다. SUMIF 함수는 SUM 함수에 조건문이 추가된 함수로써 조건에 맞는 셀의 합을 구할 때 사용됩니다.

아래의 예제에서는 시험에서 90점 이상을 받은 학생의 평균 점수를 구할 때 SUMIF 함수를 사용하였습니다. 모든 학생의 평균을 산출할 때에는 AVERAGE 함수 또는 SUM 함수와 함께 COUNT 함수를 사용하면 되지만, 학생들의 평균을 수준별로 평가할 때에는 SUMIF 함수와 COUNTIF 함수를 사용해야 합니다. SUMIF 함수는 특정 수준의 학생이 받은 점수의 합을 구해주고, COUNTIF 함수는 특정 수준에 있는 학생의 수를 구해줍니다.

아래의 예제에서는 "우수" 수준에 있는 학생들의 평균 점수를 구하기 위하여 아래와 같은 식을 사용하였습니다.
=SUMIF(C4:C13, ">=90")/F5

사용자 삽입 이미지


위와 같은 방법으로 사용되는 것이 일반적이지만, SUMIF 함수의 세 번째 인수를 사용하면 조건식이 적용되는 셀과 실제로 합계로 이루어지는 셀을 분리하는 것도 가능합니다. 세 번째 인수는 실제로 합계가 이루어지는 셀 범위입니다. 세 번째 인수에 셀 범위가 입력되는 경우에는 SUMIF 함수는 다음과 같은 방법으로 사용됩니다.

=SUMIF(조건식이 적용되는 셀 범위, 조건식, 덧셈이 이루어지는 셀 범위)

조건식이 적용되는 셀 범위와 덧셈이 이루어지는 셀 범위는 같은 행에 위치해야 합니다. 왜냐하면 SUMIF 함수는 조건식을 만족하는 셀과 같은 행에 있는 덧셈이 이루어지는 셀의 합계를 구하기 때문입니다.


조건문에 사용되는 부가적인 함수 AND, OR


조건문에서 하나의 조건식만 사용할 수 있는 것은 아닙니다. AND 함수와 OR 함수를 이용하면 하나의 조건문에서 여러 개의 조건식을 사용할 수 있습니다. AND 함수는 입력된 조건식이 모두 만족될 때 TRUE()를 반환하고, OR 함수는 입력된 조건식 중 어느 하나만 만족되면 TRUE()를 반환합니다.

IF 함수를 하나만 사용하여 숫자의 범위를 지정하고 싶을 때에는 AND 함수를 사용하면 됩니다. 아래의 예제에서는 80점 이상 90점 미만이라는 조건을 지정하기 위하여 AND 함수가 사용되었습니다. AND 함수의 사용 방법은 다음과 같습니다.
=IF(AND(C4<90,C4>=80), "심화반", "")

사용자 삽입 이미지


그리고 서로 다른 범위에 있는 숫자 범위를 지정하고자 할 때에는 OR 함수를 사용하면 됩니다. 위에서도 설명했듯이 OR 함수는 입력된 조건식 중에서 어느 하나만 만족되는 경우에는 TRUE()를 반환합니다. OR 함수의 사용 방법은 다음과 같습니다.
=IF(OR(C4>=90,C4<50), "특수교육필요", "")

AND 함수와 OR 함수는 조건문 함수의 보조 함수로서 사용되며, 다양한 조건식을 포함하는 조건문을 만들 때 사용될 수 있습니다. 조건이 복잡하여 IF 함수를 두 개 이상 사용해야 하는 상황이라면 AND 함수와 OR 함수를 적절히 사용하여 IF 함수의 사용 빈도를 최대한 줄여보시기 바랍니다.


마무리 - 정말 간단한 엑셀 조건 함수


지금까지 엑셀에서 사용될 수 있는 조건 함수에 대하여 알아보았습니다. 엑셀은 다양한 함수를 지원하여 동적인 문서를 작성할 수 있게 해주는 가장 완벽한 소프트웨어입니다. 워드, 한글과 같은 워드프로세서에서는 할 수 없는 다양한 일들을 할 수 있게 해줍니다. 특히 이 글에서 살펴보았던 조건문을 사용할 수 있다는 것이 워드프로세서와의 가장 큰 차이점이라고 할 수 있겠습니다.

엑셀이 어렵다고 생각될 수도 있겠지만 함수 사용 방법만 잘 알고 있으면 그렇게 어렵지 않습니다. 특히 조건 함수는 엑셀에서 가장 유용하면서도 자주 사용되는 함수이므로 반드시 숙지하시기 바랍니다.
http://www.erzsamatory.net/trackback/214

건전한 댓글 문화를 만들어주시기 바랍니다 ^^
불건전한 댓글이 등록되는 경우 관리자의 임의적 판단으로 삭제될 수 있음을 미리 공지드립니다.

비밀글로 작성하기