IFS 함수 VS IF 함수 중첩
이전글에서 입력된 조건식의 참, 거짓을 판단하는 함수 IF를 배웠습니다.
이번에는 IF문을 중첩하여 사용하여 다중 조건의 참, 거짓을 판단하는 함수 IFS를 배워보겠습니다.
IFS 함수는 엑셀 2016 버전 이상에서 사용 가능합니다.
다중 비교 함수 IFS 를 설명하기 위해 다중 조건 비교가 필요한 예제를 살펴보겠습니다.
아래의 그림을 보신 후 설명을 읽어보시기 바랍니다.
이전에 많이 사용했던 예제를 그대로 사용하겠습니다.
이전 예제에서 추가된 부분은 I 열에 추가된 등급 항목입니다.
등급은, 평균 값이 90점 이상인 경우 “수”, 80점 이상인 경우 “우”, 70점 이상인 경우 “미”, 60점 이상인 경우 “양”, 60점 미만인 경우 “가” 입니다.
학생의 수가 여섯 명 이라면 위의 그림 처럼 수, 우, 미, 양, 가 등급을 직접 입력하는 것이 빠를겁니다.
하지만, 이렇게 입력하는 것은 엑셀을 사용한다고 보기 어려운 방식입니다. (워드를 사용하는 것과 다름 없습니다.)
조건에 따라 등급을 부여하기 위해 함수 IF를 사용해야 합니다.
I3 셀에 IF 함수를 사용해서 문제를 해결해보겠습니다.
I3 셀에 함수 수식 =IF(H3>=90,”수”,”우”) 을 입력합니다. (단일 IF 함수 사용)
위의 IF 함수 수식 으로는 문제를 완벽히 해결할 수 없습니다.
평균 점수가 90점 이상인 경우에 “수” 는 정상적으로 출력되지만, 나머지(조건식이 거짓인) 경우는 모두 “우” 가 출력됩니다.
우연하게도 80점 이상인 이다혜 학생의 경우 “우” 로 출력되었지만, 정상적으로 얻은 결과는 아닙니다.
IF 함수는 한 번에 하나의 조건식에 대한 비교를 하고, 참과 거짓인 경우에 출력할 값을 인수로 갖고 있습니다.
하지만, 위의 예제는 조건식이 5개 필요합니다. 즉, 하나의 IF 함수를 사용해서 해결할 수 없는 문제인 것 입니다.
IF 함수 중첩 1단계
IF 함수로 여러개의 조건식을 비교하기 위해서는 함수 중첩을 해야 합니다.
함수를 중첩해서 사용하는 것은 말 그대로 입니다.
=함수(…함수(…함수(…))) 주의할 점은 여는 괄호”(” 와 닫는 괄호 “)” 의 개수가 같아야 한다는 것 입니다.
I3 셀에 IF 함수 중첩 사용해서 문제를 해결해보겠습니다.
I3 셀에 함수 수식 =IF(H3>=90,”수”,IF(H3>=80,”우”,”미”)) 을 입력합니다. (중첩 IF 함수 사용)
H3>=90 조건식이 참(TRUE)인 경우는 “수” 를 출력하지만, 거짓(FALSE)인 경우는 다시 IF 함수를 사용하여 새로운 조건식의 참, 거짓을 판단합니다.
즉, IF 함수의 거짓일 때 출력할 값의 인수에 다시 IF 함수를 입력하여 조건식의 참과 거짓을 판단하게 하는 것 입니다. (처음 접할시 개념이 복잡하게 느껴질 수 있습니다.)
수식 자체만 보면 오히려 어려울 수 있습니다.
수식의 내용을 우리말로 풀어내서 읽어보면 좀 더 쉽게 이해할 수 있습니다.
“평균 점수가 90점 이상인 경우(조건식) / 참(TRUE) 이면 “수” 를 출력하고 / 거짓(FALSE)이면 다시 평균 점수가 80점 이상인지 확인(조건식)해서 참(TRUE) 이면 “우” 를 출력하고 거짓(FALSE)이면 “미” 를 출력한다.”
이 부분을 충분히 이해해야 두 개 이상의 함수의 중첩도 이해할 수 있게 됩니다.
하지만, 위의 IF 함수 수식 으로는 문제를 완벽히 해결할 수 없습니다.
IF 함수를 두 번 중첩 사용했고, 두 개의 조건식에 대한 처리만 가능한 함수 수식 입니다.
평균 점수가 80점 미만인 유지태, 김민정, 박정아, 서경준 학생의 등급은 정상적으로 출력되지 않고 있습니다. (김민정, 박정아 학생의 등급 “미” 는 우연히 맞게 출력된 것일 뿐!)
IF 함수 중첩 2단계
I3 셀에 IF 함수 중첩 단계를 더 사용해서 문제를 해결해보겠습니다.
I3 셀에 함수 수식 =IF(H3>=90,”수”,IF(H3>=80,”우”,IF(H3>=70,”미”,”양”))) 을 입력합니다. (중첩 IF 함수 사용)
위의 IF 함수 수식 으로는 문제를 완벽히 해결할 수 없습니다.
IF 함수를 세 번 중첩 사용했고, 세 개의 조건식에 대한 처리만 가능한 함수 수식 입니다.
예제로 주어진 학생 중 점수가 60점 미만인 학생이 없기 때문에, 결과로 출력된 것들에 문제는 없습니다.
하지만, 아직 60점 미만에 대한 등급을 처리하는 조건식은 없기 때문입니다.
IF 함수 중첩 3단계
I3 셀에 IF 함수 중첩 단계를 더 사용해서 문제를 해결해보겠습니다.
I3 셀에 함수 수식 =IF(H3>=90,”수”,IF(H3>=80,”우”,IF(H3>=70,”미”,IF(H3>=60,”양”,”가”)))) 을 입력합니다. (중첩 IF 함수 사용)
드디어 IF 함수 수식 으로 문제를 완벽히 해결했습니다.
IF 함수를 네 번 중첩 사용했고, 네 개의 조건식에 대한 처리만 가능한 함수 수식 입니다.
함수의 중첩 사용을 통해 복잡한 문제를 해결했습니다.
하지만 I3 셀에 입력된 함수 수식은 점점 더 복잡한 형태로 변해가는 것을 확인할 수 있었습니다.
함수를 중첩하여 사용하면 하나의 함수 수식을 통해 다양한 결과값을 처리할 수 있습니다.
하지만 함수 수식 작성이 쉽지 않다는 단점이 있습니다.
함수의 인수로 다시 함수 수식이 들어가는 것은 엑셀에 익숙한 사용자에게도 쉽지 않은 일 입니다.
수식작성기를 통해 조금 더 쉽게 작성할 수는 있지만 그것도 쉬운 것은 아닙니다.
IFS 함수
복잡한 함수의 중첩을 해결해주는 함수들이 있습니다.
주로 원래의 함수명에 S 가 덧붙여져 사용됩니다. (COUNTIFS, SUMIFS, AVERAGEIFS)
위의 문제를 해결하는데 사용할 함수는 IFS 함수 입니다.
함수는 함수명과 인자로 구성되어 있습니다.
= 를 입력하고 함수명(IFS)를 입력한 후, ( 괄호를 여는 순간 함수 인자를 입력하기 위한 도움말이 나타납니다.
위의 그림에서 =IFS( 함수의 사용을 도와주는 도움말이 나타납니다.
함수에 어떤 인자를 입력해야 하는지 알려주는데요, (logical_test1, value_if_true1, …) 의 의미는 아래와 같습니다.
logical_test1 : 참과 거짓을 판단하려는 조건식을 첫 번째 인수로 입력해야 합니다. (필수 입력)
value_if_true1 : 조건식이 참인 경우 출력할 내용을 두 번째 인수를 입력해야 합니다. (필수 입력)
… : 조건식과 조건식이 참인 경우 출력할 내용을 쌍으로 계속해서 입력할 수 있습니다. (선택 입력)
I4 셀에 =IFS(H4>=90,”수”,H4>=80,”우”,H4>=70,”미”,H4>=60,”양”,H4<60,”가”) 라고 함수 수식을 입력합니다.
그러면 결과값 “우” 가 출력됩니다.
IFS 함수의 첫 번째 조건식 부터 비교를 시작합니다.
첫 번째 조건식 H4>=90 이 거짓(FALSE) 이므로, 두 번째 조건식 H4>=80 을 비교합니다.
이다혜 학생의 평균 점수 H4 셀의 값이 80 이고 IFS 함수의 두 번째 조건식 비교시 참(TRUE) 이 되므로 “우” 가 출력되는 것 입니다.
IF 함수 중첩, IFS 함수 사용시 왼쪽의 조건식 부터 참(TRUE)/거짓(FALSE) 를 비교하고 참이 되는 순간 오른쪽에 남은 조건식은 비교하지 않고 무시합니다.
따라서 두 번째 조건식이 참인 경우에 출력되는 “우” 가 출력된 것 입니다.
IF 함수 중첩 VS IFS 함수 비교
IF 함수 중첩 사용과 IFS 함수 사용의 차이점을 살펴보겠습니다.
IF 함수 중첩은 총 네 개의 IF 함수가 중첩 사용 되었습니다. VS IFS 함수는 한 개의 IFS 함수만 사용 되었습니다.
IF 함수 중첩 함수 수식을 입력하기 위해 여는 괄호 “(” 네 번, 닫는 괄호 “)” 네 번 쌍으로 사용 되었습니다. VS IFS 함수는 한 개의 여는 괄호 “(“, 닫는 괄호 “)” 가 사용 되었습니다.
IF 함수 중첩은 마지막 IF 함수 에서 모든 조건식이 거짓(FALSE) 인 경우 값 처리가 가능합니다. VS IFS 함수는 각 조건식이 참인 경우에 대해서만 값 처리가 가능합니다.
IFS 함수가 IF 함수를 중첩해서 사용하는 대부분의 경우에 대해 대체를 할 수 있을 것 입니다.
하지만 모든 경우에 대체가 가능한 것은 아닙니다.
위의 차이점을 잘 읽어보면 어떤 경우에 대체가 불가능할지 알 수 있습니다.
IFS 함수는 모든 조건식이 거짓인 경우에 출력한 값을 설정하는데 문제가 있을 수 있습니다. 경험을 통해 알게 되는 부분 입니다.
각자 간단한 예제를 만들어 사용법을 익히기 바랍니다.
엑셀에 관한 궁금증은 Microsoft Office 도움말 에서 해결할 수 있습니다.