Excel CHOOSE 함수

- 예1 - 기본 사용법: CHOOSE 함수를 단독으로 사용하여 목록 인수에서 값을 선택
- 예2 – 여러 조건에 따라 다른 결과 반환
- 예3 – 조건에 따라 다른 계산된 결과 반환
- 예4 – 목록에서 무작위로 선택
- 예5 – CHOOSE 및 VLOOKUP 함수를 결합하여 왼쪽 열의 값을 반환
- 예6 – 주어진 날짜에 기반하여 요일 또는 월 반환
- 예7 – 오늘을 기준으로 다음 평일/주말 날짜 반환
설명
CHOOSE 함수는 지정된 인덱스 번호에 따라 값 인수 목록에서 값을 반환합니다. 예를 들어, CHOOSE(3,”Apple”,”Peach”,”Orange”)는 Orange를 반환하며, 인덱스 번호는 3이고, Orange는 함수 내에서 인덱스 번호 이후 세 번째 값입니다.
구문 및 인수
공식 구문
CHOOSE(index_num, value1, [value2], …) |
인수
|
Value1, value2…은 숫자, 텍스트, 공식, 셀 참조 또는 정의된 이름일 수 있습니다.
반환 값
CHOOSE 함수는 지정된 위치에 따라 목록에서 값을 반환합니다.
사용법 및 예제
이 부분에서는 CHOOSE 함수의 사용법을 설명하기 위해 간단하지만 대표적인 몇 가지 예제를 나열했습니다.
예1 - 기본 사용법: CHOOSE 함수를 단독으로 사용하여 목록 인수에서 값을 선택
공식1:
=CHOOSE(3,"a","b","c","d")
반환값: c, CHOOSE 함수에서 인덱스 번호가 3인 세 번째 인수입니다.
참고: 값이 텍스트인 경우 큰따옴표로 묶어야 합니다.
공식2:
=CHOOSE(2,A1,A2,A3,A4)
반환값: Kate, A2의 값입니다. 인덱스 번호가 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): 인덱스 번호, 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")
결과: Middle
아래 스크린샷과 같이 금액과 가격에 따라 각 제품의 리베이트를 계산해야 한다고 가정해 보겠습니다:
공식:
=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): 인덱스 번호, 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: 선택할 값들, 리베이트는 가격 * 수량 * 리베이트 비율과 같으며, 여기서 인덱스 번호는 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): 인덱스 번호, 1에서 5 사이의 숫자를 무작위로 얻습니다.
$D$2,$D$3,$D$4,$D$5,$D$6: 선택할 값들의 목록
예5 – CHOOSE와 VLOOKUP 함수를 결합하여 왼쪽 열의 값을 반환
일반적으로 우리는 VLOOKUP 함수를 사용합니다. =VLOOKUP (value, table, col_index, [range_lookup]) 주어진 값에 따라 테이블 범위에서 값을 반환합니다. 그러나 VLOOKUP 함수를 사용하면 아래 스크린샷과 같이 반환 열이 조회 열의 왼쪽에 있을 경우 오류 값을 반환합니다: VLOOKUP 함수는 반환 열이 조회 열의 왼쪽에 있을 경우 오류 값을 반환합니다.
이 경우 CHOOSE 함수를 VLOOKUP 함수와 결합하여 문제를 해결할 수 있습니다.
공식:
=VLOOKUP(E1,CHOOSE({1,2},B1:B7,A1:A7),2,FALSE)
설명:
CHOOSE({1,2},B1:B7,A1:A7): VLOOKUP 함수의 테이블_범위 인수로 {1,2}는 VLOOKUP 함수의 col_num 인수에 따라 인덱스 번호 인수로 1 또는 2를 표시합니다. 여기서 VLOOKUP 함수의 col_num은 2이므로 CHOOSE 함수는 다음과 같이 표시됩니다. CHOOSE(2, B1:B7,A1:A7), 즉 A1:A7에서 값을 선택합니다.
CHOOSE 함수를 사용하여 주어진 날짜에 따라 관련 요일과 월을 반환할 수도 있습니다.
공식 1: 날짜로 요일 반환
=CHOOSE(WEEKDAY(),"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
설명:
WEEKDAY(): 인덱스 번호 인수로, 주어진 날짜의 요일 번호를 가져옵니다. 예를 들어, WEEKDAY(A5)는 6을 반환하므로 인덱스 번호 인수는 6입니다.
"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday": 값 목록 인수로, 요일 번호 “1”이 “Sunday”를 나타내므로 “Sunday”로 시작합니다.
공식 2: 날짜로 월 반환
=CHOOSE(MONTH(),"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
설명:
MONTH(): 인덱스 번호 인수로, 주어진 날짜에서 월 번호를 가져옵니다. 예를 들어, MONTH(A5)는 3을 반환합니다.
일상적인 업무에서 오늘을 기준으로 다음 평일이나 주말을 계산하고 싶을 수 있습니다. 여기서 CHOOSE 함수도 도움이 될 수 있습니다.
예를 들어, 오늘은 2018년 12월 20일, 목요일이라고 가정해 보겠습니다. 이제 다음 평일과 주말 날짜를 얻어야 합니다.
공식 1: 오늘 날짜 얻기
=TODAY()
결과: 2018년 12월 20일
공식 2: 오늘의 요일 번호 얻기
=WEEKDAY(TODAY())
결과: 5 (오늘은 2018년 12월 20일 기준)
아래 스크린샷과 같이 요일 번호 목록은 다음과 같습니다:
공식 3: 다음 평일 얻기
=TODAY()+CHOOSE(WEEKDAY(TODAY()),1,1,1,1,1,3,2)
설명:
Today(): 현재 날짜를 반환합니다.
WEEKDAY(TODAY()): CHOOSE 함수의 인덱스 번호 인수로, 오늘의 요일 번호를 가져옵니다. 예를 들어, 일요일은 1, 월요일은 2…
1,1,1,1,1,3,2: CHOOSE 함수의 값 목록 인수입니다. 예를 들어, weekday(today())가 1 (일요일)을 반환하면 목록에서 1을 선택하므로 전체 공식은 =Today()+1로 변경되어 다음 월요일을 반환하도록 하루를 더합니다. weekday(today())가 6 (금요일)을 반환하면 목록에서 3을 선택하며, 금요일은 다음 월요일까지 3일 남았기 때문입니다.
결과 (오늘은 2018년 12월 20일 기준):
=2018년 12월 20일+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일을 더합니다.
결과:
=2018년 12월 20일+CHOOSE(5,6,5,4,3,2,1,1)
=12/20/2018+2
=12/22/2018
최고의 오피스 생산성 도구
Kutools for Excel - 당신을 돋보이게 하는 도구
🤖 | Kutools AI Aide: 지능형 실행, 코드 생성, 사용자 정의 수식 작성, 데이터 분석 및 차트 생성, Kutools 기능 호출을 통해 데이터 분석 혁신 |
인기 있는 기능: 중복 찾기, 강조 또는 식별 | 빈 행 삭제 | 데이터 손실 없이 열 또는 셀 결합 | 수식 없이 반올림 ... | |
슈퍼 VLookup: 다중 조건 | 다중 값 | 여러 시트 간 | 퍼지 매치... | |
고급 드롭다운 목록: 쉬운 드롭다운 목록 | 종속 드롭다운 목록 | 다중 선택 드롭다운 목록... | |
열 관리자: 특정 개수의 열 추가 | 열 이동 | 숨겨진 열 표시 상태 전환 | 열 비교하여 동일한 셀 & 다른 셀 선택... | |
주요 기능: 그리드 포커스 | 디자인 보기 | 큰 수식 표시줄 | 통합 문서 & 시트 관리자 | 자동 텍스트 라이브러리(자동 텍스트) | 날짜 선택기 | 데이터 병합 | 셀 암호화/해독 | 목록으로 이메일 보내기 | 슈퍼 필터 | 특수 필터 (굵게/이탤릭체/취소선 필터링...) ... | |
상위 15가지 도구 세트: 12개의 텍스트 도구(텍스트 추가, 특정 문자 삭제...) | 50+ 차트 유형(간트 차트...) | 40+ 실용적인 수식(생일을 기반으로 나이 계산...) | 19개 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입...) | 12개 변환 도구(숫자를 단어로, 통화 변환...) | 7개 병합 및 분할 도구(고급 행 병합, 엑셀 셀 분할...) | ... 그리고 더 많은 기능 |
Kutools for Excel은 300개 이상의 기능을 제공하며, 원하는 모든 것이 단 한 번의 클릭만으로 가능합니다...
Office Tab - Microsoft Office(Excel 포함)에서 탭 방식의 읽기 및 편집 활성화
- 수십 개의 열린 문서 간에 1초 만에 전환 가능!
- 매일 수백 번의 마우스 클릭을 줄이고, 마우스 손과 작별 인사하세요.
- 여러 문서를 보고 편집할 때 생산성을 50% 향상시킵니다.
- Office(Excel 포함)에 효율적인 탭을 제공합니다. Chrome, Edge 및 Firefox와 비슷합니다.