Excel · 논리

엑셀 IF

조건을 평가해 참/거짓에 따라 다른 값을 반환하는 가장 기본적인 논리 함수.

IF 수식 구조

=IF(조건, 참일 때 값, 거짓일 때 값)

조건 (logical_test)

TRUE/FALSE로 평가되는 식. 비교 연산자(>=, =, <> 등) 사용.

참일 때 값 (value_if_true)

조건이 TRUE일 때 반환할 값. 텍스트는 큰따옴표("합격") 필수.

거짓일 때 값 (value_if_false)

조건이 FALSE일 때 반환할 값. 생략 가능하지만 권장하지 않음 (FALSE 반환).

반환값은 텍스트, 숫자, 다른 수식, 빈 문자열("") 모두 가능. 또 다른 IF 함수를 넣어 중첩 IF로 여러 조건도 처리할 수 있습니다 (단, 3중첩 넘으면 IFS 추천).

직접 체험해보세요

점수·비교 연산자·기준값을 바꿔보면 조건 평가 흐름과 분기 결과가 즉시 반영됩니다.

B2=IF(A2>=60, "합격", "불합격")"합격"
75
60
75>=60 ?
TRUE ✓

참일 때

"합격"

거짓일 때

"불합격"

최종 결과

"합격"

실전 활용 예제

=IF(A2>=60, "합격", "불합격")

합격/불합격 판정 — 가장 기본적인 IF 활용. 점수 셀이 60 이상이면 합격, 아니면 불합격.

예시: A2=75"합격"
=IF(A2>=90, "A", IF(A2>=80, "B", IF(A2>=70, "C", "F")))

등급 매기기 (중첩 IF) — 여러 구간을 위에서부터 차례로 검사. 90 이상은 A, 80 이상은 B... Excel 2019+에서는 IFS로 더 깔끔하게 가능.

예시: A2=85"B"
=IF(B2="", "데이터 없음", B2*1.1)

빈 셀 처리 — 셀이 비어 있는지 확인 후 다른 값 반환. ="" 비교는 빈 셀 체크에 자주 사용.

예시: B2=빈셀"데이터 없음"
목차
  1. 1.엑셀 IF 함수란?
  2. 2.비교 연산자 6종과 사용 패턴 10가지
  3. 3.중첩 IF vs IFS vs SWITCH
  4. 4.IF + AND/OR/NOT — 복합 조건
  5. 5.자주 발생하는 오류·함정 7가지
  6. 6.플랫폼 호환성
  7. 7.자주 묻는 질문

엑셀 IF 함수란?

엑셀 IF 함수는 조건을 검사해 TRUE면 한 값, FALSE면 다른 값을 반환하는 가장 기본적인 논리 함수입니다. 합격/불합격, 등급 매기기, 할인 적용, 빈 칸 체크 등 "~이면 A, 아니면 B" 형식의 모든 분기 로직에 사용됩니다. 거의 모든 실무 스프레드시트에서 SUM·VLOOKUP과 함께 가장 많이 쓰이는 3대장 중 하나예요.

구문은 =IF(조건, 참일때값, 거짓일때값) 3인수 형식입니다. 조건은 비교 연산자(=, <>, >, <, >=, <=)로 만들고, 텍스트는 큰따옴표로 감쌉니다. Excel 2003 이전부터 모든 버전에서 지원돼 호환성 걱정 없이 사용 가능합니다.

비교 연산자 6종과 사용 패턴 10가지

IF의 조건은 6가지 비교 연산자로 만듭니다.

연산자의미
=같음A1=100
<>다름A1<>"사과"
>초과A1>50
<미만A1<50
>=이상A1>=60
<=이하A1<=60

자주 쓰는 IF 패턴 10가지:

  • 합격/불합격 =IF(A1>=70, "합격", "불합격")
  • 텍스트 비교 =IF(A1="VIP", "할인", "정상가")
  • 수식 결과 분기 =IF(B1*1.1 > 10000, "예산초과", "OK")
  • 빈 셀 체크 =IF(A1="", "미입력", "OK")
  • 중첩 IF (등급) =IF(A1>=90, "A", IF(A1>=80, "B", "C"))
  • 음수/양수 표시 =IF(A1>0, "▲"&A1, "▼"&ABS(A1))
  • AND 복합 조건 =IF(AND(A1>=70, B1>=80), "통과", "재시험")
  • OR 복합 조건 =IF(OR(A1="VIP", B1>=10000), "할인", "정상가")
  • 참일 때 빈 칸 =IF(A1>=60, "", "재시험")
  • 오류 처리는 IFERROR =IFERROR(A1/B1, "0으로 나눌 수 없음")

중첩 IF vs IFS vs SWITCH

여러 조건을 차례로 검사할 때 선택지가 3가지 있습니다. 가독성·호환성을 따져 골라야 해요.

함수용도장점단점
중첩 IF다단계 조건모든 Excel 호환가독성 ↓ (3단계+ 어려움)
IFS (2019+)다단계 조건가독성 ↑, 한 줄Excel 2016 이하 미지원
SWITCH (2019+)값 매핑단순 매핑 시 최단범위 비교 불가 (정확 일치)

의사결정: 호환성 중요·2단계 이내면 IF, 다단계 + Excel 2019/365면 IFS, 값 매핑(코드→이름 등)이면 SWITCH. 3단계 이상 중첩 IF는 디버깅 지옥이라 가능하면 피하세요.

IF + AND/OR/NOT — 복합 조건

하나의 조건만으로 부족할 때 AND·OR·NOT을 IF의 조건 자리에 넣어 복합 조건을 만듭니다.

  • AND(조건1, 조건2, ...) — 모두 TRUE면 TRUE. 예: =IF(AND(A>0, A<100), "범위 내", "범위 밖")
  • OR(조건1, 조건2, ...) — 하나라도 TRUE면 TRUE. 예: =IF(OR(A="VIP", A="GOLD"), "할인", "정상가")
  • NOT(조건) — TRUE↔FALSE 뒤집기. 예: =IF(NOT(ISBLANK(A1)), "OK", "비어있음")

AND/OR 자체는 최대 255개 조건까지 받지만, 가독성을 위해 3~4개 이내 권장. 그 이상이면 별도 보조 열에 결과를 미리 계산해두거나 SUMPRODUCT 패턴이 더 깔끔합니다.

자주 발생하는 오류·함정 7가지

IF는 단순해 보이지만 실수하기 쉬운 함정이 많습니다.

  • 텍스트 큰따옴표 빠뜨림 =IF(A1=사과, ...) =IF(A1="사과", ...)
  • value_if_false 생략 =IF(A>10, "큰값")이면 A≤10일 때 셀에 "FALSE" 표시. 빈 칸 원하면 "" 명시
  • 중첩 IF 가독성 — 3단계 이상이면 디버깅 지옥. IFS 또는 VLOOKUP 구간 매칭 권장
  • 대소문자 무시 "Apple" "apple" 동일 처리. 구분하려면 EXACT 함수
  • TRUE/FALSE 직접 비교 =IF(A1=TRUE, ...) 보다 =IF(A1, ...) 가 깔끔
  • 텍스트형 숫자 비교 — A1이 텍스트 "5", B1이 숫자 5면 =IF(A1=B1, ...) 결과 "다름". 해결: VALUE 변환
  • 빈 셀과 "" 구분 — ISBLANK는 진짜 빈 셀만 TRUE, 수식 결과 ""는 FALSE. =IF(A1="", ...) 는 둘 다 TRUE 처리

플랫폼 호환성

IF는 표준 함수라 거의 모든 스프레드시트에서 동일하게 작동합니다.

플랫폼IFIFSSWITCHIFERROR
Microsoft Excel (Windows·Mac)✓ (2019+)✓ (2019+)✓ (2007+)
Google Sheets
LibreOffice Calc✓ (7.0+)✓ (7.0+)
한컴 한셀 · WPS · Apple Numbers

자주 묻는 질문

Q. IF 함수 사용법은?

=IF(조건, 참일때값, 거짓일때값) 형식입니다. 예를 들어 A1이 70 이상이면 "합격", 미만이면 "불합격"을 표시하려면 =IF(A1>=70, "합격", "불합격")을 입력합니다. 텍스트는 큰따옴표로 감싸고 숫자·셀 참조는 그대로 씁니다.

Q. IF에서 조건을 여러 개 쓰려면?

두 가지 방법이 있습니다. ① AND/OR 조합: =IF(AND(A1>=70, B1>=80), ...)처럼 AND(모두 만족)·OR(하나라도 만족)을 함께 씁니다. ② 중첩 IF: =IF(A1>=90, "A", IF(A1>=80, "B", "C"))처럼 IF 안에 IF를 넣습니다. 3단계 이상이면 IFS 함수가 더 깔끔합니다.

Q. 중첩 IF와 IFS는 어떻게 다른가요?

결과는 같지만 가독성이 다릅니다. 중첩 IF는 IF 안에 IF를 계속 넣어서 괄호가 많아집니다. IFS는 =IFS(조건1, 값1, 조건2, 값2, ..., TRUE, 기본값) 형식으로 한 줄에 정리됩니다. 단 IFS는 Excel 2019 이상에서만 지원되므로 호환성이 중요하면 중첩 IF를 사용하세요.

Q. IF에서 텍스트 비교 시 대소문자가 구분되나요?

기본적으로 구분되지 않습니다. =IF(A1="Apple", ...) =IF(A1="apple", ...)는 같은 결과를 반환합니다. 대소문자를 구분하려면 EXACT 함수를 사용하세요: =IF(EXACT(A1, "Apple"), "정확", "다름").

Q. value_if_false를 생략하면 어떻게 되나요?

FALSE가 반환됩니다. 예를 들어 =IF(A1>10, "큰값")에서 A1이 10 이하면 셀에 "FALSE"가 표시됩니다. 빈 칸을 원하면 =IF(A1>10, "큰값", "")처럼 빈 문자열을 명시하세요.

Q. IF로 빈 셀을 체크하는 방법은?

두 가지 방법이 있습니다. ① =IF(A1="", "미입력", "OK") — 빈 셀과 수식 결과 ""를 모두 빈 것으로 처리. ② =IF(ISBLANK(A1), "미입력", "OK") — 진짜 빈 셀만 TRUE. 수식이 ""를 반환한 셀과 진짜 빈 셀을 구분해야 하는 경우 ISBLANK를 사용합니다.

Q. IF 결과로 오류 (#DIV/0! 등)가 나오면?

IF 자체는 오류 처리를 하지 않습니다. 오류를 다른 값으로 바꾸려면 IFERROR를 함께 사용하세요: =IFERROR(IF(A1>0, B1/A1, "0"), "오류"). Excel 2007 이상에서 지원되며, 모든 종류의 #오류를 한 번에 처리합니다.

Q. 구글 스프레드시트에서도 동일하게 작동하나요?

네. IF, IFS, AND, OR, NOT, IFERROR 모두 구글 스프레드시트에서 동일한 문법으로 작동합니다. LibreOffice Calc, 한컴 한셀, WPS Spreadsheets에서도 마찬가지입니다.

본 페이지는 Microsoft Support 공식 IF·IFS·IFERROR·AND·OR 문서를 기준으로 작성되었습니다. 정확한 동작은 Excel 버전·환경에 따라 달라질 수 있으니 중요한 작업 전에는 실제 환경에서 확인하세요.