본문 바로가기

엑셀

엑셀 IF 함수 사용법, 단일 조건부터 다중 조건까지

반응형

업무 중에 "매출이 100만 원 이상이면 달성, 미만이면 미달성으로 표시해줘"라는 요청을 받으면 IF 함수를 쓰면 돼요. IF 함수는 조건을 판별해서 참일 때와 거짓일 때 각각 다른 값을 반환하는 논리 함수예요. 이 글에서는 IF 함수 기본 문법, 단일 조건 예제, AND/OR을 활용한 다중 조건, 그리고 IFS 함수와의 차이점까지 다뤄요.

IF 함수 기본 문법

=IF(논리식, 참일 때 값, [거짓일 때 값])

각 인수의 의미는 다음과 같아요.

  • 논리식: 참/거짓으로 판별할 조건. 비교 연산자(>, <, =, >=, <=, <>)를 사용해요.
  • 참일 때 값: 조건이 참이면 반환할 값. 숫자, 텍스트, 수식 모두 가능해요.
  • 거짓일 때 값: 조건이 거짓이면 반환할 값. 생략하면 FALSE가 반환돼요.

텍스트를 반환하려면 큰따옴표로 감싸야 해요. 예: "달성", "미달성"

예제 1 - 단일 조건: 판매 목표 달성 여부

아래 영업사원별 판매 실적이 B2:C6 범위에 있다고 가정할게요. 목표 금액은 300만 원이에요.

  B C
2 김민수 4,200,000
3 이지은 2,800,000
4 박준혁 3,100,000
5 최수진 1,500,000
6 정하늘 3,000,000

D2셀에 달성 여부를 표시하려면:

=IF(C2>=3000000, "달성", "미달성")

결과:

이름 판매실적 달성여부
김민수 4,200,000 달성
이지은 2,800,000 미달성
박준혁 3,100,000 달성
최수진 1,500,000 미달성
정하늘 3,000,000 달성

C2 값이 300만 이상이면 "달성", 미만이면 "미달성"을 반환해요. 수식을 D3:D6까지 자동채우기하면 각 사원별 결과가 나와요.

예제 2 - AND/OR을 활용한 다중 조건

실무에서는 조건이 하나가 아닌 경우가 많아요. 이때 AND 함수와 OR 함수를 IF 안에 넣어서 쓸 수 있어요.

AND 조건 (두 조건 모두 만족):

신입사원 수습 평가에서 근무 태도 점수가 80점 이상이고 업무 시험 점수도 70점 이상이면 "통과"로 판정한다고 가정할게요.

  B C D
2 김민수 85 72
3 이지은 78 80
4 박준혁 90 65

C열이 근무 태도, D열이 업무 시험 점수일 때 E2셀 수식:

=IF(AND(C2>=80, D2>=70), "통과", "재평가")

결과:

  • 김민수: 근무 태도 85(충족), 업무 시험 72(충족) → 통과
  • 이지은: 근무 태도 78(미충족) → 재평가
  • 박준혁: 근무 태도 90(충족), 업무 시험 65(미충족) → 재평가

AND는 모든 조건을 만족해야 참이에요.

OR 조건 (하나라도 만족):

토익 900점 이상이거나 토플 100점 이상이면 어학 자격을 충족한다고 가정할게요.

=IF(OR(C2>=900, D2>=100), "충족", "미충족")

OR은 조건 중 하나만 참이어도 참을 반환해요.

예제 3 - IF 함수 중첩 (3단계 이상 분기)

결과를 2개가 아니라 3개 이상으로 나눠야 할 때는 IF 함수를 중첩해요. 판매 실적에 따라 등급을 A/B/C로 나누는 경우:

=IF(C2>=5000000, "A", IF(C2>=3000000, "B", "C"))

동작 순서:

  1. C2가 500만 이상이면 → "A"
  2. 아니면, C2가 300만 이상이면 → "B"
  3. 둘 다 아니면 → "C"

IF 중첩은 최대 64단계까지 가능하지만, 3~4단계를 넘어가면 수식이 읽기 어려워져요. 조건이 많아지면 IFS 함수나 VLOOKUP 유사 일치를 쓰는 게 나아요.

IFS 함수와의 차이점

IFS 함수는 Excel 2019, Microsoft 365에서 사용 가능한 함수로, IF 중첩을 대체해요.

=IFS(C2>=5000000, "A", C2>=3000000, "B", TRUE, "C")

IF 중첩과 IFS 비교:

항목 IF 중첩 IFS
문법 IF(조건1, 값1, IF(조건2, 값2, 값3)) IFS(조건1, 값1, 조건2, 값2, TRUE, 기본값)
가독성 중첩이 깊어지면 읽기 어려움 조건-값 쌍이 나란히 있어 읽기 쉬움
기본값 처리 마지막 거짓값으로 지정 마지막에 TRUE, 기본값 형태로 지정
호환성 모든 엑셀 버전에서 사용 가능 Excel 2019 / Microsoft 365 이상

IFS에서 마지막 조건에 TRUE를 넣는 이유는, 앞의 조건을 모두 만족하지 않을 때의 기본값을 지정하기 위해서예요. TRUE를 생략하면 해당하는 조건이 없을 때 #N/A 오류가 발생해요.

자주 하는 실수와 주의사항

텍스트 비교 시 큰따옴표 누락:
=IF(B2=달성, ...) 이렇게 쓰면 "달성"이라는 이름의 셀 참조로 인식돼요. 텍스트는 반드시 =IF(B2="달성", ...)처럼 큰따옴표로 감싸야 해요.

거짓일 때 값 생략:
=IF(C2>=3000000, "달성")처럼 세 번째 인수를 생략하면, 조건이 거짓일 때 FALSE가 표시돼요. 빈 칸으로 두고 싶으면 =IF(C2>=3000000, "달성", "")처럼 빈 문자열을 넣어주세요.

IF 함수는 텍스트 비교 시 대소문자를 구분하지 않아요:
=IF(B2="apple", ...) 수식에서 B2에 "Apple"이 있어도 참으로 판별돼요. 대소문자를 구분해야 하면 EXACT 함수를 사용해요: =IF(EXACT(B2, "apple"), ...)

숫자와 텍스트 혼동:
셀에 숫자가 텍스트 형식으로 저장된 경우(셀 왼쪽 상단에 초록색 삼각형 표시) 비교가 제대로 되지 않을 수 있어요. VALUE 함수로 변환하거나, 셀 서식을 숫자로 변경한 뒤 값을 다시 입력하면 돼요.

관련 함수 안내

IF 함수와 자주 조합하는 함수로 SUMIF와 COUNTIF가 있어요. SUMIF는 조건을 만족하는 셀의 합계, COUNTIF는 조건을 만족하는 셀의 개수를 구해요. 다음 글에서 SUMIF/COUNTIF를 다룰 예정이에요.

IF 함수는 엑셀에서 "조건에 따라 다르게 처리"가 필요한 거의 모든 상황에서 쓰여요. 단일 조건은 IF 하나로, 복합 조건은 AND/OR과 조합해서, 다단계 분기는 IF 중첩이나 IFS로 처리하면 돼요.

반응형