숫자나 텍스트 조건에 따라 결과를 다르게 보여주고 싶을 때 가장 먼저 배우는 함수가 IF입니다. 엑셀 중첩 IF 함수까지 익혀두면 조건이 2개, 3개로 늘어나도 하나의 수식 안에서 한 번에 처리할 수 있습니다.
이 글에서는 IF 함수의 기본 구조부터, 조건을 3개 이상 겹쳐 쓰는 중첩 IF, 그리고 중첩이 복잡해질 때 대신 쓸 수 있는 함수까지 예제와 함께 정리합니다.
목차
IF 함수 기본 구조
IF 함수는 =IF(조건, 참일 때 값, 거짓일 때 값) 구조로 작성합니다. 예를 들어 =IF(A1>=60, "합격", "불합격")을 입력하면 A1 셀 값이 60 이상이면 ‘합격’, 아니면 ‘불합격’이 표시됩니다. 참 값과 거짓 값 자리에는 숫자나 텍스트뿐 아니라 다른 함수도 그대로 넣을 수 있어서, 간단한 계산식을 결과값 자리에 바로 끼워 넣는 것도 가능합니다.
조건에는 >, <, =, >=, <=, <>(다름) 등의 비교 연산자를 사용할 수 있습니다.
엑셀 중첩 IF 함수로 조건 3개 이상 처리하기
점수에 따라 A, B, C, D 등급을 매기는 경우처럼 조건이 여러 개면 IF 안에 IF를 또 넣는 중첩 구조를 사용합니다.
=IF(A1>=90, "A", IF(A1>=80, "B", IF(A1>=70, "C", "D"))) 처럼 작성하면 됩니다. 괄호를 닫는 개수가 IF를 쓴 개수만큼 늘어난다는 점만 기억하면 어렵지 않습니다.
- 조건은 반드시 높은 값부터 순서대로 비교해야 정확하게 분류됩니다.
- IF를 4개 이상 중첩하면 수식이 길어져 읽기 어려워지므로, 이럴 때는 IFS 함수 사용을 고려하는 것이 좋습니다.
IFS 함수로 더 깔끔하게 쓰기
엑셀 2019 이상 버전에서는 IFS 함수를 쓰면 중첩 없이 조건을 나열할 수 있습니다. 다만 IFS는 비교적 최신 버전에서만 지원되므로, 회사에서 오래된 버전을 쓰고 있다면 중첩 IF로 작성해두는 편이 호환성 면에서 더 안전합니다.
=IFS(A1>=90, "A", A1>=80, "B", A1>=70, "C", TRUE, "D") 처럼 ‘조건, 값’ 쌍을 계속 나열하고, 마지막에 TRUE를 넣어 나머지 모든 경우를 처리하도록 하면 됩니다.
AND, OR와 함께 쓰기
조건이 두 가지를 동시에 만족해야 할 때는 AND를, 둘 중 하나만 만족해도 될 때는 OR를 IF 안에 넣어 사용합니다. 조건이 많아질수록 괄호 위치를 헷갈리기 쉬우므로, 수식 입력줄에서 커서를 괄호 위에 올려두면 짝이 되는 괄호가 굵게 표시되는 기능을 활용하면 편리합니다.
예: =IF(AND(A1>=60, B1>=60), "통과", "미달")는 A1과 B1 모두 60 이상일 때만 ‘통과’를 표시합니다.
실무에서 자주 하는 실수
괄호를 짝 맞추는 데만 신경 쓰다가 조건의 순서를 거꾸로 넣는 실수가 의외로 많습니다. 엑셀 중첩 IF 함수는 위에서부터 순서대로 조건을 검사하기 때문에, 범위가 넓은 조건을 먼저 적으면 뒤에 있는 세부 조건이 아예 검사되지 않고 묻혀버릴 수 있습니다.
그래서 가장 구체적인 조건부터 위쪽에, 가장 넓은 범위의 조건은 맨 마지막에 배치하는 순서를 기본값으로 삼으면 결과가 뒤바뀌는 실수를 크게 줄일 수 있습니다.
IFERROR와 함께 써서 오류 없이 깔끔하게
중첩 IF 수식이 길어지다 보면 참조한 셀이 비어있거나 다른 형식일 때 #VALUE! 같은 오류가 뜨는 경우가 있습니다. 전체 수식을 IFERROR로 한 번 더 감싸주면, 오류가 나는 상황에는 지정한 문구(예: “확인 필요”)를 대신 보여줘서 결과표가 지저분해지는 것을 막을 수 있습니다.
조건별 결과값에 색을 입혀 한눈에 구분하고 싶다면, 수식 자체보다는 엑셀 조건부 서식 활용법을 함께 적용하는 쪽이 훨씬 보기 편합니다.
엑셀 IF 함수, 공식 문서로 전체 구문 확인하기
인수 순서나 드문 활용 예시가 더 궁금하다면 마이크로소프트의 엑셀 IF 함수 공식 문서를 참고해보세요.
자주 묻는 질문
IF 함수에서 괄호 개수가 안 맞는다는 오류가 뜹니다.
중첩 IF는 여는 괄호와 닫는 괄호 개수가 정확히 같아야 합니다. 수식 입력줄에서 커서를 괄호 위에 올리면 짝이 되는 괄호가 굵게 표시되니 이를 활용해 하나씩 확인해보시기 바랍니다.
조건에 셀이 비어있는 경우도 포함하고 싶습니다.
=IF(A1="", "미입력", ...) 처럼 빈 문자열과 비교하는 조건을 맨 앞에 추가하면 빈 셀을 따로 처리할 수 있습니다.
IFS 함수가 안 보이는데 왜 그런가요?
IFS는 비교적 최신 함수라 오래된 엑셀 버전(2016 이하)에서는 지원하지 않습니다. 이 경우에는 중첩 IF를 사용해야 합니다.
IF 함수는 엑셀 실무에서 가장 자주 쓰이는 함수 중 하나입니다. 처음에는 중첩 구조가 헷갈릴 수 있지만, 조건을 순서대로 정리하고 괄호 개수만 맞추면 어렵지 않게 다룰 수 있습니다.
IF 함수와 IFS 함수 중 어떤 걸 써야 하나요
조건이 2~3개 정도로 단순하면 익숙한 IF를 중첩해서 써도 괜찮지만, 조건이 4개 이상으로 늘어난다면 IFS 함수가 수식을 훨씬 짧고 읽기 쉽게 만들어줍니다. 엑셀 중첩 IF 함수 구조가 손에 익은 다음에 IFS로 넘어가면 수식 구조를 이해하기가 더 수월합니다.