
엑셀 IF 함수 다중조건 완벽 가이드: 중첩 IF·AND·OR·IFS·SWITCH까지
보고서를 만들다 보면 조건이 하나가 아니라 여러 개일 때가 많습니다. 예를 들어 엑셀 IF 함수 다중조건으로 점수에 따른 학점 판정, 매출 조건에 따른 인센티브율, 근무시간대별 수당 등을 자동 계산할 수 있습니다. 이 글에서는 중첩 IF → AND/OR → IFS → SWITCH 순서로 실무 예제를 통해 정리합니다. 참고: 실무 필수 엑셀 단축키도 함께 보면 속도가 빨라집니다.
Quick Fix (3분 요약)
- 중첩 IF:
=IF(A2>=90,"A",IF(A2>=80,"B","C")) - AND/OR 조합:
=IF(AND(B2>=60,C2="Y"),"합격","불합격") - IFS 함수:
=IFS(A2>=90,"A",A2>=80,"B",A2>=70,"C",TRUE,"F") - SWITCH 함수(단일 값 비교):
=SWITCH(D2,"Gold",0.2,"Silver",0.1,"Bronze",0.05,0)
IF 함수 기본 구조
=IF(조건, 참일_때, 거짓일_때)
조건은 TRUE/FALSE로 평가되는 논리식입니다. 참/거짓 자리에는 숫자·텍스트·수식 모두 올 수 있습니다.
중첩 IF로 다중조건 처리
=IF(A2>=90,"A",
IF(A2>=80,"B",
IF(A2>=70,"C","F")))
- 90 이상: A, 80 이상: B, 70 이상: C, 그 외: F
- 조건이 많아질수록 괄호가 복잡해지므로 IFS로 대체를 고려하세요.
AND·OR와 IF 조합 (복합 조건)
AND는 모든 조건을 만족할 때, OR는 하나라도 만족하면 TRUE입니다.
=IF(AND(B2>=60,C2="Y"),"합격","불합격")
=IF(OR(D2="우수",E2="추천"),"혜택","일반")
IFS 함수 — 중첩 IF의 가독성 개선
=IFS(A2>=90,"A",
A2>=80,"B",
A2>=70,"C",
TRUE,"F")
- 조건을 위에서 아래로 평가합니다.
- 모든 조건이 FALSE일 때 대비해
TRUE,"기본값"을 마지막에 넣으세요.
SWITCH 함수 — 단일 값 비교에 최적
=SWITCH(D2,
"Gold",0.2,
"Silver",0.1,
"Bronze",0.05,
0)
하나의 값(D2)을 여러 후보와 비교해 매핑할 때 간결합니다.
실무 예제 (재현 가능)
1) 성적에 따른 학점
| 이름 | 점수 | 학점(공식) |
|---|---|---|
| 김철수 | 95 | =IF(A2>=90,"A",IF(A2>=80,"B","C")) → A |
| 이영희 | 82 | B |
| 박민수 | 67 | C |
2) 매출 조건에 따른 인센티브율
=IFS(B2>=1000000,0.20,
B2>=700000,0.15,
B2>=500000,0.10,
TRUE,0)
3) 근무시간에 따른 수당
=IF(AND(C2>8,C2<=12),C2*5000,
IF(C2>12,C2*7000,0))
가독성·유지보수 팁
- 이름 정의로 의미 부여(예: 목표점수, 등급표).
- 참조 테이블 + XLOOKUP로 룩업 방식 전환:
=XLOOKUP(A2,등급기준범위,등급결과범위,"F",-1) - IFERROR로 예외 처리:
=IFERROR(IFS(...),"확인 필요")
Troubleshooting
| 증상 | 원인 | 해결 |
|---|---|---|
| 수식이 너무 길다 | 중첩 IF 과다 | IFS/SWITCH 또는 참조 테이블로 단순화 |
| 판정이 뒤바뀜 | 조건 순서 오류 | 큰 값 → 작은 값 순으로 재정렬 |
| #N/A 또는 빈 결과 | 모든 조건 FALSE | 마지막에 TRUE,"기본값" 추가 |
| 문자/숫자 섞여 오류 | 열 형식 불일치 | 형식 통일, NUMBERVALUE/TRIM 사용 |