엑셀 IF 함수를 처음 써본 사람이 막히는 지점은 개념이 어려워서가 아니라, 쉼표 하나를 엉뚱한 자리에 찍기 때문이다. 엑셀 IF 함수는 “조건·참 결과·거짓 결과” 세 자리만 채우면 즉시 쓸 수 있는 조건 판단 함수다. 이 구조를 한 번 손에 익히면 성적 합격 여부, 재고 경고, 예산 초과 표시까지 반복 작업을 한 줄 수식으로 해결할 수 있다. 이 글은 그 형식을 먼저 고정한 다음, 실전 시나리오로 바로 넘어간다.
IF 함수 오류의 70%는 개념이 아니라 형식 문제다
“엑셀 IF 함수 에러”를 검색하면 수백만 건이 뜬다. 오류 대부분은 #NAME?이거나 #VALUE!다. 두 오류의 원인을 거슬러 올라가면 패턴이 같다. 함수 이름을 잘못 타이핑했거나, 텍스트에 큰따옴표를 빠뜨렸거나, 인수 사이 쉼표를 하나 빠뜨린 경우다.
논리 구조를 이해하지 못해서가 아니다. 형식 규칙을 한 번도 명확하게 배우지 않은 것이다. 조건이 맞으면 A, 아니면 B라는 발상 자체는 누구나 안다. 그것을 스프레드시트가 알아들을 수 있는 문법으로 옮기는 방법이 문제다. 이 글은 그 변환 규칙에 집중한다.
문법 구조 세 자리, 분해해서 외우기
IF 함수의 전체 구조는 다음 한 줄이다.
=IF(조건, 참일 때 값, 거짓일 때 값)
세 칸, 쉼표 두 개. 더도 덜도 없다.
| 자리 | 역할 | 예시 |
|---|---|---|
| 첫 번째: 조건 | 참·거짓을 판단할 비교식 | A1>=60 |
| 두 번째: 참 값 | 조건이 맞을 때 셀에 표시할 것 | "합격" |
| 세 번째: 거짓 값 | 조건이 틀릴 때 셀에 표시할 것 | "불합격" |
규칙 하나만 먼저 외워도 된다. 텍스트를 반환할 때는 반드시 큰따옴표(” “)로 감싼다. 숫자나 다른 셀 참조는 따옴표 없이 쓴다. 이 규칙 하나를 지키면 #NAME? 오류의 대부분은 사라진다.
실전 시나리오 세 가지로 바로 익히기
시나리오 1 — 성적 합격·불합격 판단
B2 셀에 점수가 있고, 60점 이상이면 C2에 “합격”을 표시하고 싶다.
=IF(B2>=60,"합격","불합격")
조건 B2>=60이 참이면 “합격”, 거짓이면 “불합격”. 이 한 줄을 C열 전체에 복사하면 수백 명 명단을 한 번에 처리한다. 직접 입력할 때 쉼표 뒤 공백은 있어도 없어도 무관하다.
시나리오 2 — 재고 경고 표시
D열에 현재 재고 수량이 있고, 10개 미만이면 E열에 “발주 필요”를 띄우고 싶다.
=IF(D2<10,"발주 필요","")
거짓 값 자리에 ""(빈 문자열)을 넣으면, 조건이 맞지 않을 때 셀이 빈 것처럼 보인다. 0이나 불필요한 텍스트 없이 깔끔한 표가 된다. 이 패턴은 실무에서 매우 자주 쓰인다.
시나리오 3 — 예산 초과 여부 자동 표시
실제 지출(F2)이 예산(G2)을 넘으면 “초과”, 아니면 “정상”을 표시한다.
=IF(F2>G2,"초과","정상")
조건 자리에 두 셀을 비교하는 식(F2>G2)을 넣으면 고정 수치가 아닌 상대 비교도 가능하다. 예산 셀이 달마다 바뀌어도 수식을 손댈 필요가 없다.
AND·OR를 결합하면 조건 두 개도 한 줄에 끝낸다
조건이 하나가 아닐 때 많은 초보가 IF를 바로 중첩하려 한다. 그 전에 AND·OR를 먼저 써보자. 수식이 훨씬 읽기 쉽다.
- AND — 모든 조건이 참이어야 참:
=IF(AND(B2>=60,C2>=60),"합격","불합격") - OR — 하나라도 참이면 참:
=IF(OR(B2>=90,C2>=90),"우수","일반")
AND·OR 안에 조건을 쉼표로 구분해 나열하면 된다. 실무에서 조건이 5개를 넘어가면 별도 헬퍼 열로 나눠 관리하는 편이 낫다. 한 셀에 조건을 10개 이상 구겨 넣으면 수정할 때 어디서 오류가 났는지 추적하기 어렵다.
중첩 IF: 등급을 여러 단계로 나눠야 할 때
90점 이상 A, 70~89점 B, 60~69점 C, 그 미만 D로 나누고 싶다면 IF를 중첩한다.
=IF(B2>=90,"A",IF(B2>=70,"B",IF(B2>=60,"C","D")))
구조를 눈으로 따라가면 이렇다. 첫 번째 IF가 90점 이상을 잡고, 두 번째 IF가 70점 이상을 잡고, 세 번째 IF가 60점 이상을 잡는다. 나머지는 자동으로 D가 된다. 조건을 내림차순(큰 값부터)으로 배열하는 것이 핵심이다. 오름차순으로 쓰면 60점 이상이 모두 C로 처리되는 논리 오류가 생긴다.
단계가 3개를 넘어가면 수식이 길어진다. 비교적 최근 버전의 스프레드시트 환경에서는 IFS 함수를 쓸 수 있다. 괄호 닫기 실수가 줄어들고, 수식이 훨씬 간결해진다.
=IFS(B2>=90,"A",B2>=70,"B",B2>=60,"C",TRUE,"D")
마지막 조건 자리에 TRUE를 넣으면 “그 외 모두”를 처리하는 기본값 역할을 한다. 이 TRUE를 빠뜨리면 어느 조건에도 해당하지 않는 셀에서 #N/A 오류가 난다.
초보가 자주 틀리는 실수 세 가지
- 텍스트에 큰따옴표 미사용:
=IF(A1=합격,…)처럼 따옴표 없이 쓰면#NAME?오류가 난다. 텍스트는 예외 없이"합격"처럼 감싼다. - 괄호 개수 불일치: 중첩 IF에서 여는 괄호 수와 닫는 괄호 수가 다르면 수식이 완성되지 않는다. 수식 입력줄은 괄호 짝을 색으로 표시해 주므로, 입력 후 반드시 눈으로 확인한다. 괄호 하나씩 지워보면서 짝을 맞추는 것이 가장 빠른 디버그 방법이다.
- 거짓 값 자리 생략: 세 번째 인수를 아무것도 안 넣고 닫으면, 조건이 거짓일 때 셀에
FALSE라는 텍스트가 그대로 표시된다. 비워 보이게 하려면 반드시""를 명시한다.
수식 완성 전 점검 체크리스트
- ☐ 조건 자리에 비교 연산자(
>=,<,=,<>)를 올바르게 썼는가? - ☐ 반환할 텍스트는 모두 큰따옴표로 감쌌는가?
- ☐ 인수 사이 쉼표 두 개가 빠짐없이 제자리에 있는가?
- ☐ 중첩 IF라면 여는 괄호와 닫는 괄호의 수가 같은가?
- ☐ 거짓 결과를 빈 셀로 처리하려면 세 번째 자리에
""를 명시했는가? - ☐ IFS를 쓴다면 마지막 기본값 조건에
TRUE를 넣었는가?
정리: 형식 하나가 IF를 완성한다
엑셀 IF 함수의 핵심은 복잡한 논리가 아니다. “조건, 참 값, 거짓 값”이라는 세 자리 규칙을 지키고, 텍스트엔 따옴표, 조건엔 비교 연산자를 정확히 넣는 습관이 전부다. 이 두 가지만 자리를 잡으면 IF 함수 오류는 거의 사라진다.
AND·OR로 복합 조건을 처리하고, 중첩 IF나 IFS로 다단계 분기를 만드는 것은 그다음 단계다. 오늘 처음 쓴다면 시나리오 1 하나만 직접 입력해보자. 수식이 작동하는 순간, 나머지 패턴은 빠르게 따라온다.
자주 묻는 질문
엑셀 IF 함수 기본 형식이 뭔가요?
=IF(조건, 참일 때 값, 거짓일 때 값)입니다. 예를 들어 =IF(A1>=60,"합격","불합격")은 A1 셀 값이 60 이상이면 "합격", 그렇지 않으면 "불합격"을 표시합니다.
IF 함수에서 텍스트는 어떻게 입력하나요?
텍스트는 반드시 큰따옴표로 감싸야 합니다. =IF(A1="통과","완료","미완료")처럼 쓰세요. 따옴표를 빠뜨리면 #NAME? 오류가 납니다.
조건이 두 개 이상일 때 IF를 어떻게 쓰나요?
AND나 OR를 함께 씁니다. =IF(AND(A1>=60,B1>=60),"합격","불합격")처럼 조건 자리에 AND(조건1,조건2)를 넣으면 두 조건을 동시에 확인합니다.
IF 함수를 중첩하면 몇 단계까지 가능한가요?
이론적으로 64단계까지 중첩할 수 있지만, 3단계를 넘기면 수식이 복잡해집니다. 조건이 많다면 IFS 함수나 VLOOKUP을 검토하세요.
거짓 값 자리를 비워두면 어떻게 되나요?
세 번째 인수를 생략하면 조건이 거짓일 때 FALSE라는 텍스트가 표시됩니다. 빈 셀처럼 보이게 하려면 반드시 세 번째 자리에 ""(빈 문자열)을 명시하세요.