엑셀 IFS 함수는 IF 함수에 S가 붙은 형태입니다. S는 영어에서 복수형일 때 붙으므로 IF가 여러 개 있는... 조건을 여러 개를 판별하고 값을 구할 수 있는 함수로 이해할 수 있습니다.
여러 조건을 판별하고 값을 구할 때 IF 함수로도 가능하지만 IF 함수가 중첩되므로 수식이 복잡해지고 사용하기가 까다롭습니다. 대신 IFS 함수로 간단하고 알아보기 쉽게 수식을 작성할 수 있습니다.
IF 함수에 대해서는는 다음 링크를 참고하세요.
[엑셀 IF 함수 사용법]
구문(Syntax)
IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], [logical_test3, value_if_true3],…)
여러 조건을 판별하고 해당 조건을 만족하는 값을 반환한다.
인수 :
- logical_test1 : 첫 번째 판별조건
- value_if_true1 : 첫 번째 조건이 참(TRUE)이면 반환할 값
- logical_test2 : 두 번째 판별 조건
- value_if_true2 : 두 번째 조건이 참(TRUE)이면 반환할 값
- logical_test3 : 세 번째 판별 조건
- value_if_true3 : 세 번째 조건이 참(TRUE)이면 반환할 값
판별 조건은 총 127개까지 설정할 수 있다.
사용 예
다음과 같이 점수 구간별로 성적 등급을 정한다고 했을 때 IFS 함수로 점수별 성적 등급을 구해보겠습니다.
점수구간 | 등급 |
90 ~100 | A |
80 ~ 89 | B |
70 ~ 79 | C |
60 ~ 69 | D |
0 ~ 59 | F |
1) 성적 등급 산출하기
학생별 점수에 해당하는 성적 등급을 산출하려면 [D15] 셀에 다음 수식을 입력합니다.
=IFS(C15>=90,"A",C15>=80,"B",C15>=70,"C",C15>=60,"D",C15>=0,"F")
수식 풀이
[C15] 셀에 입력된 점수가 90점보다 크거나 같은 조건을 만족하면 'A'를 반환하고,[C15] 셀에 입력된 점수가 80점보다 크거나 같은 조건을 만족하면 'B'를 반환하고,
[C15] 셀에 입력된 점수가 70점보다 크거나 같은 조건을 만족하면 'C'를 반환 하는 방식으로 'F' 등급까지 점수별 등급을 구해줍니다.
마지막의 이무성 학생의 성적이 음수로 입력되어 오류가 발생했고 나머지 학생들의 성적 등급은 정상적으로 산출되었습니다.
2) 성적 등급 산출시 오류 처리하기
앞에서 살펴본 수식에서 이무성 학생의 경우 성적이 음수로 입력되어 오류가 발생했습니다.
=IFS(C15>=90,"A",C15>=80,"B",C15>=70,"C",C15>=60,"D",C15>=0,"F")
=> 범위에 없는 값을 입력하면 #N/A 오류 발생
위의 수식은 조건을 만족할 때만(참일 때) 결과를 반환하도록 작성되었으므로 조건을 하나도 만족하지 못하면 경우가 생기면 #N/A오류가 발생합니다.
이 문제점을 보완하기 위해서 앞의 조건들을 하나도 만족시키지 못했을 경우에는 다음과 같이 '값오류'를 표시할 수 있도록 수식을 수정합니다.
=IFS(C24>=90,"A",C24>=80,"B",C24>=70,"C",C24>=60,"D",C24>=0,"F",TRUE,"값오류")
위의 수식과 동일한 형태이지만 마지막에 TRUE,"값오류" 부분이 추가되었습니다.
TRUE이면 '값오류'를 반환하라"로 해석할 수 있는데 앞의 조건들을 하나도 만족하지 못하면(즉, 모두 FALSE이면) 무조건(TRUE이므로 무조건 만족함) '값오류'를 반환하라는 의미입니다.
관련 글