엑셀 IF
조건을 평가해 참/거짓에 따라 다른 값을 반환하는 가장 기본적인 논리 함수
IF 수식 구조
조건 (logical_test)
TRUE/FALSE로 평가되는 식. 비교 연산자(>=, =, <> 등) 사용
참일 때 값 (value_if_true)
조건이 TRUE일 때 반환할 값. 텍스트는 큰따옴표("합격") 필수
거짓일 때 값 (value_if_false)
조건이 FALSE일 때 반환할 값. 생략 가능하지만 권장하지 않음 (FALSE 반환)
"") 모두 가능. 또 다른 IF 함수를 넣어 중첩 IF로 여러 조건도 처리할 수 있습니다 (단, 3중첩 넘으면 IFS 추천).직접 체험해보세요
점수·비교 연산자·기준값을 바꿔보면 조건 평가 흐름과 분기 결과가 즉시 반영됩니다
참일 때
"합격"
거짓일 때
"불합격"
최종 결과
"합격"
실전 활용 예제
=IF(A2>=60, "합격", "불합격")합격/불합격 판정 — 가장 기본적인 IF 활용. 점수 셀이 60 이상이면 합격, 아니면 불합격.
=IF(A2>=90, "A", IF(A2>=80, "B", IF(A2>=70, "C", "F")))등급 매기기 (중첩 IF) — 여러 구간을 위에서부터 차례로 검사. 90 이상은 A, 80 이상은 B... Excel 2019+에서는 IFS로 더 깔끔하게 가능.
=IF(B2="", "데이터 없음", B2*1.1)빈 셀 처리 — 셀이 비어 있는지 확인 후 다른 값 반환. ="" 비교는 빈 셀 체크에 자주 사용.
다른 엑셀 함수도 알아보세요
IF 함수 작성 시 가장 흔한 실수 4가지
▼
1. 텍스트에 큰따옴표 빠뜨림
❌ =IF(A2>=60, 합격, 불합격)
✓ =IF(A2>=60, "합격", "불합격")
텍스트 반환값은 항상 큰따옴표로 감싸야 함
2. 비교 연산자 잘못 사용
❌ =IF(A2 = 60, ...) — 단일 = 의 의도
"다르다"는 <> (작다+크다 조합), "이상"은 >=. C/JS의 ==나 !=는 엑셀에 없음
3. 빈 셀 검사 시 IF(A2=0, ...)
빈 셀은 0과 다릅니다. 빈 셀 체크는 ="" 또는 ISBLANK(A2)를 쓰세요
4. 괄호 갯수 안 맞음
특히 중첩 IF에서 발생. 수식 입력 시 엑셀이 짝 맞는 괄호를 컬러로 표시해주니 참고. 정 안 되면 IFS 함수가 더 가독성 좋습니다
중첩 IF vs IFS — 언제 무엇을?
▼
여러 조건을 차례로 검사할 때 IF를 중첩하면 가독성이 빠르게 떨어집니다. Excel 2019 / Microsoft 365에서는 IFS 함수로 깔끔하게 작성할 수 있습니다.
중첩 IF (전 버전 호환)
=IF(A2>=90,"A",IF(A2>=80,"B",IF(A2>=70,"C","F")))
괄호 추적이 어렵고 수정도 까다로움
IFS (Excel 2019+)
=IFS(A2>=90,"A", A2>=80,"B", A2>=70,"C", TRUE,"F")
조건/결과 쌍이 깔끔히 나열됨. 마지막 TRUE,"F"가 기본값
기준: 2단계까지는 IF 중첩도 OK. 3단계부터는 IFS 또는 VLOOKUP/XLOOKUP의 구간 매칭을 추천합니다.
IF + AND / OR — 복합 조건
▼
여러 조건을 동시에 만족하거나 하나라도 만족하는 경우를 처리하려면 AND / OR을 IF의 조건 부분에 넣습니다.
AND — 모두 만족
=IF(AND(A2>=60, B2>=60), "합격", "불합격")
국어 60 이상 그리고 영어 60 이상일 때만 합격
OR — 하나라도 만족
=IF(OR(A2=99, B2=99), "특수", "일반")
A2가 99 이거나 B2가 99이면 특수 처리
AND/OR은 최대 255개 조건까지 받습니다. 가독성을 위해서는 3~4개 이내 권장.
자주 묻는 질문 (FAQ)
▼
Q. IF 안에 IF를 몇 개까지 넣을 수 있나요?
Excel은 최대 64단계까지 중첩을 허용합니다. 하지만 3단계만 넘어가도 사람이 읽기 어렵습니다. IFS나 VLOOKUP 구간 매칭으로 바꾸세요.
Q. 조건이 TRUE일 때 아무것도 표시 안 하려면?
빈 문자열 ""을 반환하세요. =IF(A2>=60, "", "재시험") — 합격자에게는 아무것도 표시하지 않고 불합격자만 표시.
Q. IF 결과가 텍스트 "TRUE"/"FALSE"로 나오는 이유?
두 번째·세 번째 인수를 생략하면 IF는 TRUE/FALSE 논리값을 반환합니다. =IF(A2>=60)는 =A2>=60과 동일. 사용자 친화적 텍스트가 필요하면 두/세 번째 인수를 꼭 채우세요.
Q. IFERROR와 IF는 어떻게 다른가요?
IF는 조건 평가, IFERROR는 오류 처리입니다. IFERROR(수식, 대체값)은 수식이 오류일 때만 대체값을 반환합니다. 둘은 자주 함께 쓰입니다 (예: IFERROR(VLOOKUP(...), "없음")).