본문 바로가기

엑셀(excel)

엑셀 CHOOSE 함수

 

CHOOSE 함수는 어떤 기준값을 일정 순서/패턴에 따라 변환시켜주는 함수입니다.

이때 기준값은 숫자로 되어 있어야 하며, 그 숫자는 주어진 패턴에서의 몇번째 값으로 변환시켜야 하는지 지정해주는 숫자입니다.

그 구성을 보면 보다 쉽게 이해하실 수 있습니다.

 

ㅁ 함수 : CHOOSE

ㅁ 수식 : =CHOOSE(index_num,value1,value2,...,value254)

ㅁ 구성

index_num : value1, value2,... 의 값들중 몇번째 값으로 변환시킬지 지정해주는 값

value1, value2, ... ,value254 : index_num 에 따라서 변환되는 값

> 변환되는 값은 1번부터 총 254번째까지 지정이 가능

 

index_num이 1인 경우, value1 값을 가져오게 되며,

index_num이 2인 경우, value2 값을 가져오게 되며,

index_num이 254인 경우, value254 값을 가져오게 됩니다.

 

예제를 통해서 보다 쉽게 이해해보겠습니다.

 

 

A병원의 환자 List입니다. 각 환자의 주민번호를 이용해서 성별을 알고 싶습니다.

사람은 주민번호의 뒤 7자리중 첫번째 숫자가 성별을 의미한다는 것을 알고 있습니다.

해서, 이를 CHOOSE 수식으로 남자, 혹은 여자로 변환시켜보겠습니다.

 

 

앞서 이야기한 것과 같이 주민번호의 뒷 7자리중 첫번째 숫자가 성별을 나타내기에 우선 그 값만 함수를 써서 추출해보겠습니다.

 

ㅁ 우선, LEN 함수를 써서 C열(주민번호)의 전체 셀값의 DATA 길이를 알아보겠습니다. (사전검사 과정)

> 이 작업을 하는 이유는, 엑셀의 바탕 배경색이 글자색과 같거나 혹은 자료를 다운받은 경우, 사람 눈으로는 인식하지 못하는 DATA가 셀값에 입력되어있는 경우가 있기 때문에, 정확한 해당 DATA의 자리수를 알기 위함입니다.

 

=LEN(text) 라는 형식으로, =LEN(C3) 을 하면 14라는 길이가 나오네요. (앞자리 6자리, 하이퍼 1자리, 성별숫자 1자리, *모양 6자리)

 

이 중에, 성별을 나타내는 숫자는 앞(좌측)에서부터 8번째에 기입되어있습니다. 이를 명시하시고..

 

ㅁ 전체 자리수와 성별을 나타내는 위치를 알았으니 다음으로, MID 함수를 써서 C열의 DATA값중 성별을 나타내는 값을 추출하겠습니다.

 

=MID(text,start_num,num_chars) 형식으로 이루어져있습니다.

text는 말그대로 기준값이고, start_num는 내가 원하는 값이 해당 셀에서 몇번째부터 시작하느냐 라는 의미, num_chars는 start_num로 부터 몇번째 단어까지 가져오냐 라는 의미입니다.

(글로 쓰니깐 어렵네요. ^^ 아래를 보시죠)

 

 

우리가 필요한 성별을 나타내는 숫자를 추출하기 위해서는

=MID(C3,8,1)로 결과값으로 1 이 나옵니다.

 

해석을 하자면, C1의 셀값(TEXT)중에서 좌측에서 8번째부터, 1자리값을 가져와라 가 됩니다.

 

cf. 만약, =MID(C2,8,2)로 작성을 하면, 7번째부터 2자리값을 가져와라 라는 의미가 되어서 결과값은 1* 가 됩니다.

 

 

※ LEN 함수와 MID 함수는 추후에 다시 정리토록 하겠습니다.

 

 

자. 이제 상기 MID 함수를 바탕으로 최종 CHOOSE 함수를 작성해보겠습니다.

 

index_num : 남녀 성별을 나타내는 1, 2, 3, 4 값을 가져오게 해야하므로, MID(C3,8,1)이 됩니다.

value1index_num 값이 1을 나타내는 경우 변환될 값이므로 "남자"가 되며,

value2index_num 값이 2을 나타내는 경우 변환될 값이므로 "여자"가 되며,

value3index_num 값이 3을 나타내는 경우 변환될 값이므로 ""가 되며, ('00년 이후 출생자)

value4index_num 값이 4을 나타내는 경우 변환될 값이므로 "여자"가 됩니다. ('00년 이후 출생자)

 

따라서 최종 수식은 =CHOOSE(MID(C3,8,1),"남자","여자","남자","여자") 가 됩니다.

 

 

복습하는 차원에서 정리하자면...

1. =CHOOSE(index_num,value1,value2,...,value254) 의 구성으로,

index_numvalue 값중에 몇번째 값으로 변환시킬지 일종의 좌표

valueindex_num에서 지정한 좌표에 해당되는 최종 변환 값을 의미합니다.

> 예시1. =CHOOSE(2,"사랑","운명",...) 의 결과값은 value 2번째 값인 "운명"

   예시2. =CHOOSE(4,"tell","me","some","thing") 의 결과값은 value 4번째 값인 "thing"

   예시3. =CHOOSE(5,"홍","길","동") 의 결과값은 #value!, 에러입니다.

value값은 3개밖에 없어서 5번째 값이 없기때문에. (주의 사항)

2. value 값은 최대 254개까지 지정 가능

 

 

 

※ 연습해보기

각 순위에 따른 선물을 기재하시오.

> 자료 : CHOOSE.xlsx

반응형

'엑셀(excel)' 카테고리의 다른 글

엑셀 SUMIF 함수  (0) 2015.06.11
엑셀 IF 함수  (0) 2015.06.11
엑셀 INDEX, MATCH 함수 응용 - VLOOKUP 효과 내기  (0) 2015.06.04
엑셀 VLOOKUP 함수  (0) 2015.06.03
엑셀 Match 함수  (2) 2015.06.01