핵심 요약
- IF 함수는 논리 테스트를 수행하는 함수로, 특정 조건이 참인지 거짓인지 판단합니다.
- IF 함수의 구문은 =IF(논리_테스트, 참일_때_값, [거짓일_때_값]) 형태입니다.
- 예시: =IF(A2>A3,"Bigger","Smaller")
이 글에서는 Excel 2019와 Microsoft 365를 포함한 모든 버전의 엑셀에서 IF 함수로 논리 테스트를 수행하는 방법을 다양한 예제와 함께 설명합니다.
IF 함수란?
엑셀의 IF 함수는 논리 테스트를 수행하는 데 사용됩니다. 이 함수를 활용한 수식은 IF문(IF statement) 또는 if/then 문이라고도 부릅니다.
IF 함수를 사용하는 모든 수식은 두 가지 결과 중 하나를 반환합니다. 작동 원리는 간단합니다. 수식이 특정 조건이 참인지 검사하도록 설정되어 있으며, 참이면 한 가지 동작을 수행하고, 거짓이면 다른 동작을 수행합니다.

IF 함수는 엑셀에서 사용할 수 있는 여러 논리 함수 중 하나입니다. 그 외에도 AND, IFERROR, IFS, NOT, OR 등의 함수가 있습니다.
IF 함수 구문 및 인수
IF 함수를 사용하는 모든 수식은 다음과 같은 구성 요소로 이루어져 있습니다.
=IF(logical_test, value_if_true, [value_if_false])
- logical_test: 검사하려는 조건입니다. 필수 인수입니다.
- value_if_true: logical_test가 참일 때 실행할 내용입니다. 필수 인수입니다.
- value_if_false: logical_test가 거짓일 때 실행할 내용입니다. 선택 사항입니다.
엑셀 IF문은 조금 다르게 읽으면 쉽게 이해할 수 있습니다. "첫 번째 조건이 참이면 이것을 하고, 거짓이면 대신 이것을 한다"는 식으로 말입니다.
다음 규칙들을 기억해 두세요.
- logical_test가 거짓이고 value_if_false가 생략되면 엑셀은 FALSE를 반환합니다.
- value_if_true 또는 value_if_false 자리에 텍스트를 반환하려면 TRUE와 FALSE라는 단어를 제외하고 반드시 따옴표로 묶어야 합니다.
- IF 함수는 대소문자를 구분하지 않습니다.
- Excel 2010 이상 버전에서는 하나의 수식 안에 최대 64개의 IF문을 중첩할 수 있습니다. 그 이전 버전은 7개로 제한됩니다.
IF 함수 활용 예제
다음은 엑셀에서 IF 수식을 활용할 수 있는 다양한 방법입니다.
조건이 참일 때 텍스트 출력하기
=IF(A2>A3,"Bigger","Smaller")
가장 기본적인 IF문 예제입니다. A2가 A3보다 큰지 검사하고, 참이면 Bigger를, 거짓이면 Smaller를 출력합니다.
조건이 참일 때 계산 수행하기
=IF(A2>A3,A2-A3)
이번에는 value_if_true 자리에 텍스트 대신 계산식이 들어갑니다. A2가 A3보다 크면 두 값의 차이가 결과로 표시됩니다. 조건이 거짓이면 value_if_false를 생략했기 때문에 엑셀은 FALSE를 반환합니다.
계산식으로 조건 검사하기
=IF(A2/A3=5,A2/A3,"")
logical_test 자리에 계산식을 넣는 방법도 있습니다. 여기서 IF 조건은 A2/A3=5입니다. 이 조건이 참이면 A2/A3 계산 결과를 출력하고, 5가 아니면 빈 값을 반환하기 위해 큰따옴표("")를 사용합니다.
특정 날짜가 오늘인지 검사하기
=IF(A2=TODAY(),"This is today","")
IF문 안에 다른 엑셀 함수를 조합할 수도 있습니다. 이 예제에서는 TODAY 함수를 사용해 A2가 오늘 날짜인지 확인합니다. 오늘이라면 This is today를 출력하고, 아니면 아무것도 표시하지 않습니다.
AND 함수와 함께 IF 수식 사용하기
=IF(E2<=TODAY(),"Now","Soon")
=IF(AND(F2="Now",D2>=(B2-C2)),"Yes","No")
조금 더 복잡한 예제입니다. 지불해야 할 항목이 연체되었는지 확인하고, 연체되었다면 그 금액을 예산 범위 내에서 지불할 수 있는지 판단하는 시나리오입니다. 두 조건이 모두 참이면 G열에서 지불 시점인지 확인할 수 있습니다.
IF(E2<=TODAY(),"Now","Soon")은 Urgency 열에 입력된 수식입니다. 마감일과 오늘 날짜를 비교해 항목이 연체되었거나 오늘 마감인지 알려줍니다. 마감일이 오늘이거나 이미 지난 경우 F열에 Now를, 그렇지 않으면 Soon을 표시합니다.
두 번째 IF문은 AND 함수가 사용되었지만 구조는 여전히 일반적인 IF문과 동일합니다. 굵게 표시된 부분이 AND 함수가 위치한 곳이며, 첫 번째 쉼표 앞에 있으므로 logical_test 역할을 합니다.
=IF(AND(F2="Now",D2>=(B2-C2)),"Yes","No")
좀 더 직관적으로 표현하면 다음과 같습니다.
=IF(이 AND 함수를 검사해서, 참이면 Yes를 출력하고, 거짓이면 No를 출력)
AND 함수 내부에는 두 개의 조건이 들어 있습니다.
- F2="Now": F2 셀에 Now가 있는지 확인합니다.
- D2>=(B2-C2): 먼저 B2-C2를 계산해 남은 지불액을 구한 다음, D2의 사용 가능한 예산으로 지불할 수 있는지 확인합니다.
즉, 지금 지불해야 하는 항목이면서 지불할 자금까지 있다면 Yes, 지불할 시점이라는 결과가 표시됩니다.
중첩 IF문 예제
중첩 IF문(Nested IF)은 하나의 수식 안에 두 개 이상의 IF문이 포함된 경우를 말합니다. 작성 방법은 거의 동일하지만, 첫 번째 IF문 끝에서 괄호를 닫는 대신 쉼표를 찍고 다음 IF문을 이어서 작성합니다.
하나의 수식에 두 개의 IF문 사용하기
=IF(B2="F","Class A",IF(B2="M","Class B"))
이 예제는 학생을 성별로 분류하는 수식입니다. 여학생(F)은 Class A, 남학생(M)은 Class B로 배정됩니다. 수식은 B2에서 F와 M을 확인한 후, 참인 조건에 따라 Class A 또는 Class B를 출력합니다.
팁: 중첩 IF 수식 끝에 필요한 괄호의 개수는 IF가 작성된 횟수와 같습니다. 위 예제에서 IF가 두 번 사용되었으므로 끝에 괄호 두 개가 필요합니다.
하나의 수식에 세 개의 IF문 사용하기
=IF(A2=TODAY(),"This is today",IF(A2<TODAY(),"Old date",IF(A2>TODAY(),"Future date")))
여러 IF문이 포함된 수식의 예제입니다. 앞서 살펴본 TODAY 예제와 유사하지만 논리 테스트가 하나 더 추가되었습니다.
- 첫 번째 조건은 A2가 오늘 날짜인지 확인하고, 참이면 This is today를 반환합니다.
- 두 번째 조건은 오늘이 A2보다 큰지, 즉 A2가 과거 날짜인지 검사하고, 참이면 Old date를 반환합니다.
- 마지막 조건은 오늘 날짜가 A2보다 작은지, 즉 미래 날짜인지 검사하고, 참이면 Future date를 반환합니다.
조건이 거짓일 때 가격 표시하기
=IF(C2="Bill","",IF(C2="Food","",B2))
마지막 중첩 IF 예제는 특정 카테고리에 속하지 않는 구매 항목의 총액을 빠르게 파악하는 상황입니다. 불필요한 지출을 모두 합산해야 하는데, 목록이 길다면 이 방법이 가장 효율적입니다. 항목 설명이 Bill(고지서) 또는 Food(식비)인 항목은 필수 지출로 분류했으므로, 나머지 항목에 대해서만 B2의 가격을 표시합니다.
작동 방식은 다음과 같습니다.
- C2="Bill","": C2가 Bill이면 셀을 비워둡니다.
- C2="Food","": C2가 Food이면 셀을 비워둡니다.
- B2: 두 조건이 모두 거짓이면 B2의 값을 표시합니다.
이 수식의 결과물은 SUM 함수로 합계를 낼 수 있는 가격 목록입니다. 이를 통해 불필요한 항목에 얼마를 지출했는지 빠르게 분석할 수 있습니다.
중첩 IF문을 더 쉽게 작성하는 방법
수식이 길어질수록 관리하기 어려워지고 나중에 수정하기도 힘들어집니다. 중첩 IF문을 다루기 쉽게 만드는 한 가지 방법은 각 IF문 뒤에 줄 바꿈을 넣는 것입니다.
=
IF(A2=TODAY(),"This is today",
IF(A2<TODAY(),"Old date",
IF(A2>TODAY(),"Future date")))엑셀에서 이렇게 작성하려면 수식 입력줄에서 편집해야 합니다.
- 엑셀 상단의 수식 입력줄을 선택합니다.
- 입력줄 아래쪽 가장자리에 마우스를 올려 커서가 양방향 화살표로 바뀌면 클릭한 상태로 아래로 드래그해 작업 공간을 넓힙니다.
- 등호(=) 뒤에 커서를 놓고 Alt+Enter(Windows) 또는 Ctrl+Option+Enter(Mac)를 누릅니다. 그러면 수식의 나머지 부분이 새 줄로 이동합니다.
- 각 IF문 앞에서 3단계를 반복해 모든 IF문이 각각 별도의 줄에 위치하도록 합니다.