엑셀 CHOOSE·SWITCH 함수 — 번호나 값에 따라 결과 골라오기
최종 업데이트 2026-07-04
CHOOSE와 SWITCH는 둘 다 '여러 후보 값 중 하나를 골라 보여주는' 함수지만 고르는 기준이 다릅니다. CHOOSE는 숫자 순번(1번째, 2번째…)으로 고르고, SWITCH는 특정 값과 정확히 일치하는 항목을 찾아 고릅니다. 중첩 IF를 대체할 수 있어 수식을 훨씬 깔끔하게 만들어 줍니다.
CHOOSE 함수 — 순번으로 값 고르기
=CHOOSE(순번, 값1, 값2, 값3, ...)
순번에 1이 들어오면 값1을, 2가 들어오면 값2를 반환합니다. 분기 번호나 등급 번호처럼 '1, 2, 3'으로 이미 숫자화된 데이터를 사람이 읽기 좋은 텍스트로 바꿀 때 유용합니다.
예를 들어 A열에 분기 번호(1~4)가 있고, 이를 '1분기'~'4분기'라는 텍스트로 바꾸고 싶다면 다음과 같이 씁니다.
=CHOOSE(A2, "1분기", "2분기", "3분기", "4분기")
요일 번호(WEEKDAY 결과 등)를 요일명으로 바꾸거나, 설문 응답의 척도 번호(1~5)를 '매우불만족~매우만족'으로 바꿀 때도 같은 방식을 씁니다. CHOOSE는 순번이 범위를 벗어나면(예: 0이나 5) #VALUE! 오류를 냅니다.
SWITCH 함수 — 값이 일치하는 결과 고르기
=SWITCH(비교할값, 조건값1, 결과1, 조건값2, 결과2, ..., 기본값)
SWITCH는 순번이 아니라 실제 값(텍스트·숫자)이 일치하는지를 비교합니다. 중첩 IF로 '등급 코드에 따라 등급명 표시'를 만들면 IF가 여러 겹 쌓여 읽기 어렵지만, SWITCH는 한눈에 매핑 관계를 볼 수 있습니다.
=SWITCH(B2, "A", "우수", "B", "보통", "C", "미흡", "등급없음")
B2가 'A'면 '우수', 'B'면 '보통', 'C'면 '미흡'을 반환하고, 이 중 어떤 것도 아니면 마지막에 지정한 기본값 '등급없음'이 나옵니다. 마지막 인수를 생략하면 일치하는 값이 없을 때 #N/A 오류가 나므로, 실무에서는 기본값을 꼭 넣는 것을 권장합니다.
CHOOSE vs SWITCH vs 중첩 IF, 언제 무엇을 쓸까
- •숫자 순번(1,2,3…)으로 값을 매핑한다 → CHOOSE
- •특정 텍스트·코드 값과 정확히 일치하는 결과를 매핑한다 → SWITCH
- •부등호(이상·이하·초과) 조건으로 구간을 나눠야 한다 → IF 중첩 또는 IFS
- •SWITCH·IFS는 엑셀 2019 이상, Microsoft 365, 구글시트에서 지원되며 구버전(2016 이하)에서는 지원되지 않습니다.
실무 응용 — 요일별 근무수당 배율 적용
WEEKDAY 함수로 요일 번호를 구한 뒤 CHOOSE로 요일별 수당 배율을 바로 적용할 수 있습니다. 예를 들어 평일은 1배, 토요일은 1.5배, 일요일은 2배를 적용한다면 다음처럼 작성합니다.
=CHOOSE(WEEKDAY(A2), 2, 1, 1, 1, 1, 1, 1.5)
WEEKDAY 기본값은 일요일이 1, 토요일이 7이므로 CHOOSE의 순서도 일요일부터 토요일 순으로 맞춰야 합니다. 순서를 헷갈리면 배율이 엉뚱하게 적용되니 반드시 WEEKDAY 결과값 순서와 CHOOSE 값 순서를 맞춰야 합니다.
자주 나는 오류와 주의사항
- •#VALUE! (CHOOSE): 순번이 정수가 아니거나 값 개수(최대 254개)를 초과하면 발생합니다.
- •#N/A (SWITCH): 일치하는 조건값이 없고 기본값도 지정하지 않았을 때 발생합니다. 항상 마지막 인수로 기본값을 넣으세요.
- •SWITCH는 대소문자를 구분하지 않지만, 앞뒤 공백은 다른 값으로 인식합니다. TRIM으로 공백을 정리한 뒤 비교하는 것이 안전합니다.
- •구글시트 구버전이나 엑셀 2016 이하에서는 SWITCH 함수 자체가 없으므로 중첩 IFS나 VLOOKUP 매핑표로 대체해야 합니다.
매핑해야 할 항목이 10개를 넘어가면 CHOOSE·SWITCH로 나열하기보다, 별도의 매핑표를 만들고 VLOOKUP·XLOOKUP으로 참조하는 편이 유지보수에 더 유리합니다.