다중 조건 함수, SWITCH 조건식이 특정한 값을 가지는 경우

This entry is part [part not set] of 5 in the series 논리 함수

다중 조건 함수, SWITCH

 
이전글에서 IF문을 중첩하여 사용하여 다중 조건의 참, 거짓을 판단하는 함수 IFS 를 배웠습니다.
이번에는 조건문이 특정한 값을 가질 때 사용할 수 있는 함수 SWITCH 를 배워보겠습니다.

SWITCH 함수는 엑셀 2019 버전, 오피스 365 엑셀 2016 이상에서 사용 가능합니다.

 
이전 글에서 다중 비교 함수 IFS 를 살펴봤습니다.
IFS 함수를 사용하면 IF 함수를 여러번 중첩해서 사용하지 않아도 되는 것을 확인습니다.
IFS 함수를 IF 함수 중첩을 완전히 대체할 수는 없지만, 많은 경우에 유용하게 사용할 수 있었습니다.

SWITCH 함수는 조건식이 특정한 값을 가지는 경우에 IFS 함수를 효율적으로 대체할 수 있습니다.

아래의 그림을 보신 후 설명을 읽어보시기 바랍니다.
 

다중 조건 함수, IFS 함수로 문제 해결 시도

 

IFS 함수를 사용한 가점 계산 예제
IFS 함수를 사용한 가점 계산 예제

 
이전에 많이 사용했던 예제를 그대로 사용하겠습니다.
이전 예제에서 추가된 부분은 J 열에 추가된 가점 항목입니다.
가점은, 등급이 “수” 인 경우 10점, 등급이 “우” 인 경우 5점, 등급이 “미” 인 경우 3점, 그 외에는 0점 입니다.
 
등급에 따라 가점을 부여하기 위해 함수 IFS 함수를 사용해 보겠습니다.
J3 셀에 IFS 함수를 사용해서 문제를 해결해보겠습니다.

J3 셀에 함수 수식 =IFS(I3=”수”,10,I3=”우”,5,I3=”미”,3) 을 입력합니다.

그림의 결과에서 보여지듯이 위의 IFS 함수 수식 으로는 문제를 완벽히 해결할 수 없습니다.
등깁이 “수”, “우”, “미” 인 경우는 정상적으로 출력되지만, 나머지 경우는 “#NA” 오류가 출력됩니다.
J3 셀에 입력된 함수 수식은 텍스트로 주어진 등급별 가점 조건에 따라 작성되었지만, 등급이 “양”, “가” 인 경우에 대한 점수가 정의되지 않아 오류가 발생한 것 입니다.
IFS 함수를 사용해서 “양”, “가” 인 경우에 가점 0점을 주기 위해서는 아래와 같이 조건과 조건이 참일 때의 값을 추가로 정의해줘야 합니다.
 

IFS 함수를 사용한 가점 계산 예제 수정
IFS 함수를 사용한 가점 계산 예제 수정

 
오류를 수정하기 위해 J3 셀에 입력된 함수 수식을 아래와 같이 수정해 보겠습니다.

J3 셀에 함수 수식 =IFS(I3=”수”,10,I3=”우”,5,I3=”미”,3,I3=”양”,0,I3=”가”,0) 을 입력합니다.

이제야 모든 학생의 가점이 올바르게 출력되고 있습니다.
즉, IFS 함수를 사용하는 경우 주어진 조건에 해당하지 않는 값에 대한 조건식과 결과값도 모두 정의해줘야 올바른 결과를 출력할 수 있는 것 입니다.
이번 예제와 같이 두 개의 조건에 대해서만 추가로 정의하는 경우는 문제가 어렵지 않게 해결됩니다.
하지만, 주어진 조건에 해당되지 않는 경우가 무수히 많은 경우에는 그것을 일일히 지정하기가 쉽지 않습니다.
 

다중 조건 함수, SWITCH 조건식이 특정한 값을 가지는 경우 사용 방법

 
SWITCH 함수를 사용하면 위의 경우와 같은 예제를 간단하게 해결할 수 있습니다.

단, 모든 버전의 엑셀에서 SWITCH 함수를 지원하는 것은 아니기 때문에, 모든 분에게 해결책이 될 수는 없습니다.

SWITCH 함수를 사용한 해결 방법을 아래의 그림을 통해 확인해 보겠습니다.
 
함수는 함수명과 인자로 구성되어 있습니다.
= 를 입력하고 함수명(SWITCH)를 입력한 후, 괄호를 여는 순간 함수 인자를 입력하기 위한 도움말이 나타납니다.
 

다중 조건 함수 SWITCH
다중 조건 함수 SWITCH

 
위의 그림에서 =SWITCH( 함수의 사용을 도와주는 도움말이 나타납니다.
함수에 어떤 인자를 입력해야 하는지 알려주는데요, (expression, value1, result1, [default_or_value2, result2], ) 의 의미는 아래와 같습니다.

expression : 조건식을 첫 번째 인수로 입력해야 합니다. (필수 입력)
value1 : 조건식과 비교할 첫 번째 값을 두 번째 인수를 입력해야 합니다. (필수 입력)
result1 : 조건식과 value1 과 일치할 경우 출력할 값을 세 번째 인수를 입력해야 합니다. (필수 입력)
default_or_value2 : 더이상 비교할 값이 없는 경우 출력할 값 또는 조건식과 비교할 두 번째 값을 네 번째 인수로 입력해야 합니다. (선택 입력)
result2 : value2 가 입력되었다면 조건식이 value2 와 일치할 경우 출력할 값을 다섯 번째 인수를 입력해야 합니다. (선택 입력)
… : 조건식과 비교할 값과 일치할 경우 출력할 내용을 쌍으로 계속해서 입력할 수 있습니다. (선택 입력)

 
J3 셀에 =SWITCH(I3,”수”,10,”우”,5,”미”,3,0) 라고 함수 수식을 입력합니다.
그러면 결과값 10 이 출력됩니다.
나머지 학생의 가점 셀에도 함수를 복사하여 붙여넣습니다.
모든 학생의 가점이 정확하게 출력되고 있는 것을 확인할 수 있습니다.
조건식과 비교할 값은 “수”, “우”, “미” 세 개의 값 뿐 이지만, default 값을 지정함으로써 그 외의 경우는 0점 으로 출력하도록 할 수 있습니다.
사용된 함수 수식이 무척 간단해진 것을 알 수 있습니다.
 

IFS 함수 VS SWITCH 함수

 
두 함수에 사용된 함수 수식을 비교해 보겠습니다.

=IFS(I3=”수”,10,I3=”우”,5,I3=”미”,3,I3=”양”,0,I3=”가”,0)
=SWITCH(I3,”수”,10,”우”,5,”미”,3,0)

눈으로 대충 봐도 함수 수식이 무척 간단해 진 것이 보입니다.
이런 결과가 가능해 진 것은 바로 SWITCH 함수의 default 값 때문 입니다.
 
IFS 에서는 default 와 같은 기능을 할 수 있는 고정적인 방법이 없습니다.
문제의 경우에 따라 그에 맞는 조건식과 출력값을 적당히 추가할 수 밖에 없습니다.
 

SWITCH 함수가 만능은 아닙니다. 조건식과 비교하는 value 에는 값만 입력할 수 있습니다.
value 에 범위(range)를 입력할 수 없기 때문에 조건식이 특정한 값을 가지는 경우를 비교할 때에 제 기능을 발휘할 수 있습니다.

 
각자 간단한 예제를 만들어 사용법을 익히기 바랍니다.
 

엑셀에 관한 궁금증은 Microsoft Office 도움말 에서 해결할 수 있습니다.
Microsoft Office 도움말 바로가기

Series Navigation