엑셀 IF 함수와 중첩 IF, IFS, SWITCH — 언제 무엇을 쓸지 비교표로 정리
최종 업데이트 2026-07-20
IF 함수는 '조건이 맞으면 A, 아니면 B'를 보여주는 가장 기본적인 조건 함수입니다. 그런데 조건이 3개, 4개로 늘어나면 IF를 어떻게 겹쳐 써야 할지, 아니면 IFS나 SWITCH로 바꿔야 할지 헷갈리는 경우가 많습니다. 이번 가이드는 세 함수의 구조를 실제 성적표 데이터로 비교하며 정리합니다.
기본 IF 구조
=IF(조건, 참일때값, 거짓일때값)
=IF(A2>=60, "합격", "불합격")
예시로 쓸 성적표
| 이름 | 점수 |
|---|---|
| 김서준 | 92 |
| 이하은 | 78 |
| 박도현 | 65 |
| 최유나 | 54 |
| 정하람 | 88 |
등급 기준은 90점 이상 A, 80점 이상 B, 70점 이상 C, 60점 이상 D, 그 미만은 F로 정합니다. 이 표를 기준으로 삼아 아래 세 가지 방식이 각각 어떤 결과를 내는지 확인해보겠습니다.
방식 1 — 중첩 IF
=IF(B2>=90, "A", IF(B2>=80, "B", IF(B2>=70, "C", IF(B2>=60, "D", "F"))))
중첩 IF는 반드시 '큰 값부터' 순서대로 검사해야 합니다. 만약 60 이상 조건을 맨 앞에 두면 92점도 첫 조건(60 이상)에서 바로 걸려 무조건 'D'로 잘못 판정됩니다. 조건 순서를 점수가 높은 순 → 낮은 순으로 배치하는 것이 중첩 IF에서 가장 흔한 실수를 막는 핵심입니다.
방식 2 — IFS
=IFS(B2>=90, "A", B2>=80, "B", B2>=70, "C", B2>=60, "D", TRUE, "F")
IFS는 괄호를 겹치지 않고 '조건, 결과'를 나란히 나열하기만 하면 되어 중첩 IF보다 읽기 편합니다. 다만 마지막에 TRUE 조건으로 기본값을 넣지 않으면, 어떤 조건에도 해당하지 않을 때 #N/A 오류가 발생합니다.
위 표에 두 수식을 적용한 실제 결과
| 이름 | 점수 | 중첩 IF·IFS 결과 |
|---|---|---|
| 김서준 | 92 | A |
| 이하은 | 78 | C |
| 박도현 | 65 | D |
| 최유나 | 54 | F |
| 정하람 | 88 | B |
중첩 IF와 IFS는 조건 로직이 완전히 같기 때문에 결과값도 동일합니다. 차이는 오직 '수식을 얼마나 읽기 쉽게 쓰느냐'에 있습니다.
방식 3 — SWITCH (정확히 일치하는 값 매핑)
SWITCH는 부등호 조건(이상·이하)이 아니라 '정확히 일치하는 값'을 매핑할 때 쓰는 함수입니다. 예를 들어 등급 코드 1, 2, 3을 등급명으로 바꾸는 상황에는 SWITCH가 적합합니다.
=SWITCH(C2, 1, "우수", 2, "보통", 3, "미흡", "코드오류")
반대로 점수처럼 '90 이상' 같은 범위 조건에는 SWITCH를 쓸 수 없습니다. SWITCH는 조건값과 완전히 같은 값만 찾기 때문에, 점수 92를 SWITCH(B2, 90, "A"...) 식으로 쓰면 92는 90과 정확히 같지 않으므로 매핑되지 않습니다.
세 함수 비교표
| 함수 | 조건 방식 | 실무 한계 | 지원 버전 |
|---|---|---|---|
| 중첩 IF | 부등호(범위) 조건 가능 | 3개 넘으면 괄호가 겹쳐 가독성이 급격히 나빠짐 | 모든 버전 (구버전 호환 최우선) |
| IFS | 부등호(범위) 조건 가능 | 조건이 5~6개를 넘으면 여전히 길어 유지보수 어려움 | 엑셀 2019 이상·365·구글시트 |
| SWITCH | 정확히 일치하는 값만 가능(범위 불가) | 코드·상태값처럼 딱 떨어지는 매핑에만 적합 | 엑셀 2019 이상·365·구글시트 |
- •구버전 엑셀(2016 이하)과 호환해야 한다면 중첩 IF만 사용할 수 있습니다.
- •조건이 부등호(이상, 이하, 초과)라면 IFS가 가장 읽기 좋습니다.
- •조건이 정확히 일치하는 코드·카테고리 값이라면 SWITCH가 가장 간결합니다.
- •IFS·SWITCH 모두 일치하는 조건이 없으면 #N/A가 나므로, 마지막 인수에 반드시 기본값(TRUE, 결과 또는 그냥 결과)을 넣어야 합니다.
등급처럼 조건이 자주 바뀌는 경우, 수식 안에 점수 기준을 직접 써넣기(하드코딩)보다 별도의 기준표(90, 80, 70, 60을 셀에 입력)를 만들고 VLOOKUP 근사값 검색으로 처리하면 기준이 바뀔 때 수식을 고치지 않아도 됩니다.
실무 응용 — 인센티브 지급 기준에 SWITCH 활용
영업팀에서 실적 등급(A/B/C/D/F)에 따라 정해진 인센티브 금액을 지급한다고 가정해봅니다. 등급은 이미 위의 IFS 수식으로 계산되어 있고, 이 등급값을 그대로 금액으로 매핑하려면 SWITCH가 가장 적합합니다.
=SWITCH(D2, "A", 500000, "B", 300000, "C", 100000, "D", 0, "F", 0)
D2에 이미 등급 문자('A', 'B' 등)가 들어있다는 전제로, 등급 문자와 정확히 일치하는 금액을 바로 찾아옵니다. 만약 여기서 조건값에 '90 이상'처럼 범위를 넣으려 하면 SWITCH는 절대 동작하지 않는다는 점을 다시 한번 기억해야 합니다. SWITCH는 어디까지나 '등급이라는 결과값'을 '금액'으로 바꾸는 2차 매핑에만 써야 하고, 점수 자체를 등급으로 나누는 1차 판정에는 반드시 IF나 IFS를 써야 합니다.
이처럼 '점수 → 등급'은 범위 조건이라 IF·IFS로, '등급 → 금액'은 정확히 일치하는 조건이라 SWITCH로 처리하는 2단계 구조를 쓰면, 나중에 인센티브 금액만 바뀌어도 SWITCH 부분만 고치면 되고 등급 산정 로직은 그대로 둘 수 있어 유지보수가 훨씬 편해집니다.
복잡한 등급·조건 로직, AI에게 설명하고 수식으로 받기 →