엑셀

엑셀 if함수 이해하기 조건에 따른 수식 선택

콘파냐 2017. 6. 20. 21:46
반응형

엑셀 if함수는 가장 기본적인 함수로 사용 빈도가 높은 함수입니다.

사용법은 크게 어렵지 않으나 다른 함수들과 자주 같이 사용하거나 활용법이 다른 함수들에 비해서 많은 편이므로 반드시 알아두어야 합니다. 

그리고 vlookup 함수나, index, match 함수와 같은 함수는 복잡하게 중첩된 if함수의 기능을 대신할 수 있는데 이렇게 다른 함수들의 기능과도 연관되어 있으므로  전반적인 함수에 대한 공부를 하는데 기본이 되는 함수라고 할 수 있습니다.

컴퓨터 프로그래밍 언어를 맛보기만 했더라도 if 문에 대해서 쉽게 이해하고 있을 테지만 그렇지 않은 분들을 위해서 쉽게 설명드리겠습니다.

엑셀 if함수

우리가 일상적으로 방에 들어와서 불을 켜는데 사용하는 전등 스위치를 생각해 보겠습니다. 스위치의 모양은 다를 수 있지만 기본적인 컨셉은 스위치를 ON으로 해 놓으면 불이 켜지고 OFF로 해 놓으면 불이 꺼지는 것입니다.

이 때 스위치의 상태가 "조건"이 됩니다. 조건의 상태는 "YES"냐 "NO"냐 처럼 "모"아니면 "도"의 형식입니다. 

이렇게 스위치의 상태가 ON이면 불이 켜지고 OFF면 불이 꺼지는 것처럼 IF함수를 사용하여 조건의 상태에 따라서 어떤 수식을 수행할지를 결정할 수 있습니다. 보통 프로그래밍이나 엑셀에서는 참(TRUE)과 거짓(FALSE)의 두 가지 상태로 나눕니다. (또는 조건이 0이 아닌 숫자면 TRUE, 조건이 0이면 FALSE가 됩니다.) 

IF(조건, 조건이 TRUE일 때 실행될 수식, 조건이 FALSE일 때 실행될 수식)

예)  IF(0, "A", "B")

B

예) IF(TRUE, "A", "B")

A

예) IF(3<3, "A", "B")

B

다음은 조건의 상태에 따라서 IF함수의 결과가 어떻게 달라지는지 실험한 것입니다.

※ 조건의 상태는 여러가지가 있을 수 있지만 숫자 30은 TRUE로, 숫자 0은 FALSE로 변환되어 최종적으로 TRUE 아니면 FALSE의 두 가지로 해석된다는 것을 이해해야 합니다.


  • 점수에 따라서 등급을 매기는 예제

엑셀 IF함수를 중첩해서 사용할 수 있습니다. 가장 모범적인 예가 점수에 따라서 등급을 매기는 예입니다. 등급을 매기는 조건은 다음과 같을 수 있습니다.

점수가 90점 이상이면 "수"

점수가 80~89면 "우"

점수가 70~79면 "미"

점수가 60~69면 "양"

점수가 0~59면 "가"

이렇게 조건의 상태가 2개를 초과하는 경우는 다음과 같이 IF함수의 중첩을 사용해야 합니다. 아래는 차례대로 조건의 상태가 추가될 때마다 IF함수가 추가되는 것을 보여줍니다.

=IF(C3>=90, "수",  "점수가 90점 이상이 아닐 때")

=IF(C3>=90, "수",  IF(C3>=80, "우",  "점수가 80점 이상이 아닐 때"))

=IF(C3>=90, "수",  IF(C3>=80, "우",   IF(C3>=70,"미", "점수가 60점 이상이 아닐 때")))

..... 생략

첫 번째 수식을 보면 점수가 90점 이상일 때에 대한 처리는 "수"를 반환했지만 점수가 90점이 아닐 때에 대한 처리는 아직 제대로 하지 않았습니다.

왜냐면 점수가 90점 이상이 아닐 때에 대한 상태가 우, 미, 양, 가로 4가지 상태가 있기 때문입니다.

두 번째 수식은 점수가 90점 이상이 아닐 때 =IF(C3>=90, "수", IF(C3>=80, "우", "점수가 80점 이상이 아닐 때")) 라는 수식을 실행하도록 합니다. 따라서 이 수식은 조건의 상태가 90점 미만 80점 이상일 때 "우"를 반환하죠. 그리고 점수가 80점 이상이 아닐 때는 아직 제대로 처리하지 않았네요.

이렇게 수, 우, 미, ... 이렇게 조건의 상태가 하나씩 늘어갈 때마다 IF문의 중첩이 하나씩 추가됩니다.

스위치와 같이 조건의 상태가 ON, OFF의 2개라면 하나의 IF함수로 가능하지만 이렇게 조건의 상태가 n개라면 IF함수는 n-1개가 필요합니다.

IF함수의 중첩의 모양은 단순하지만 수식이 길어져서 복잡해 보입니다.

따라서 엑셀에서 다중 조건의 경우  VLOOKUP 함수를 사용하여 해결할 수 있습니다.

vlookup 함수 이해

다음은 앞의 예제를 vlookup 함수로 해결하는 방법입니다. 구체적인 사용법은 위 링크를 참고하시길 바랍니다.

이렇게 vlookup 함수를 사용하면 IF함수의 중첩이 많아져도 수식의 길이는 그대로입니다. 이 밖에도 엑셀에서는 IF함수를 사용할 때 복잡해 보이는 일을 간단히 해주는 함수들이 있습니다. COUNTIF나 COUNTIFS 함수등이 대표적입니다. 이것은 IF함수의 쓰임새가 많다는 것을 의미하기도 합니다.

반응형