엑셀 choose 함수를 쉽게 설명하기 위해 한가지 비유를 들어보겠습니다
엘레베이터에는 올라갈 층수에 대한 버튼이 있습니다. ①을 누르면 1층으로 올라가고 ⑪을 누르면 11층으로 올라가죠.
이건 누른 버튼의 숫자에 해당하는 층수로 엘레베이터가 올라가게끔 프로그래머가 미리 프로그래밍 해놨기 때문입니다.
엘레베이터의 구체적인 메커니즘을 따져보면 "눌려진 버튼 검사 -> 버튼의 숫자에 맞는 층까지 운행" 이렇게 프로그램된 것이죠. 만약 프로그래머가 ①이 눌렸을 때 15층으로 가도록 프로그래밍 한다면 15층으로 가겠죠. 파란 글씨의 행동은 프로그래머가 정할 수 있습니다.
이와 비슷한 맥락으로 엑셀 CHOOSE 함수를 이해할 수 있습니다.
엑셀 CHOOSE 함수
앞선 든 비유를 CHOOSE 함수로 표현해 보겠습니다.
CHOOSE(인수1, 인수2, 인수3, ....)
CHOOSE함수의 인수1에 해당하는 값은 눌린 버튼에 비유될 수 있다.
인수2 는 숫자 1에 매치되는 반환값이다. 쉽게말해 인수1(눌린 버튼)의 값이 1이면 인수2가 반환되고 인수1(눌린 버튼)의 값이 2라면 인수3이 반환된다. 인수99에는 인수1의 값이 98 일 때 반환될 값이 정해져 있는 것이다.
위 예제는 셀 B3의 값이 1이므로 인수2에 해당하는 go 1층이라는 텍스트가 반환되었음을 보여준다. 나머지 칸도 자동채우기를 해서 결과를 확인해 보자.
인수1(B3)이 상대참조로 되어 있다는 것도 기억해 두자.
choose 함수에 대한 또 다른 예제를 살펴보도록 하겠습니다.
- CHOOSE 함수로 주민번호로 성별 알아내기
주민등록번호의 뒤쪽 7자리가 1 또는 3으로 시작하면 남자, 2 또는 4로 시작하면 여자임을 나타냅니다. (※ 2000년 이후 출생부터는 3이 남자, 4가 여자입니다.)
그렇다면 CHOOSE 함수로 어떻게 성별을 알아낼 수 있을까요?
바로 주민번호 뒷자리의 첫 번째 숫자를 검사한 후에 앞의 예제처럼 1, 2, 3, 4에 대응되는 반환값을 인수2, 인수3, 인수4, 인수5에 지정해주기만 하면 됩니다.
MID(B3, 8, 1)
설명 : B3의 텍스트에서 문자를 잘라내어 반환한다. 잘라내는 방법은 두번째 인수값인 8번째 부터 세 번째 인수값인 1만큼 잘라낸다.
따라서 위 식은 B3의 텍스트 에서 8번째 값인 1부터 시작해서 1개만큼 잘라내므로 1을 반환한다. 이 값은 주민번호에서 성별을 나타내는 값에 해당하는 위치다.
- 순위에 맞는 등급 정하기
RANK 함수를 알고 있다면 앞선 예제들과 별반 다르지 않습니다. 어려움 없이 이해할 수 있으므로 자세한 설명은 패스하고RANK 함수에 대한 설명은 다음을 참고시길 바랍니다.