Computer

엑셀에서 다중 조건문 사용하기

슈라。 2014. 2. 2. 07:00

엑셀로 문서 작업을 하다 보면 간혹 다중 조건문을 사용하고 싶을 때가 있습니다.
몇 가지 조건의 조합으로 특정 분류를 하는 것이 그런 경우죠.
프로그래밍 언어라면 if ~ else 문으로 간단하게 작성하던 것들인데 엑셀에서 하려고 하니 선뜻 해답이 떠오르지 않습니다.
하지만 어려울 것 없습니다. 엑셀에서도 IF함수를 사용하면 쉽게 해결할 수 있습니다.

예를 들어 보겠습니다.
남자와 여자 그리고 성인과 미성년자에 따라 어떤 요금의 할인율이 다르다고 해 봅시다.

이 기준으로 아래와 같은 표를 만들고 할인율을 자동으로 채우고 싶습니다.


프로그램 언어로 간단하게 작성해보면

if(isMan == Y){
    if(isAdult == Y)
        dc = 0;
    else
        dc = 0.5;
}
else{
    if(isAdult == Y)
        dc = 0.3;
    else
        dc = 0.65;
}

이 정도가 될 수 있겠네요.

이걸 엑셀에서 작성하려면 어떻게 해야 할까요?
엑셀에서도 IF함수를 사용하면 되는데 바로 방법이 떠오르진 않습니다.
먼저 IF함수를 살펴 보면

IF(logical_test, value_if_true, value_if_false)

라는 설명이 나옵니다. IF함수의 괄호 안에 참과 거짓을 판정할 대상, 참일 경우 값, 거짓일 경우 값 순으로 넣어주면 되죠.
이 IF 함수를 다중 조건 판단에 어떻게 사용할까요?

바로 IF함수 안에 IF함수를  value_if_true, value_if_false 대신 넣어 주는 방식으로 다중 조건문을 구현할 수 있습니다.

이렇게 말이죠.

  IF(logical_test, IF(logical_test, value_if_true, value_if_false), IF(logical_test, value_if_true, value_if_false))


이제 앞에서 들었던 할인율 판정 예제에 다중 조건문을 넣어보겠습니다.
할인율의 값이 들어가는 셀에 아래 수식과 같이 넣어주면 자동으로 할인율을 판정하게 됩니다.

=IF(C2="Y", IF(D2="Y", "0%", "30%"), IF(D2="Y", "50%", "65%"))

IF함수를 이용해 할인율을 자동으로 입력한 결과입니다.

방법을 찾고 보니 프로그래밍 언어와 같은 모습을 하고 있습니다. 논리적 판단의 순서가 같으니 결과가 같을 수 밖에 없는 거겠죠.
IF를 잘 활용하면 더욱 복잡한 다중 조건문도 효과적으로 구현할 수 있을 것 같습니다.