찾기/참조 함수 글을 포스팅할 때 CHOOSE 함수를 빼먹었다는 걸 얼마전에 알았다;;

 

그래서 CHOOSE 함수만 따로 정리해본다.

CHOOSE 함수는 숫자가 1~n일 경우 해당하는 값을 표시할 수 있는 함수다.

중첩 IF 함수를 사용해서도 같은 결과를 얻을 수 있다.

 

 

 

=CHOOSE(인덱스 번호, 값1, 값2, 값3, 값4......)

(인덱스 번호란? 1부터 시작하는 작은 정수를 의미한다. 음수나 0은 포함되지 않는다.)

인덱스 번호와 '값' 다음에 나오는 숫자가 일치하는 값이 표시된다. 즉, 인덱스 번호가 2라면 '값2'가 표시되고, 3이라면 '값3'이 표시된다.

 

 

 

CHOOSE 함수를 사용할 경우 유의할 점

 

1. IF 함수와 혼동하여 인덱스 번호가 들어갈 자리에 조건을 쓰면 안된다. (이런 경우를 너무 많이 봤음)

예) 응시번호(B4셀)가 '1'이면 'A'를 표시하고 '2'이면 'B'를 표시하시오.

틀린 경우

=CHOOSE(B4=1,"A",B4=2,"B")

=CHOOSE(B4,1,"A",2,"B")

맞는 경우

=CHOOSE(B4, "A", "B")

2. 인덱스 번호가 6까지 나올 가능성이 있다면 값도 6개를 입력해줘야한다. 예를 들어, 인덱스 번호가 4인데, 값3까지만 입력하면 '#VALUE!' 에러 표시가 나타난다.

틀린 경우

=CHOOSE(3, "A", "B")

맞는 경우

=CHOOSE(3, "A", "B", "C")

 

 

 

 

활용

 

 

문제) 교수의 평가점수가 1등인 사람에게는 보너스를 600,000원, 2등일 경우 400,000원, 3등일 경우 200,000원을 지급하고 나머지는 지급하지 않는다.

 

=CHOOSE(RANK(D6,$D$6:$D$11),600000,400000,200000,0,0,0)

RANK 함수로 순위를 구했다. 순위는 사람이 6명이므로 6까지 나올 가능성이 있다.

그럼 값도 '600000,400000,200000,0,0,0'의 6개를 입력해줘야 모든 결과가 에러 없이 제대로 표시될 수 있다.

 

 

 

 

 

 

추가)

 

CHOOSE 함수로 구할 값이라면 IF 함수로도 구할 수 있다.

위의 문제의 경우는 중첩 IF문을 좀 많이 사용해야 하긴 하지만 구해지긴 구해진다 ㅋ

 

=IF(RANK(D6,$D$6:$D$11)=1,600000,IF(RANK(D6,$D$6:$D$11)=2,400000,IF(RANK(D6,$D$6:$D$11)=3,200000,0)))

 

 

 

 

 

 

 

 

 

Posted by Y&S