IF 함수 중첩 사용 – 조건이 하나로는 부족할 때 조건 추가하기

엑셀에서 조건에 따라 다른 결과를 표시하려면 IF 함수를 사용한다. 조건이 하나라면 IF 함수 기본 구성으로 충분하지만, 조건이 두개이상인 경우도 많다. 이럴 땐 IF 함수를 중첩 사용해 수식을 구성하면 된다.

IF 함수를 중첩해 사용하면 IF 함수안에서 또 다른 IF 함수를 인수로 사용하는 방식으로 2개이상의 조건에 대한 분기 처리를 가능하다.

이번 글에서는 IF 함수 중첩 사용시 기본 수식 구성과 예제를 통한 사용방법을 알아본다.


IF 함수 중첩 사용 기본 수식 구성

일단 IF 함수의 기본 수식 구성은 아래와 같다.

=IF(논리_조건, 참일_때_값, 거짓일_때_값)

기본적으로 IF 함수는 첫번째 인수인 논리 조건을 만족할 때 참일 때 값을 반환하고, 그렇지 않은 경우 거짓일 때 값을 반환, 즉 셀에 표시하게 된다.


두개의 IF 함수 중첩 사용

IF 함수를 중첩 사용한다는 것은 IF 함수로 구성된 수식안에 인수로 IF 함수를 삽입하는 것을 의미한다.

논리 조건 뒤의 두 인수 즉, 참일 때 값이나 거짓일때 값 대신 IF 함수를 추가로 삽입해 두가지 조건에 대해 참,거짓을 구분할 수 있다.

수식의 기본 구성은 아래와 같다.

=IF(조건1, 결과1, IF(조건2, 결과2, 결과3))

이 경우 조건1을 만족하는 경우 결과1, 그렇지 않은 경우 조건2를 만족하는지 검사해 만족하는 경우 결과2, 두가지 조건 모두 만족하지 않을 때 결과3을 반환하게 된다.

참일 때 값에 IF 함수를 삽입할 수도 있다.

=IF(조건1, IF(조건2, 결과2, 결과3), 결과1)

이렇게 수식을 구성하는 경우 조건1을 만족하는 경우 다시 조건2에 대해 참, 거짓을 가리게 되며 조건1과 조건2 모두 만족하는 경우 결과2를 반환하게 된다.


중첩 횟수는 이론적으론 무제한

IF 함수는 아래처럼 여러번 중첩해 사용할 수 있다.

=IF(조건1, 결과1, IF(조건2, 결과2, IF(조건3, 결과3, IF(조건4, 결과4, 기본값))))

IF 함수 자체는 중첩 사용 횟수에 제한이 없다. 이론적으로는 무제한으로 중첩해 사용할 수 있다는 말이다.

하지만 위에서 보는 것처럼 중첩횟수가 늘어날수록 수식 구성이 복잡해지고, 한눈에 알아보기 어려워져 오류 발생가능성이 높아지고, 나중에 수식을 수정하기 어려워진다.

IF 함수 중첩은 수식의 가독성이 유지되는 범위까지만 사용하는 것이 좋다.


예제를 통해 본 IF 함수 중첩 사용방법

간단한 예제를 통해 IF 함수의 중첩 사용방법을 알아보자.


예제파일 다운로드

여기서 사용할 예제파일은 아래 버튼을 눌러 다운로드 받을 수 있다.

📥 예제파일 다운로드

예제는 상품의 중량에 따라 등급을 매기는 내용이다.

IF 함수 중첩 사용 예제 파일

예제 파일의 상품들을 중량에 따라 8kg 이상은 “상”, 5kg 이상은 “중”,2kg 이상은 “하”, 2kg 미만은 “불합격” 이렇게 총 4개의 등급으로 나누어보자.


중량에 따라 등급 매기기

IF 함수를 중첩해 사용할 때는 참 또는 거짓 인수 자리, 혹은 양쪽 모두에 IF 함수를 넣는 방식으로 구성할 수 있다.

수식의 구조 자체는 자유롭지만, 보통은 거짓 인수 자리에 IF 함수를 중첩하는 방식이 더 직관적이며 유지 관리도 편리하다. 특히 조건이 여러 단계로 분기되는 경우, 이 구조가 가독성과 실용성 면에서 유리하다.

이번 예제에서는 상품의 중량(kg)에 따라 등급을 판별하는 수식을 작성해볼 것이다. 중량 기준은 다음과 같다:

  • 8kg 이상: 상
  • 5kg 이상 8kg 미만: 중
  • 2kg 이상 5kg 미만: 하
  • 2kg 미만: 불합격

우선 예제 파일에서 등급이 표시될 D4셀을 선택한 후, 수식 입력을 시작해보자.

IF 함수 중첩 사용 예시


첫 번째 조건은 상품이 8kg 이상일 때이다. 이 경우 결과로 “상”을 반환하고, 그렇지 않은 경우에는 다음 조건을 평가하기 위해 IF 함수를 다시 중첩한다. 따라서 아래와 같이 입력한다.

=if(C4>=8,"",if(
IF 함수 중첩 사용 예시 - 첫 번째 조건은 상품이 8kg 이상일 때이다. 이 경우 결과로 "상"을 반환하고, 그렇지 않은 경우에는 다음 조건을 평가하기 위해 IF 함수를 다시 중첩한다. 따라서 예시와 같이 입력한다.

여기서 잠깐! 반환할 값이 숫자가 아닌 텍스트일 경우 “상”과 같이 따옴표로 감싸야 한다.


이제 첫 번째 조건에 대해 처리했으니, 이제 나머지 조건들도 같은 방식으로 거짓 인수 자리에 IF 함수를 반복해서 중첩하면 된다.

두 번째 조건은 5kg 이상일 때 “중”을 반환하고, 그렇지 않으면 다시 IF 함수를 중첩해 2kg 이상일 경우 “하”를, 나머지는 “불합격”을 반환하도록 구성한다.

최종적으로 구성된 수식은 다음과 같다.

=IF(C4>=8,"",IF(C4>=5,"",IF(C4>=2,"","불합격")))
IF 함수 중첩 사용으로 구성된 수식 예시

여기서도 잠깐! IF 함수를 3번 중첩해 사용했기 때문에 괄호도 3개 열려 있다. 마지막에 열어놓은 괄호만큼 닫아주어야 한다.


수식을 입력하고 엔터를 누르면 아래처럼 입력한 조건에 따라 등급이 매겨지는 걸 확인할 수 있다.

수식을 입력하고 엔터를 누르면 아래처럼 입력한 조건에 따라 등급이 매겨지는 걸 확인할 수 있다.


이제 입력한 수식을 다른 상품의 등급셀에도 채워넣으면 된다.

수식이 채워진 D4셀의 오른쪽 아래 모서리를 마우스로 클릭해 상품10의 등급이 입력될 셀인 D13까지 드래그하거나

수식이 채워진 D4셀의 오른쪽 아래 모서리를 마우스로 클릭해 상품10의 등급이 입력될 셀인 D13까지 드래그해 나머지 셀에 수식을 채우는 모습

D4 셀이 선택된 상태에서 shift 키를 누른채 D13을 클릭해 등급셀을 일괄 선택한 후 control(맥에선 command) + D 를 누르면

D4 셀이 선택된 상태에서 shift 키를 누른채 D13을 클릭해 등급셀을 일괄 선택한 후 control(맥에선 command) + D 를 눌러 수식을 채울 수도 있다.

나머지 등급칸에 수식을 채울 수 있다.


IF 함수 중첩 사용시 자주하는 실수


텍스트에 따옴표 누락

위에서처럼 상,중,하 식으로 텍스트 값을 반환받으려고 하는 경우 반환될 텍스트는 따옴표””로 감싸줘야 한다. 비단 IF 함수에서뿐만 아니라, 엑셀에서는 텍스트로 값을 반환받으려는 모든 함수와 수식 구성에서 반환될 텍스트값은 따옴표로 감싸주어야 한다.


괄호 짝 맞춤 실수

중첩된 IF 함수가 많아질수록 ) 괄호가 헷갈리기 쉽다. 괄호 개수가 맞지 않으면 #VALUE! 오류가 발생하거나, 수식이 제대로 작동하지 않을 수 있다.

수식을 입력할 때 각각의 IF 함수마다 열었던 괄고가 제대로 닫혔는지 잘 확인해야 한다.


조건의 순서 혼동

IF 함수 중첩 사용은 수식의 길이가 길어지기 때문에 조건의 배치나 순서가 헷갈리는 경우가 많다. 조건이 순서대로 배치되지 않은 경우 뒤에 배치된 조건에 도달하지 못하고 무시되는 일이 생길 수 있다.

예를 들어 =if(C4>=2,”하”,if(C4>=8,”상”……처럼 입력할 경우 8보다 큰 값이라도 “하”가 반환된다. 따라서 조건에 입력할 값의 크기에 따라 순서대로 배치해야 한다.


수식의 가독성

IF 함수 중첩이 깊어질수록 수식은 복잡해지고 알아보기 어려워진다.

따라서 가능하면 IF 함수 중첩 사용은 3~4단계 이하로 구성하고, 그 이상일 경우 IFS 함수나 참조테이블 + VLOOKUP 구조로 수식을 구성하는 것이 좋다.


정리 요약

  • IF 함수는 참/거짓에 따라 값을 다르게 반환하는 기본 구조이지만, 조건이 여러 개인 경우 중첩을 통해 다양한 결과를 처리할 수 있다.
  • 거짓 인수 자리에 중첩 IF 함수를 연결하는 방식이 가장 일반적이며, 가독성과 유지 관리에 유리하다.
  • 조건은 값이 큰 순서부터 배치하고, 괄호 개수와 문자열 따옴표에 항상 유의해야 한다.
  • 중첩이 많아질 경우 IFS 함수나 LOOKUP 계열 함수로 대체하는 것도 고려할 수 있다.