CHOOSE 함수는 엑셀에서 주어진 인덱스 번호에 따라 여러 값 중 하나를 선택하여 반환하는 함수입니다.
이 함수는 간단한 목록에서 특정 값을 선택할 때 유용하게 사용됩니다.
이 글에서는 CHOOSE 함수의 정의, 기본 구문, 사용법, 예제, 주의사항 등을 자세히 설명하겠습니다.
정의
CHOOSE 함수는 여러 개의 값 중에서 지정한 순번(index)에 해당하는 값을 반환하는 함수입니다.
기본 구문
=CHOOSE(index_num, value1, [value2], ...)
index_num (필수)
반환할 값의 인덱스 번호를 지정합니다.
1부터 시작하며 정수여야 합니다.
index_num이 1이면 value1을 2이면 value2를 반환합니다.
index_num이 1보다 작거나 값 목록의 마지막 값의 숫자보다 크면 #VALUE! 오류 값이 반환됩니다.
value1, [value2], ... (필수)
인덱스 번호에 따라 선택될 값들을 지정합니다.
최대 254개의 값을 지정할 수 있습니다.
숫자, 텍스트, 셀 참조, 이름으로 정의된 범위가 될 수 있습니다.
특징
여러 값 중에서 특정 순번의 값 반환
숫자, 텍스트, 셀 참조 등 다양한 데이터 유형 사용 가능
첫 번째 인수(순번)에는 숫자뿐만 아니라 다른 함수도 사용 가능
여러 개의 범위에서 데이터 선택 가능 (INDEX/MATCH와 조합 가능)
주의사항
index_num은 1부터 시작하는 정수여야 합니다.
index_num이 범위를 벗어나면 #VALUE! 오류가 발생합니다.
value 인수는 숫자, 텍스트, 셀 참조 등 다양한 형태를 가질 수 있습니다.
CHOOSE함수는 Vlookup 함수와 비슷하게 사용할수 있지만, CHOOSE함수는 특정한 순서의 값을 직접적으로 불러오는 반면 Vlookup 함수는 특정 조건에 맞는 값을 불러온다는 차이점이 있습니다.
CHOOSE 함수는 엑셀에서 다양한 상황에서 유용하게 사용할 수 있는 함수입니다.
장점
간단하고 직관적인 값 선택 기능 제공
숫자, 텍스트, 셀 참조, 논리값 등 다양한 데이터 형식 사용 가능
MATCH, RANDBETWEEN, WEEKDAY 등의 함수와 조합하여 유용하게 활용 가능
INDEX/MATCH와 조합하면 VLOOKUP보다 강력한 데이터 검색 가능
단점
순번(index) 값이 범위를 벗어나면 오류 발생
범위를 직접 선택할 수 없고 개별 항목만 지정 가능
값이 많아질수록 유지보수가 어려워짐 (많은 값이 있을 경우 INDEX/MATCH가 더 적합)
문제 : 3번째 사원의 사원명을 찾으시오.
=CHOOSE(index_num,value1,[value2], ...)에 맞게
index_num는 3번째 사원을 찾아야되기 때문에 3, value1은 첫번째 사원명 "김영희" or 셀번호 C6, value2는 두번째 사원명 "김철수" or 셀번호 C7, value3는 세번째 사원명 "최지우" or 셀번호 C8, value4는 네번째 사원명 "이병헌" or 셀번호 C9, value5는 다섯번째 사원명 "이나영" or 셀번호 C10, value6는 여섯번째 사원명 "권상우" or 셀번호 C11
=CHOOSE(3,"김영희","김철수","최지우","이병헌","이나영","권상우")
=CHOOSE(3,C6,C7,C8,C9,C10,C11)
=최지우
문제 : D14 셀에 사원번호를 입력하면 부서를 찾아 D15에 표시하시오.
=CHOOSE(index_num,value1,[value2], ...)에 맞게
index_num는 D14에 표시되는 사원번호를 입력해야 되기 때문에 D14 , value1은 첫번째 부서 "영업팀" or 셀번호 D6, value2는 두번째 부서 "디자인팀" or 셀번호 D7, value3는 세번째 부서 "마케팅팀" or 셀번호 D8, value4는 네번째 부서 "회계팀" or 셀번호 D9, value5는 다섯번째 부서 "총무팀" or 셀번호 D10, value6는 여섯번째 부서 "개발팀" or 셀번호 D11
=CHOOSE(D14,"영업팀","디자인팀","마케팅팀","회계팀","총무팀","개발팀")
=CHOOSE(D14,D6,D7,D8,D9,D10,D11)
=회계팀
CHOOSE 함수와 INDEX/MATCH 함수를 조합하면 더 강력한 데이터 조회 및 동적 선택 기능을 구현할 수 있습니다.
CHOOSE + INDEX/MATCH 조합의 개념
CHOOSE 함수 → 여러 개의 값 중 특정 위치(index)의 값을 반환
INDEX/MATCH 함수 → VLOOKUP을 대체하는 강력한 검색 기능 제공
이 두 함수를 조합하면 서로 다른 범위에서 원하는 데이터를 선택하고 조회할 수 있습니다.
CHOOSE + INDEX/MATCH 기본 구문
=INDEX(CHOOSE(순번, 범위1, 범위2, 범위3), MATCH(찾을값, 검색범위, 0))
CHOOSE(순번, 범위1, 범위2, 범위3) → 특정 범위를 선택
MATCH(찾을값, 검색범위, 0) → 해당 값의 위치(행 번호)를 찾음
INDEX(범위, 행번호) → 선택한 범위에서 행 번호에 해당하는 값 반환
CHOOSE + INDEX/MATCH 장점
다양한 조건과 데이터 범위에 따라 동적으로 결과를 변경할 수 있습니다.
여러 개의 검색 기준이나 데이터 테이블을 효율적으로 처리할 수 있습니다.
사용자의 선택이나 조건 변경에 따라 자동으로 결과가 업데이트됩니다.
CHOOSE + INDEX/MATCH 주의사항
CHOOSE 함수의 index_num 인수는 1부터 시작하는 정수여야 합니다.
CHOOSE 함수의 값 목록은 최대 254개까지 지정할 수 있습니다.
INDEX/MATCH함수와 CHOOSE 함수를 중첩해서 사용할 경우 수식이 복잡해질수 있으므로 수식의 작동 원리를 정확히 이해하고 사용해야 합니다.
문제 : 태블릿의 해외 가격은?
=INDEX(CHOOSE(순번,범위1,범위2,범위3), MATCH(찾을값,검색범위,0))에 맞게
순번은 범위1의 국내가격과 범위2의 해외가격 중 해외가격을 구하기 때문에 2, 범위1은 국내가격을 나타내므로 C6:C11, 범위2는 해외가격을 나타내므로 D6:D11, 찾을값은 태블릿을 찾아야 하므로 "태블릿", 검색범위는 태블릿이 있는 제품명내에서 검색을 해야되기 때문에 B6:B11
=INDEX(CHOOSE(2,C6:C11,D6:D11), MATCH("태블릿",B6:B11,0))
=1,000,000
문제 : D14에 입력된 제품의 국내 가격은?
=INDEX(CHOOSE(순번,범위1,범위2,범위3), MATCH(찾을값,검색범위,0))에 맞게
순번은 범위1의 국내가격과 범위2의 해외가격 중 국내가격을 구하기 때문에 1, 범위1은 국내가격을 나타내므로 C6:C11, 범위2는 해외가격을 나타내므로 D6:D11, 찾을값은 D14에 기록된 제품을 찾아야 하므로 D14, 검색범위는 제품명내에서 검색을 해야되기 때문에 B6:B11
=INDEX(CHOOSE(1,C6:C11,D6:D11), MATCH(D14,B6:B11,0))
=2,200,000
문제 : D14에 입력된 제품의 D15의 가격은?
이번 문제는 가격의 조건이 변하기 때문에 순번을 처음부터 정할 수가 없어서 IF함수를 추가로 사용하여야 됩니다.
순번을 정하는 함수로 IF를 사용하여 D15값에 맞추어 순번을 정할 것입니다.
=INDEX(CHOOSE(IF(조건,참일 때 반환값,거짓일 때 반환값),범위1,범위2,범위3), MATCH(찾을값,검색범위,0)) 에 맞게 조건은 D15에 표시된 가격을 나타나기 때문에 D15="국내", 참일때 반환 값은 국내가격이 첫번째이기 때문에1, 거짓일때 반환값은 해외가격이 두번째이기 때문에 2, 범위1은 국내가격을 나타내므로 C6:C11, 범위2는 해외가격을 나타내므로 D6:D11, 찾을값은 D14에 기록된 제품을 찾아야 하므로 D14, 검색범위는 제품명내에서 검색을 해야되기 때문에 B6:B11
=INDEX(CHOOSE(IF(D15="국내",1,2),C6:C11,D6:D11),MATCH(D14,B6:B11,0))
=1,500,000
IF의 조건은 D15에 표시된 가격을 나타나기 때문에 아래와 같이 설정해도 됩니다.
=INDEX(CHOOSE(IF(D15="해외",2,1),C6:C11,D6:D11),MATCH(D14,B6:B11,0))
=1,500,000
CHOOSE 함수는 여러 개의 범위 중 원하는 데이터를 선택할 수 있습니다.
기능이 제한적이므로 CHOOSE + INDEX/MATCH를 조합하면 다양한 데이터에서 동적 검색이 가능합니다.
점수에 따른 등급 부여, 랜덤 값 선택, 날짜와 요일 자동 반환 등 다양한 활용 가능합니다.
일·가정 양립 환경개선 (0) | 2025.04.13 |
---|---|
“취업에 유리한 자격증 따로 있다!" (2) | 2025.03.21 |
INDEX 함수와 MATCH 함수 완벽 분석! (1) | 2025.03.17 |
스마트직업훈련플랫폼 스텝(STEP) : 스텝은 지식 공유의 장 (2) | 2025.03.17 |
VLOOKUP 함수 & HLOOKUP 함수 완벽 분석 (0) | 2025.03.14 |