Menu

엑셀 IF 함수 사용법: 수식, 예제, 흔한 실수

=IF(B2>=50,"Pass","Fail")은 B2가 50 이상인지 확인해 맞으면 Pass, 아니면 Fail을 반환합니다. IF 구문, 텍스트 조건, 계산을 넣은 IF, 빈 셀 확인, IF가 잘못된 결과를 내는 실수를 알아봅니다.

이 페이지의 모든 시트는 실제로 동작합니다. 숫자나 수식을 바꾸면 다시 계산됩니다.

=IF(B2>=50,"Pass","Fail")은 B2의 점수가 50 이상인지 확인합니다. 맞으면 셀에 Pass가, 아니면 Fail이 나옵니다.

합격 또는 불합격
C2
ABC
1StudentScoreResult
2Ana72Pass
3Ben45Fail
4Chloe50Pass
5Dan38Fail
6Eve91Pass
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

C2를 클릭해 수식을 확인한 뒤 B3에 있는 Ben의 점수를 60으로 바꿔 보세요. 결과가 Pass로 바뀝니다. Chloe는 정확히 50점이고 >=는 "50 이상"을 뜻하므로 합격합니다. >였다면 불합격입니다.

IF 구문

=IF(logical_test, value_if_true, value_if_false)
  • logical_test는 TRUE나 FALSE를 내는 비교나 수식입니다: B2>=50, C2="Paid", D2<TODAY().
  • value_if_true는 조건이 TRUE일 때 셀에 보이는 값입니다.
  • value_if_false는 그 밖의 경우에 보이는 값입니다. 생략할 수 있는데, 생략하면 조건이 맞지 않을 때 셀에 FALSE가 나옵니다. 쉼표는 남기고 인수만 비워 =IF(B2>=50,"Pass",)라고 쓰면 0이 나옵니다.

각 결과에는 큰따옴표로 감싼 텍스트("Pass"), 숫자(0), 셀 참조(C2), 다른 수식을 넣을 수 있습니다. 따옴표 없는 텍스트는 이름으로 읽히므로 =IF(B2>=50,Pass,Fail)은 #NAME?을 냅니다.

비교 연산자는 =(같음), <>(같지 않음), >, <, >=, <=입니다. 소수점으로 쉼표를 쓰는 언어로 설정된 엑셀에서는 인수를 세미콜론으로 구분합니다: =IF(B2>=50;"Pass";"Fail"). Google 스프레드시트도 같은 인수로 같은 IF를 씁니다.

텍스트를 비교하는 IF

조건에서 셀을 텍스트와 비교할 수 있습니다. 텍스트는 큰따옴표로 감싸며, 비교할 때 대소문자는 무시됩니다.

North 지역 무료 배송
C2
ABCD
1OrderRegionFree deliveryExact case
21001NorthYesYes
31002SouthNoNo
41003northYesNo
51004EastNoNo
61005NORTHYesNo
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

=는 대소문자를 가리지 않으므로 C열은 North, north, NORTH 모두에 Yes를 표시합니다. 제품 코드나 비밀번호처럼 대소문자가 중요하면 D열처럼 EXACT로 검사하세요. 정확히 North라고 적힌 행만 Yes를 받습니다.

어떤 값을 제외한 모든 경우를 검사하려면 <>를 씁니다: =IF(B2<>"North","Standard","Free"). 셀 안 어딘가에 단어가 들어 있는지 검사하려면 IF에 SEARCH가 필요하며, 이 내용은 IS 함수 페이지에서 다룹니다.

계산을 넣은 IF

IF의 결과가 텍스트일 필요는 없습니다. 여기서는 각 영업 담당자가 매출이 1,000을 넘으면 5% 보너스를 받고, 그 이하이면 받지 못합니다:

1,000 초과 시 보너스
C2
ABC
1RepSalesBonus
2Ana$1,400$70
3Ben$800$0
4Chloe$1,000$0
5Dan$2,600$130
6Eve$1,150$58
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

Ana는 $70(1,400의 5%)를, Ben은 $0을 받습니다. Chloe는 정확히 1,000을 팔았고 조건은 "1,000 초과"이므로 역시 $0을 받습니다. C2의 수식을 =IF(B2>=1000,B2*5%,0)으로 바꾸면 그녀의 보너스는 $50이 됩니다.

조건에서 두 셀을 비교하거나(=IF(B2>C2,"Over target","Under target")), 셀을 계산 결과와 비교할 수도 있습니다(=IF(B2>AVERAGE($B$2:$B$6),"Above average","")).

셀이 비어 있으면

B2=""는 B2가 비어 있을 때 TRUE입니다. 아직 데이터가 없는 행을 건너뛰어 수식 열이 0으로 가득 차지 않게 할 때 씁니다:

수량 없는 행 건너뛰기
D2
ABCDE
1ItemQtyPriceTotalStatus
2Pens10$1.50$15.00Ordered
3Paper$4.20Not ordered
4Ink2$18.00$36.00Ordered
5Tape$2.80Not ordered
6Clips5$0.90$4.50Ordered
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

""(사이에 아무것도 없는 큰따옴표 두 개)는 빈 텍스트이므로 Paper와 Tape는 D열에 아무것도 표시하지 않습니다. B3에 수량을 입력하면 합계가 나타납니다. E열은 반대로 <>"", 즉 "비어 있지 않음"을 검사합니다.

=""가 든 셀은 비어 보이지만 ISBLANK에게는 빈 셀이 아닙니다. 다른 수식이 그 열을 읽을 때 이 차이가 중요합니다. 예를 들어 COUNTA는 그 셀을 셉니다.

조건이 두 개인 IF

IF는 조건을 하나 받습니다. 두 조건을 동시에 요구하려면 조건 안에 AND를 넣고, 둘 중 하나만 맞아도 되면 OR을 씁니다:

=IF(AND(B2>=50,C2>=50),"Pass","Fail")
=IF(OR(B2="North",B2="South"),"Zone 1","Zone 2")

두 함수 모두 AND와 OR 페이지에서 실습 예제와 함께 설명합니다. 결과가 세 가지 이상이면(A, B, C, F) IF 안에 IF를 중첩하거나(중첩 IF) IFS를 쓰세요.

연습: 재주문 여부

재주문 확인
D2
ABCD
1ItemStockMinimumStatus
2Pens1220
3Paper3025
4Tape1512
5Ink810
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

직접 해 보세요: D2에서 B2의 재고가 C2의 최소 수량보다 적으면 "Reorder"를, 아니면 "OK"를 표시하세요. 수식은 D5까지 아래로 채워집니다.

10% 보너스
C2
ABC
1RepSalesBonus
2Ana$1,250
3Ben$600
4Chloe$2,300
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

직접 해 보세요: C2에서 B2의 매출이 1000을 넘으면 매출의 10%를 보너스로, 아니면 0을 반환하세요. 수식은 C4까지 아래로 채워집니다.

흔한 IF 실수

숫자를 따옴표로 감싸기. =IF(B2>"50","High","Low")는 B2를 숫자 50이 아니라 텍스트 "50"과 비교합니다. 엑셀은 모든 숫자를 모든 텍스트보다 작게 취급하므로, B2에 어떤 숫자가 있든 조건은 FALSE가 되고 수식은 항상 Low를 표시합니다. 숫자는 따옴표 없이 쓰세요: B2>50.

== 쓰기. 엑셀의 같음 비교는 = 하나입니다. =IF(B2=="Paid","Yes","No")라고 입력하면 엑셀이 "There's a problem with this formula"(이 수식에 문제가 있습니다)라며 수식을 받아들이지 않습니다.

텍스트로 저장된 숫자. B2에 '12(주로 가져온 데이터에서 생기는, 숫자처럼 보이는 텍스트)가 들어 있으면 B2>=50은 텍스트와 숫자를 비교합니다. 텍스트는 항상 더 크게 취급되므로 조건이 TRUE가 되어 12가 합격합니다. 먼저 열을 변환하세요. 방법은 텍스트를 숫자로 변환하기 페이지에 있습니다.

TRUE를 텍스트로 기대하기. =IF(B2>=50,"TRUE","FALSE")는 단어를 텍스트로 반환하며, 다른 수식은 이것을 논리값으로 쓸 수 없습니다. TRUE와 FALSE가 필요하다면 IF조차 필요 없습니다. =B2>=50이 그 값을 바로 반환합니다.

닫는 괄호 빠뜨리기. IF마다 괄호를 하나 열고, 각각 자기 )가 필요합니다. 편집하는 동안 엑셀은 괄호 쌍마다 다른 색으로 보여 주므로, 빠진 괄호를 쉽게 찾을 수 있습니다.

자주 묻는 질문

엑셀에서 IF 수식은 어떻게 쓰나요?

=IF(test, value_if_true, value_if_false) 형태로 씁니다. 예를 들어 =IF(B2>=50,"Pass","Fail")은 B2가 50 이상이면 Pass, 아니면 Fail을 보여 줍니다. 텍스트 결과는 큰따옴표로 감싸고, 숫자와 셀 참조는 감싸지 않습니다.

IF 수식이 FALSE를 반환하는 이유는 무엇인가요?

세 번째 인수를 빠뜨렸기 때문입니다. =IF(B2>=50,"Pass")는 조건이 맞지 않으면 FALSE를 반환합니다. 그 경우의 값을 넣으세요. 예를 들어 빈 셀로 보이게 하려면 ""를 넣습니다: =IF(B2>=50,"Pass","").

IF 함수는 대소문자를 구분하나요?

구분하지 않습니다. =IF(B2="North","Yes","No")는 North, north, NORTH 모두에 Yes를 반환합니다. 대소문자까지 정확히 맞추려면 조건에 EXACT를 쓰세요: =IF(EXACT(B2,"North"),"Yes","No").

IF로 셀을 비워 두려면 어떻게 하나요?

빈 텍스트 문자열, 즉 큰따옴표 두 개를 반환합니다. =IF(B2="","",B2*C2)는 B2가 비어 있으면 아무것도 보여 주지 않고, 아니면 곱을 보여 줍니다. 셀에는 여전히 수식이 있으므로 그 셀에 ISBLANK를 쓰면 FALSE가 나옵니다.

IF로 조건을 여러 개 확인할 수 있나요?

있습니다. 조건 안에 AND나 OR을 넣거나(=IF(AND(B2>=50,C2>=50),"Pass","Fail")), 결과가 셋 이상이면 IF 안에 IF를 중첩합니다. Excel 2019 이후에서는 IFS가 중첩 없이 여러 결과를 처리합니다.

Coddy 프로그래밍 언어 일러스트

Coddy로 코딩 배우기

시작하기