엑셀 SWITCH 함수는 여러 개의 값과 비교하여 일치하는 하나의 값을 구해줍니다.
SWITCH 함수와 기능이 비슷한 CHOOSE 함수는 표현식이 숫자로 된 값만 가능하고 기능이 제한적입니다. SWITCH 함수는 숫자 뿐만 아니라 문자로도 비교가 가능하고 비교할 값이 없을 때 기본값을 지정할 수 있으며 기능적으로 CHOOSE 함수를 완전히 대체할 수 있습니다.
CHOOSE함수에 대해서는 다음 다음 링크를 참고하세요.
[ 엑셀CHOOSE 함수 사용법 ]
구문(Syntax)
SWITCH(expression, value1, result1, [default or value2, result2],…[default or value3, result3])
여러 개의 값과 비교하여 일치하는 값을 구해준다.
인수
- expression : 비교할 값
- value1 : 비교되는 값
- result1 : expression과 value1이 일치할 때 반환되는 값
- default or value2 : value1에 일치하는 값이 없을 때 반환되는 기본값 또는 value2
총 126개까지 비교조건을 설정할 수 있다.
엑셀 2019 이상 버전에서 사용 가능
사용 예
다음과 같이 평가 등급표가 있을 때 평가 등급에 해당하는 '등급 표시'를 구해보겠습니다.
평가등급 | 등급표시 |
S | 탁월 |
A | 우수 |
B | 보통 |
C | 미흡 |
D | 부진 |
1) 평가 등급별 등급표시 구하기
개인별 평가 등급에 해당하는 등급 표시를 구하려면 [D15] 셀에 다음 수식을 입력합니다.
=SWITCH(C15,"S","탁월","A","우수","B","보통","C","미흡","D","부진")
[C15] 셀에 입력된 평가등급이 'S'이면 '탁월', 'A'이면 '우수', 'B'이면 '보통', 'C'이면 '미흡', 'D'이면 '부진'을 반환하라는 의미입니다.그런데 19행을 보면 수식에 없는 엉뚱한 값 'F'가 입력되어 있어서 #N/A가 오류가 발생했고 나머지 인원들의 등급표시는 정상적으로 구해졌습니다.
2) 평가 등급별 등급표시 + 기본값을 이용하여 오류처리
앞에서 살펴본 수식에서는 일치하는 값이 없으면 #N/A 오류가 발생합니다.
수식과 일치하는 값이 없을 때는 다음과 같이 반환되는 기본값("**값오류**")을 수식의 마지막에 적어주면 기본값이 표시되고 #N/A오류가 발생하지 않습니다.
=SWITCH(C24,"S","탁월","A","우수","B","보통","C","미흡","D","부진","**값오류**")
28행을 보면 수식에 없는 'F'가 입력되었지만 오류는 발생하지 않고 '**값오류**'로 표시됩니다.
위의 예를 SWITCH 함수 대신 IF 함수를 여러 번 중첩하여 해결할 수도 있습니다. 수식이 복잡하여 사용하기 까다로우므로 SWITCH 함수를 사용하는 것이 더 편리합니다.
=IF(C33="S","탁월",IF(C33="A","우수",IF(C33="B","보통",IF(C33="C","미흡",IF(C33="D","부진","**값오류**")))))
관련 글