Excel CHOOSE 함수

- 예1 - 기본 사용법:CHOOSE 함수를 단독으로 사용하여 목록 인수에서 값 선택하기
- 예2 – 여러 조건에 따라 다른 결과 반환하기
- 예3 – 조건에 따라 다른 계산 결과 반환하기
- 예4 – 목록에서 무작위 선택하기
- 예5 – CHOOSE 및VLOOKUP 함수를 결합하여 반환 값(가장 왼쪽 열에서)
- 예6 – 지정된 날짜를 기준으로 요일 또는 월 반환하기
- 예7 – 오늘 기준 다음 영업일/주말 날짜 반환하기
설명
CHOOSE함수는 주어진 인덱스 번호에 따라 값 목록 인수에서 값을 반환합니다。 예를 들어,CHOOSE(3,”Apple”,”Peach”,”Orange”)는 오렌지를 반환하며 인덱스 번호는 3 이고 오렌지는 함수 내 인덱스 번호 다음 세 번째 값입니다。
구문 및 인수
수식 구문
| CHOOSE()index_num, value1, [value2], …) |
인수
|
Value1, value2…는 숫자, 텍스트, 수식, 셀 참조 또는 정의된 이름일 수 있습니다。
반환 값
CHOOSE함수는 주어진 위치를 기준으로 목록에서 값을 반환합니다。
사용법 및 예제
이 섹션에서는CHOOSE함수의 사용법을 설명하기 위해 간단하면서도 대표적인 몇 가지 예제를 제시합니다。
예1 - 기본 사용법:CHOOSE 함수를 단독으로 사용하여 목록 인수에서 값 선택하기
수식1:
=CHOOSE(3,「a」,「b」,「c」,「d」)
반환값: c 로,CHOOSE함수에서 index_num 다음의 세 번째 인수입니다。
참고: 값이 텍스트인 경우 큰따옴표로 감싸야 합니다。
수식2:
=CHOOSE(2,A1,A2,A3,A4)
반환값: A2 셀의 값인 Kate 입니다. index_num 이 2 이고, A2 는CHOOSE함수에서 두 번째 값이기 때문입니다。
수식3:
=CHOOSE(4,8,9,7,6)
반환값: 함수의 네 번째 목록 인수인 6 입니다。
아래 스크린샷과 같이 각 제품의 편차 목록이 있고 이를 조건에 따라 라벨링해야 한다고 가정해 보겠습니다。
일반적으로 IF 함수를 사용할 수 있지만, 여기서는CHOOSE 함수를 사용해 이 문제를 쉽게 해결하는 방법을 소개합니다
수식:
=CHOOSE((B7>0)+(B7>1)+(B7>5),「Top」,「Middle」,「Bottom」)
설명:
(B7>0)+(B7>1)+(B7>5):index_num, B7 은 2 이며 0 및 1 보다 크고 5 보다 작으므로 중간 결과는 다음과 같습니다:
=CHOOSE(True+Ture+False,「Top」,「Middle」,「Bottom」)
알다시피 TRUE = 1, FALSE = 0 이므로 수식은 다음과 같이 볼 수 있습니다:
=CHOOSE(1+1+0,「Top」,「Middle」,「Bottom」)
그리고
=CHOOSE(2,「Top」,「Middle」,「Bottom」)
결과: 중간
아래 스크린샷과 같이 각 제품의 수량과 가격을 기준으로 리베이트를 계산해야 한다고 가정해 보겠습니다:
수식:
=CHOOSE((B8>0)+(B8>100)+(B8>200)+(B8>300),B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)
설명:
(B8>0)+(B8>100)+(B8>200)+(B8>300):index_number, B8 은 102 이며 100 보다 크고 201 보다 작으므로 이 부분의 결과는 다음과 같습니다:
=CHOOSE(true+true+false+false,B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)
=CHOOSE(1+1+0+0,B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)
그리고
=CHOOSE(2,B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)
B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5:선택할 값입니다. 리베이트는 가격 × 수량 × 리베이트 비율과 같으며, 여기서 index_num 이 2 이므로 B8*C8*0.2 을 선택합니다
반환값: 102*2*0.2=40.8 
Excel 에서는 때때로 주어진 목록에서 무작위로 값을 선택해야 할 필요가 있으며, 이 작업은CHOOSE함수로 해결할 수 있습니다。
목록에서 하나의 값을 무작위로 선택하기:
수식:
=CHOOSE(RANDBETWEEN(1,5),$D$2,$D$3,$D$4,$D$5,$D$6)
설명:
RANDBETWEEN(1,5):index_num, 1 부터 5 사이의 숫자를 무작위로 얻습니다
$D$2,$D$3,$D$4,$D$5,$D$6:선택할 값 목록입니다
예5 – CHOOSE 및VLOOKUP 함수를 결합하여 반환 값(가장 왼쪽 열에서)
일반적으로 VLOOKUP 함수=VLOOKUP (value, table, col_index, [range_lookup])을 사용하여 테이블 범위에서 주어진 값에 기반한 값을 반환합니다。 그러나VLOOKUP함수를 사용할 경우 아래 스크린샷과 같이 반환 열이 조회 열의 왼쪽에 있을 때 오류 값을 반환합니다:
이 경우CHOOSE함수와 VLOOKUP 함수를 결합하여 문제를 해결할 수 있습니다。
수식:
=VLOOKUP(E1,CHOOSE({1,2},B1:B7,A1:A7),2,FALSE)
설명:
CHOOSE({1,2},B1:B7,A1:A7):VLOOKUP 함수의 table_range 인수입니다. {1,2}은 VLOOKUP 함수의 col_num 인수에 따라 1 또는 2 를 index_num 인수로 표시함을 의미합니다. 여기서 VLOOKUP 함수의 col_num 은 2 이므로CHOOSE 함수는CHOOSE(2, B1:B7,A1:A7)로 표시되어 A1:A7 에서 값을 선택합니다。
예6 – 지정된 날짜를 기준으로 요일 또는 월 반환하기
CHOOSE함수를 사용하면 지정된 날짜를 기준으로 해당 요일과 월을 반환할 수도 있습니다。
수식 1:날짜로 요일을 반환합니다
=CHOOSE(WEEKDAY(),「Sunday」,「Monday」,「Tuesday」,「Wednesday」,「Thursday」,「Friday」,「Saturday」)
설명:
WEEKDAY():index_num 인수로 지정된 날짜의 요일 번호를 구합니다. 예를 들어, WEEKDAY(A5)는 6 를 반환하므로 index_num 인수는 6 입니다。
「Sunday」,「Monday」,「Tuesday」,「Wednesday」,「Thursday」,「Friday」,「Saturday」:값 목록 인수입니다。 요일 번호 “1”이 “일요일”을 나타내므로 “일요일”부터 시작합니다。
수식 2:날짜로 월을 반환합니다
=CHOOSE(MONTH(),「Jan」,「Feb」,「Mar」,「Apr」,「May」,「Jun」,「Jul」,「Aug」,「Sep」,「Oct」,「Nov」,「Dec」)
설명:
MONTH():index_num 인수로 지정된 날짜의 월 번호를 구합니다. 예를 들어, MONTH(A5)는 3 를 반환합니다。
업무 중 오늘을 기준으로 다음 영업일이나 주말을 계산해야 할 때가 있습니다。 이때에도CHOOSE함수가 도움이 될 수 있습니다。
예를 들어, 오늘은 12/20/2018(목요일)이고 다음 영업일과 주말을 구해야 한다고 가정해 보겠습니다。
수식 1:오늘 날짜를 구합니다
=TODAY()
결과: 12/20/2018
수식 2:오늘의 요일 번호를 구합니다
=WEEKDAY(TODAY())
결과: 5(오늘은 12/20/2018 인 경우)
아래 스크린샷과 같이 요일 번호 목록은 다음과 같습니다:
수식 3:다음 영업일을 구합니다
=TODAY()+CHOOSE(WEEKDAY(TODAY()),1,1,1,1,1,3,2)
설명:
Today():현재 날짜를 반환합니다
WEEKDAY(TODAY()):CHOOSE함수의 index_num 인수로 오늘의 요일 번호를 구합니다. 예를 들어, 일요일은 1, 월요일은 2 입니다…
1,1,1,1,1,3,2:CHOOSE함수의 값 목록 인수입니다. 예를 들어, WEEKDAY(TODAY())가 1(일요일)을 반환하면 목록에서 1 를 선택하고 전체 수식은 =TODAY()+1 로 변경되어 다음 월요일을 반환하기 위해 1 일을 더합니다. WEEKDAY(TODAY())가 6(금요일)을 반환하면 금요일이 다음 월요일까지 3 일 남았기 때문에 목록에서 3 를 선택합니다。
결과(오늘은 12/20/2018 인 경우):
=12/20/2018+CHOOSE(5,1,1,1,1,1,3,2)
=12/20/2018+1
=12/21/2018
수식 4:다음 주말을(를) 구합니다
=TODAY()+CHOOSE(WEEKDAY(TODAY()),6,5,4,3,2,1,1)
설명:
6,5,4,3,2,1,1:CHOOSE함수의 값 목록 인수입니다. 예를 들어, WEEKDAY(TODAY())가 1(일요일)를 반환하면 목록에서 6 를 선택하고 전체 수식은 =TODAY()+6 로 변경되어 6 일을 더해 다음 토요일을 반환합니다。
결과:
=12/20/2018+CHOOSE(5,6,5,4,3,2,1,1)
=12/20/2018+2
=12/22/2018 
최고의 Office 생산성 도구
Kutools for Excel - 남들과 차별화되게 도와드립니다
| 🤖 | KUTOOLS AI 도우미: 다음을 기반으로 데이터 분석를 혁신하세요:지능형 실행 | 코드 생성| 사용자 지정 수식 생성 | 데이터 분석 및 차트 생성| 향상된 함수 호출… |
| 인기 기능:찾기, 강조 표시 또는 중복 표시 | 빈 행 삭제 | 데이터 손실 없이 열 결합 또는 셀 제거 | 공식을 사용하지 않는 반올림... | |
| 슈퍼 VLookup:다중 조건 | 다중 값 | 다중 시트 간 검색 | 퍼지 매치... | |
| 고급 드롭다운 목록:쉬운 드롭다운 목록 | 종속형 드롭다운 목록 | 다중 선택 드롭다운 목록... | |
| 열 관리자:특정 개수의 열 추가 | 열 이동 | 숨겨진 열의 표시 상태 토글 |열 비교하여동일한/다른 셀 선택... | |
| 주요 기능:그리드 포커스 | 디자인 보기 | 향상된 수식 표시줄 | 워크북 및 시트 관리자|자원 라이브러리(자동 텍스트)| 날짜 선택기 | 워크시트 병합 | 암호화/셀 해독 | 목록 기반 이메일 발송 | 슈퍼 필터 | 특수 필터(굵은 글꼴이 있는 셀 필터링/기울임꼴/취소선。。。) 。。。 | |
| 15 상위 도구 모음:12 텍스트도구(텍스트 추가,특정 문자 삭제...)| 50+차트유형(간트 차트...)| 40+ 실용적인수식(생일을 기준으로 나이 계산...)| 19 삽입도구(QR 코드 삽입,경로에서 그림 삽입...)| 12 변환도구(단어로 변환하기,환율 변환...)| 7 병합 및 분할도구(고급 행 병합,Excel 셀 분할...)|。。。 외 다수 |
Kutools for Excel 는 300 개 이상의 기능을 자랑하며,필요한 기능을 언제나 클릭 한 번으로 사용할 수 있습니다。。。
Office Tab - Microsoft Office(Excel 포함)에서 탭 기반 읽기 및 편집 활성화
- 수십 개의 열린 문서 간 전환에 단 1 초면 충분합니다!
- 매일 수백 번의 마우스 클릭을 줄여주어 마우스 손과 작별하세요。
- 여러 문서를 보거나 편집할 때 생산성을 50% 만큼 높여줍니다。
- Chrome, Edge 및 Firefox 처럼 Office(Excel 포함)에 효율적인 Tabs 를 제공합니다。
