목차▾
엑셀 CHOOSE 함수란?
엑셀 CHOOSE 함수는 인덱스 번호에 해당하는 후보 값을 골라 반환하는 조회 함수 입니다. "1=영업, 2=마케팅, 3=개발" 같은 정수 코드 매핑, WEEKDAY와 결합한 요일 한글 표시, 분기 표시 등에 자주 쓰여요. SWITCH(2019+)나 VLOOKUP과 비교되지만 정수 인덱스라면 가장 단순한 선택지입니다.
구문은 =CHOOSE(인덱스, 값1, 값2, ...) 형식. 인덱스는 1~254 정수, 값은 최대 254개까지 받을 수 있습니다. 값에는 단순 숫자·텍스트뿐 아니라 셀 참조, 범위, 수식까지 모두 들어갈 수 있어서 의외로 활용도가 넓어요.
동작 규칙
| index_num | 결과 |
|---|---|
| 1 | value1 |
| 2 | value2 |
| N | valueN |
| 0 또는 음수 | #VALUE! |
| value 개수 초과 | #VALUE! |
| 텍스트 | #VALUE! |
| 1.7 (소수) | value1 (정수부만) |
CHOOSE vs SWITCH vs VLOOKUP vs IF
매핑·분기 함수 4대장 비교.
| 함수 | 사용 | 장점 | 단점 |
|---|---|---|---|
| CHOOSE | 정수 인덱스 → 후보 | 단순, 가독성 ↑ | 1~254 정수만 |
| 중첩 IF | 다양한 조건 | 범위·텍스트 비교 | 가독성 ↓ |
| SWITCH (2019+) | 정확 일치 매핑 | 어떤 값이든 가능 | 2019 이전 미지원 |
| VLOOKUP | 표에서 조회 | 큰 테이블 OK | 별도 테이블 필요 |
| INDEX | 배열에서 N번째 | 유연 | 구문 복잡 |
의사결정: 1·2·3 정수 인덱스면 CHOOSE, 텍스트 매핑은 SWITCH, 큰 매핑 테이블은 VLOOKUP/XLOOKUP.
실전 사용 시나리오 8가지
- 코드→이름 매핑 —
=CHOOSE(부서코드, "영업", "마케팅", "개발", "인사") - 요일 한글 (WEEKDAY 조합) —
=CHOOSE(WEEKDAY(A1, 2), "월","화","수","목","금","토","일") - 분기 표시 —
=CHOOSE(ROUNDUP(MONTH(A1)/3,0), "Q1","Q2","Q3","Q4") - 점수→등급 —
=CHOOSE(INT(A1/10)+1, "F",..."A")10단계 - 랜덤 선택 (가위바위보) —
=CHOOSE(RANDBETWEEN(1,3), "가위", "바위", "보") - VLOOKUP 왼쪽 조회 트릭 —
=VLOOKUP(A1, CHOOSE({1,2}, C:C, B:B), 2, FALSE) - 동적 범위 (SUM) —
=SUM(CHOOSE(F1, A:A, B:B, C:C)) - 시나리오 분석 (Best·Normal·Worst) —
=CHOOSE(시나리오, 매출*0.7, 매출*1.0, 매출*1.3)
CHOOSE의 특별한 점 — VLOOKUP 왼쪽 조회 트릭
CHOOSE의 value는 단순 값뿐 아니라 셀 범위도 받습니다. 이를 활용한 가장 유명한 트릭이 VLOOKUP의 왼쪽 조회 회피.
=VLOOKUP(검색값, CHOOSE({1,2}, B:B, A:A), 2, FALSE)
배열 상수 {1,2}로 가상 테이블을 만들어 B를 1열, A를 2열로 재배치. VLOOKUP의 한계인 왼쪽 조회를 우회합니다. INDEX/MATCH나 XLOOKUP의 대안 클래식 트릭으로 Excel 2019 이하에서 특히 유용해요.
동적 범위도 가능: =SUM(CHOOSE(F1, A:A, B:B, C:C)) — F1 값에 따라 어떤 열을 합산할지 선택. INDIRECT 대신 사용할 수 있는 안전한 패턴.
자주 발생하는 오류·함정 5가지
- #VALUE! — index 범위 벗어남 — 0·음수·value 개수 초과. 해결: IFERROR 또는 인덱스 검증 IF
- 텍스트 매핑은 불가 — CHOOSE는 정수 인덱스만. "VIP"→"할인" 같은 텍스트 매핑은 SWITCH·VLOOKUP
- value 254개 한계 — 그 이상은 VLOOKUP 테이블 권장
- 가독성 — 너무 길면 IFS·SWITCH — value 10개 넘으면 한 줄이 너무 김. VLOOKUP 테이블이 더 깔끔
- WEEKDAY mode 주의 —
WEEKDAY(date, 1)일요일=1 기본,WEEKDAY(date, 2)월요일=1 (한국식). CHOOSE 순서와 맞춰야
자주 묻는 질문
Q. CHOOSE 함수 사용법은?
=CHOOSE(인덱스, 값1, 값2, ...) 형식입니다. 예: =CHOOSE(2, "영업", "마케팅", "개발") = "마케팅" (2번째). 인덱스는 1~254 사이 정수, 값은 최대 254개까지.
Q. CHOOSE와 SWITCH의 차이는?
CHOOSE는 1·2·3 정수 인덱스, SWITCH는 어떤 값이든 매칭. SWITCH는 텍스트 매핑("VIP"→"할인") 가능하지만 Excel 2019 이상에서만. 정수 매핑이면 CHOOSE가 더 단순.
Q. CHOOSE와 VLOOKUP 중 뭘 쓸까?
매핑 개수 따라. 10개 이하 + 정수 인덱스면 CHOOSE, 큰 테이블이면 VLOOKUP/XLOOKUP. CHOOSE는 별도 테이블 없이 수식 안에 후보를 직접 넣어 간단합니다.
Q. 요일을 한글로 표시하려면?
=CHOOSE(WEEKDAY(A1, 2), "월", "화", "수", "목", "금", "토", "일"). WEEKDAY의 mode를 2(월요일=1)로 한 게 한국식이라 자연스럽습니다. mode=1(일요일=1)이면 CHOOSE도 일·월·...순으로.
Q. CHOOSE로 VLOOKUP 왼쪽 조회를 어떻게 하나요?
=VLOOKUP(검색값, CHOOSE({1,2}, B:B, A:A), 2, FALSE). 배열 상수 {1,2}로 가상 테이블을 만들어 B를 1열, A를 2열로 재배치. VLOOKUP 한계인 왼쪽 조회 가능. INDEX/MATCH나 XLOOKUP의 대안 클래식 트릭.
Q. CHOOSE에서 #VALUE! 오류가 나요.
인덱스가 범위를 벗어났습니다. 0·음수·value 개수 초과·텍스트일 때 발생. 해결: =IFERROR(CHOOSE(인덱스, ...), "범위 외"). 또는 인덱스 검증을 먼저: =IF(AND(A1>=1, A1<=10), CHOOSE(A1, ...), "오류").
Q. 매핑이 254개 넘으면 어떻게?
CHOOSE의 value는 최대 254개. 그 이상은 VLOOKUP·XLOOKUP·INDEX/MATCH로 별도 매핑 테이블 만드는 게 표준입니다. 코드 1~1000 같은 큰 매핑은 처음부터 테이블 + VLOOKUP이 깔끔합니다.
Q. 구글 스프레드시트에서도 작동하나요?
네. CHOOSE는 표준 함수로 Google Sheets, LibreOffice Calc, Apple Numbers, 한컴 한셀, WPS에서 동일한 문법으로 작동합니다.
본 페이지는 Microsoft Support 공식 CHOOSE·SWITCH·WEEKDAY 문서를 기준으로 작성되었습니다. 정확한 동작은 Excel 버전·환경에 따라 달라질 수 있으니 중요한 작업 전에는 실제 환경에서 확인하세요.