본문 바로가기

EXCEL/함수

엑셀 CHOOSE함수 vs IF중첩함수(성적표 수우미양가 넣기)

흔히 성적표에서 점수로 수우미양가 또는 ABCDF를 표기하기 위해 IF 중첩함수를 사용합니다.


그런데 IF함수를 반복적으로 쓰다보면 수식이 길어지고 수식이 길어지니 실수도 생기고 헤깔리기 까지 합니다.

이런 경우 CHOOSE 함수를 사용하면 보다 간단히 수식을 입력할 수 있습니다.


간단히 CHOOSE 함수의 역할과 복잡한 중첩함수를 간단히 입력하는 방법에 대해 설명 드립니다.



 CHOOSE 함수


index_num을 사용하여 인수 값 목록에서 값을 반환합니다.


수식 = CHOOSE(index_num, value1, [value2], ...)



☞ CHOOSE 함수의 인수


1. index_num : 인수가 선택되는 값을 지정하며, index_num은 1과 254 사이의 숫자이거나 수식 또는 셀 참조여야 합니다.(수식 또는 셀 참조 의 경우 반환하는 값이 1~254 사이의 숫자 이어야 함)

2. index_num가 배열인 경우 CHOOSE 함수 계산시 모든 값이 계산됩니다.

3. value : 단일 값(예 : "수", "우", "미", "양", "가")일 수도 있고 범위에 대한 참조(예 : A1, A2, A3)일 수도 있습니다.


 성적구하기(IF 중첩함수 vs CHOOSE 배열수식)



☞ 수우미양가 수식 비교

① = IF(C4>=90 , "수" , IF(C4>=80 , "우" , IF(C4>=70 , "미" , IF(C4>=60 , "양" , "가"))))

② = CHOOSE(SUM((C4>={90 , 80 , 70 , 60 , 0})*1) , "가" , "양" , "미" , "우" , "수")


수식 길이로는 큰 차이가 없어보입니다. 그래서 조건을 좀더 세분화 해보겠습니다.


☞ ABCDF 수식비교

③ = IF(C4>=95 , "A+" , IF(C4>=90 , "A" , IF(C4>=85 , "B+" , IF(C4>=80 , "B" , IF(C4>=75 , "C+" , IF(C4>=70 , "C" , IF(C4>=65 , "D+" , IF(C4>=60 , "D" , "F"))))))))

④ = CHOOSE(SUM((C4>={95 , 90 , 85 , 80 , 75 , 70 , 65 , 60 , 0})*1) , "F" , "D" , "D+" , "C" , "C+" , "B" , "B+" , "A" , "A+")


중첩함수가 길어질 수록 마지막에 ) 가 많아지고 수식 입력시 오류가 발생하며, 참조셀의 변경이 있을 때도 번거롭습니다.


☞ 수식설명(CHOOSE 함수)

1. SUM 배열수식 : { }로 배열을 만들고 점수가 배열의 조건의 맞으면 TRUE(1), 틀리면 FALSE(0)를 반환하고 그 값들의 합을 반환(여기서 *1을 한 이유는 TRUE와 FALSE 값을 숫자로 바꾸기 위함)

2. CHOOSE 함수 : SUM 배열수식의 반환값으로 인수 값 목록에서 값을 반환

3. IF 함수는 별도로 설명 하지 않겠습니다.


 위 비교는 어느것이 더 좋다 나쁘다 비교하는 것이 아니며 판단 조건이 길어지면 IF 중첩함수를 사용하는 것 보다 CHOOSE 함수를 사용하는 것이 간단 할 수 있습니다. Index_num에 배열수식을 사용하여 중첩함수를 간단히  할수 있다는 정도만 알아두시고 필요시 응용해보세요. ^^


※ IF함수 주업사용대 대한 주의사항(출처 : 엑셀 도움말)

Excel에는 서로 다른 IF 함수를 64개 중첩할 수 있지만 그렇게 하는 것은 전혀 바람직하지 않습니다. 다음과 같은 이유 때문입니다.

  • 여러 IF 문을 사용하려면 해당 문들을 정확하게 작성하고 각 조건에 따라 논리가 정확하게 끝까지 계산되도록 고심해야 하기 때문입니다. IF 문을 100% 정확하게 중첩하지 않으면 수식은 그 당시 75% 효과는 있지만 예상치 못한 결과를 25% 반환할 수 있습니다. 안타깝게도 이 25% 결과가 발생한 것을 거의 알아차리지 못합니다.
  • 여러 개의 IF 문은 그대로 사용하기가 아주 어려울 수 있기 때문입니다. 특히 사용자(더 안 좋은 경우는 다른 사람)가 나중에 그 문의 의도를 파악하려고 할 때 특히 그렇습니다.
  • 여러 IF 문이 필요 여러 열기 괄호와 닫는 괄호 ()가 되 면 어떻게 복잡 한 수식에 따라 관리 하기 어려운 될 수 있습니다.



 첨부파일 보기