IF 함수 ❷ 중첩 IF - 점수를 학점으로 분류하기

등록일 : 2025.08.05 (09:58)  / 조회 : 59
엑셀에서 함수를 사용할 때 한 가지 함수만으로는 원하는 결과를 얻을 수 없는 경우가 많습니다. 두 가지, 세 가지 함수를 사용할 수밖에 없는 상황이 빈번하게 발생하죠. 함수 안에서 함수를 사용하는 경우, 그 함수 안에서 다시 함수를 사용해야 하는 경우도 자주 발생합니다. 그 대표적인 경우가 바로 IF 함수 안에 다시 IF 함수를 사용하는 경우입니다.

이번 강좌는 IF 함수 사용법을 알고 있다는 전제하에 진행되기 때문에 모르시는 분들은 아래 강좌를 보신 후 돌아와 주세요

IF함수 예제 결과.png

IF 함수 ❶ 비교 연산자와 IF 함수 사용법

엑셀의 IF 함수 사용법을 설명합니다. 비교 연산자가 어떤 결과를 반영하는지 확인하고 IF 함수에 적용해 봅니다. IF 함수의 인수들에 관해 알아보고 예제를 통해 IF 함수를 사용해 봅니다.

https://flylight.kr/






중첩 IF 예제

예제 파일은 어떤 시험 결과를 학점으로 분류하기 위한 표입니다. 학생별 점수를 90점 이상은 A, 90점 미만 80점 이상은 B, 80점 미만 70점 이상은 C, 70점 미만은 D 학점으로 구분하려는 것입니다. 즉 4가지 경우로 점수를 분류하려는 것이죠. 얼핏 보면 "이건 IF로 안돼"라고 생각할 수 있습니다. 왜냐하면 IF는 참과 거짓으로만 경우의 수를 따지기 때문에 2가지 경우만 구분할 수 있습니다. "90점 이상이거나 아니거나" 이런 식이 되겠죠.

하지만 조금 더 생각해 보면 2가지 경우만이 아니라 3가지, 4가지, 5가지... 얼마든지 늘릴 수 있습니다.
아닌 경우를 생각하는 것이죠. 90점 이상이 아닌 경우는 90점 미만만 남습니다. 이것을 다시 "80점 이상이거나 아니거나"로 나누면 90점 미만 80점 이상과 80점 미만만이 남게 되죠. 즉 90 이상, 90 미만~80 이상, 80 미만이 구분된 것입니다. 3가지 경우로 늘린 것이죠.
다시 80점 미만을 "70점 이상이거나 아니거나"로 나누면, 90 이상, 90 미만~80 이상, 80 미만~70 이상, 70 미만으로 나누어져서 총 4가지 경우로 만들 수 있습니다.
정리하면, 아닌 경우, 즉 조건이 거짓인 경우 계속해서 IF 함수를 사용한다면 2가지 경우를 3가지, 4가지, 5가지... 로 늘릴 수 있다는 얘기가 됩니다.


중첩 IF의 이해

그림처럼 IF 함수의 3번째 인수 value_if_false 자리를 또 IF 함수로 대치하는 것이죠. 그러면 2가지 경우에서 3가지 경우로 늘어나게 되고, IF 함수 안에 2번째 IF의 value_if_false를 다시 IF 함수로 사용하면 4가지 경우가 됩니다. 같은 방법으로 계속 IF 함수를 중첩해서 사용하면 5가지, 6가지 경우도 충분히 만들 수 있습니다.





중첩 IF의 적용
  1. 학점의 첫 셀(E5)을 클릭하여 선택합니다.
  2. 수식 입력줄에서 수식을 작성합니다.
    1. 수식의 시작은 "="부터였습니다. "="를 입력합니다. => =
    2. IF 함수를 작성하고 탭키를 눌러 함수명을 작성합니다. => =IF(
    3. 첫 번째 IF 함수의 첫 번째 인수 logical_test(조건)를 작성합니다. 점수 셀(D5)은 참조하고 나머지는 입력합니다.  => =IF(D5>=90
    4. 쉼표로 구분하고 두 번째 인수 value_if_true를 작성합니다. 90점 이상은 "A"  => =IF(D5>=90,"A"
    5. 쉼표로 구분하고 세 번째 인수 value_if_false 자리에 다시 IF 함수를 작성합니다.  => =IF(D5>=90,"A",IF(
    6. 두 번째 IF 함수의 logical_test를 작성합니다. 점수 셀(D5)는 역시 참조로  => =IF(D5>=90,"A",IF(D5>=80
    7. 쉼표로 구분하고 두 번째 IF의 value_if_true를 작성합니다. 90점 미만 중에 80점 이상이 되니 "B"  => =IF(D5>=90,"A",IF(D5>=80,"B"
    8. 쉼표로 구분, 세 번째 인수 value_if_false 자리에 다시 IF 함수를 작성합니다.  => =IF(D5>=90,"A",IF(D5>=80,"B",IF(
    9. 세 번째 IF 함수의 logical_test를 작성. 점수 셀(D5)는 역시 참조.  => =IF(D5>=90,"A",IF(D5>=80,"B",IF(D5>=70
    10. 쉼표로 구분하고 세 번째 IF의 value_if_true  작성. 80점 미만 중에 70점 이상이 되니 "C"  => =IF(D5>=90,"A",IF(D5>=80,"B",IF(D5>=70,"C"
    11. 쉼표로 구분하고, 세 번째 인수 value_if_false 작성("D"). 남은 것은 70점 미만만 남기 때문에 다시 IF 함수를 사용할 필요 없습니다. => =IF(D5>=90,"A",IF(D5>=80,"B",IF(D5>=70,"C","D"
    12. IF 안에 IF, 그 IF 안에 IF가 사용된 형태가 되었습니다. 이렇게 중첩 IF를 사용할 때 주의해야 하는 것이 제일 끝 닫힌 괄호입니다. IF가 한번 사용했을 때는 닫힌 괄호는 당연히 1개입니다. 하지만 지금처럼 중첩하게 되면 닫힌 괄호는 당연한 얘기겠지만 IF가 늘어나는 수에 맞게 하나씩 늘어나야 합니다. 현재 IF를 3번 사용했으니 닫힌 괄호도 3개가 돼야 한다는 것이죠. 닫힌 괄호 3개를 입력하고 엔터로 E5셀의 값을 완성합니다.  => =IF(D5>=90,"A",IF(D5>=80,"B",IF(D5>=70,"C","D")))
  3. 다시 E5셀을 클릭하여 선택하고 E14셀까지 자동 채우기 합니다.
  4. E5셀로 자동 채우기 했으므로 E14셀까지 E5셀의 서식이 복사되었습니다. 최종, 자동 채우기 옵션 버튼을 클릭하고 서식 없이 채우기를 클릭합니다. => 원래의 서식으로 돌아갑니다.

중첩 IF의 적용 결과

점수에 따른 학점이 잘 분류된 결과를 얻을 수 있습니다.





아마도 처음 해보신 분들은 한 번에 성공하기 어려울 것입니다. 저도 그랬으니까요? 한 번에 성공하셨다면 센스쟁이로 인정하겠습니다.
위처럼 진행했는데도 오류가 나거나 잘못된 결과가 나왔다면, 대부분 오타가 났을 확률이 높습니다. 쉼표를 입력하지 않았거나, 점으로 입력했거나, 닫힌 괄호를 빼 먹었거나, 부등호를 잘못 사용했거나... 다시 잘 확인해 보시기 바랍니다.
사실 이론적으로는 간단합니다. 거짓인 경우를 IF 함수를 통해 하나씩 늘려간 것이죠. 나머지는 함수 작성 시 규칙을 지키기만 하면 틀릴 수 없는 문제입니다.
잘 생각하시면서 진행해 보세요. 어느 순간 쉽게 느껴지게 됩니다.


첨부파일

중첩if.xlsx

(11.5 Kb)save_alt

다음글

윤슬로

462025.08.05
이전글

윤슬로

622025.08.04
코멘트 의견글 입니다. ()

굵게 밑줄 기울임 취소선 글자색 배경색 윗첨자 아래첨자

왼쪽 정렬 가운데 정렬 오른쪽 정렬 양쪽 정렬

배경색 윗첨자 아래첨자 밑줄 기울임 취소선

url og table

html

줄이기 늘리기