=SWITCH(B2,"N","North","S","South","E","East","Unknown")은 B2를 "N", "S", "E"와 차례로 비교해 처음으로 정확히 일치한 값과 짝지어진 이름을 반환합니다. B2가 어느 값과도 일치하지 않으면 마지막 인수인 Unknown을 반환합니다.
| A | B | C | |
|---|---|---|---|
| 1 | Store | Code | Region |
| 2 | 101 | N | North |
| 3 | 102 | S | South |
| 4 | 103 | W | Unknown |
| 5 | 104 | E | East |
| 6 | 105 | n | North |
C2를 클릭해 수식을 확인하세요. 103번 매장의 코드는 목록에 없는 W라서 Unknown을 받습니다. 105번 매장은 소문자 n인데도 North를 받습니다. SWITCH의 텍스트 일치는 대소문자를 무시합니다. B4를 S로 바꾸면 지역이 바뀝니다.
SWITCH 구문
=SWITCH(expression, value1, result1, [value2, result2], ..., [default])
expression은 한 번 계산됩니다. 셀일 수도 있고,WEEKDAY(A2)나MONTH(A2)같은 수식일 수도 있습니다.- 그다음에는 값과,
expression이 그 값과 같을 때 반환할 결과의 쌍이 옵니다. 쌍은 126개까지 넣을 수 있습니다. default는 생략할 수 있으며, 마지막 쌍 뒤에 붙는 인수입니다. 짝이 없으므로 SWITCH는 이것이 기본값임을 압니다.- 일치는 정확해야 합니다. SWITCH만으로는 "보다 큼"을 검사할 수 없습니다(아래 SWITCH(TRUE) 참고).
SWITCH는 Excel 2019 이상이나 Microsoft 365가 필요합니다. 영구 라이선스 Excel 2016 이하에서는 SWITCH를 쓴 수식이 #NAME?을 표시합니다. Google 스프레드시트에도 SWITCH가 있습니다.
기본값, 그리고 기본값이 없을 때의 #N/A
기본값이 없으면 어떤 값과도 일치하지 않는 경우 #N/A가 나옵니다. 여기서는 WEEKDAY가 반환한 요일 번호(1은 일요일, 7은 토요일)를 라벨로 바꿉니다. C열에는 기본값이 없고, D열은 "Weekday"를 기본값으로 둡니다:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Date | Day number | No default | With default |
| 2 | 2026-03-14 | 7 | Saturday | Saturday |
| 3 | 2026-03-15 | 1 | Sunday | Sunday |
| 4 | 2026-03-16 | 2 | #N/A | Weekday |
| 5 | 2026-03-17 | 3 | #N/A | Weekday |
| 6 | 2026-03-21 | 7 | Saturday | Saturday |
2026년 3월 14일과 21일은 토요일, 3월 15일은 일요일이므로 두 열 모두 요일 이름을 표시합니다. 월요일과 화요일은 1과 7 어느 쪽과도 일치하지 않아 C열에는 #N/A가, D열에는 Weekday가 나옵니다. D열은 식이 수식일 수도 있음을 보여 줍니다. WEEKDAY가 한 번 실행되고 SWITCH가 그 결과를 각 값과 비교합니다.
범위를 위한 SWITCH(TRUE, ...)
SWITCH는 같음만 검사하지만, 식으로 TRUE를 쓸 수 있습니다. 그러면 각 값이 비교식이 되고, SWITCH는 TRUE와 같은 첫 번째 비교의 결과를 반환합니다. 이렇게 하면 끝에 기본값이 있는 IFS처럼 동작합니다:
| A | B | C | |
|---|---|---|---|
| 1 | Student | Score | Grade |
| 2 | Ana | 94 | A |
| 3 | Ben | 81 | B |
| 4 | Chloe | 70 | C |
| 5 | Dan | 65 | F |
| 6 | Eve | 88 | B |
비교식은 순서대로 읽히므로 가장 높은 기준을 먼저 둡니다. 중첩 IF, IFS와 같은 규칙입니다. 마지막 "F"는 짝이 없으므로 70 미만인 모든 점수의 기본값입니다. IFS도 같은 규칙을 똑같이 분명하게 씁니다. 차이는 TRUE의 위치뿐입니다. SWITCH에서는 맨 앞에 한 번, IFS에서는 마지막 조건으로 씁니다.
숫자를 이름으로 바꾸기
자주 쓰는 용도는 순위를 메달로 바꾸는 것처럼 코드 번호를 단어로 바꾸는 것입니다:
| A | B | C | |
|---|---|---|---|
| 1 | Runner | Rank | Medal |
| 2 | Ana | 2 | Silver |
| 3 | Ben | 1 | Gold |
| 4 | Chloe | 4 | |
| 5 | Dan | 3 | Bronze |
| 6 | Eve | 7 |
Chloe와 Eve는 3위 안에 들지 못했으므로 기본값인 빈 텍스트를 받습니다. 코드가 1, 2, 3처럼 빠짐없이 이어진다면 CHOOSE가 더 짧습니다(=CHOOSE(B2,"Gold","Silver","Bronze")). 하지만 기본값이 없어 4 이상에는 #VALUE!를 반환합니다.
연습: 상태 코드
| A | B | C | |
|---|---|---|---|
| 1 | Invoice | Code | Status |
| 2 | INV-01 | P | |
| 3 | INV-02 | U | |
| 4 | INV-03 | X | |
| 5 | INV-04 | P |
직접 해 보세요: C2에서 SWITCH로 B2의 코드를 단어로 바꾸세요. P는 "Paid", U는 "Unpaid", 그 밖에는 "Check"입니다. 수식은 C5까지 아래로 채워집니다.
SWITCH, IFS, 중첩 IF 비교
셋 다 여러 결과 중 하나를 반환하며, 무엇을 검사하는지가 다릅니다.
| SWITCH | IFS | 중첩 IF | |
|---|---|---|---|
| 검사 | 식 하나의 같음 여부 | 쌍마다 아무 조건 | 단계마다 아무 조건 |
| 기본값 | 마지막 인수, 생략 가능 | 마지막 TRUE 쌍 | 마지막 IF의 false 값 |
| 일치 없음, 기본값 없음 | #N/A | #N/A | 마지막 IF에 value_if_false가 없으면 FALSE |
| 셀 반복 | 없음: B2를 한 번만 씀 | 있음: B2="N", B2="S"... | 있음 |
| Excel 2016 이하 | #NAME? | #NAME? | 동작함 |
셀 하나나 수식 하나를 고정된 값 목록(코드, 요일 번호, 월)과 비교할 때는 SWITCH를 쓰세요. 가장 짧고 식을 한 번만 실행합니다. 조건마다 비교가 다르거나 다른 셀을 읽는다면 IFS를 쓰세요. 파일을 Excel 2016 이하에서 열어야 한다면 중첩 IF를 쓰세요. 코드 목록이 길거나 자주 바뀌면 두 열짜리 표에 넣고 XLOOKUP으로 조회하세요. 그러면 코드를 추가할 때 모든 수식을 고치는 대신 행 하나만 추가하면 됩니다.
자주 묻는 질문
엑셀 SWITCH 함수는 무엇을 하나요?
식 하나를 값 목록과 비교해 처음으로 정확히 일치한 값과 짝지어진 결과를 반환합니다. =SWITCH(B2,1,"Gold",2,"Silver",3,"Bronze","")는 순위를 메달 이름으로 바꾸고, 다른 순위에는 빈 텍스트를 반환합니다.
SWITCH가 #N/A를 반환하는 이유는 무엇인가요?
식이 어떤 값과도 일치하지 않았고 기본값이 없기 때문입니다. 마지막 쌍 뒤에 "Other" 같은 인수를 하나 더 추가하면 SWITCH가 #N/A 대신 그 값을 반환합니다.
SWITCH로 '보다 큼' 같은 범위를 검사할 수 있나요?
같음만 검사하므로 직접은 안 됩니다. 식으로 TRUE를, 값으로 비교식을 쓰세요. =SWITCH(TRUE,B2>=90,"A",B2>=80,"B","F")는 처음으로 TRUE인 비교의 결과를 반환합니다.
Excel 2016에 SWITCH 함수가 있나요?
Microsoft 365 버전의 Excel 2016에만 있습니다. SWITCH는 Excel 2019, Excel 2021, Excel 2024, Microsoft 365에 있으며, 영구 라이선스 Excel 2016 이하에서는 #NAME?이 나오므로 그곳에서는 중첩 IF나 CHOOSE를 쓰세요.