공든탑앱 열기

논리 함수

컴퓨터활용능력 1급 · 수식과 함수 · 약 16분

쉽게 말하면

IF는 '만약 ~이면 이것, 아니면 저것'을 정하는 함수예요. =IF(점수>=80,"합격","불합격")처럼 조건, 참일 때 값, 거짓일 때 값 세 개를 넣어요. 조건 두 개를 모두 만족해야 하면 AND, 하나만 만족해도 되면 OR로 묶어요. 세 갈래 이상(A·B·C 등급)은 IF 안에 IF를 또 넣고, 오류 대신 다른 글자를 보여 주려면 IFERROR를 써요.

시험용 정의

IF(조건, 참일 때 값, 거짓일 때 값)은 조건이 TRUE면 둘째, FALSE면 셋째 인수를 돌려준다(셋째를 생략하면 FALSE). 글자를 돌려줄 때는 큰따옴표로 감싸고, 빈칸은 ""로 쓴다. 조건이 여럿이면 AND(조건1, 조건2, …)(모두 참일 때 TRUE), OR(…)(하나라도 참이면 TRUE), NOT(조건)(반대)를 IF의 조건 자리에 넣는다. 세 갈래 이상은 중첩 IF(IF 안에 IF, 최대 64번)나 IFS(조건1, 값1, 조건2, 값2, …)로 나누며, IFS는 참인 조건이 없으면 #N/A이므로 마지막에 TRUE를 둔다. IFERROR(수식, 오류일 때 값)은 수식이 오류(#DIV/0!, #N/A 등)면 대신 정한 값을 보여 준다.

비유로 이해하기

IF는 갈림길 표지판이다. '키 140cm 이상이면 롤러코스터, 아니면 회전목마.' AND는 '키도 되고 보호자도 있어야', OR는 '키가 되거나 보호자가 있으면'이다.

자세히

먼저 알아 둘 말

말뜻
논리값TRUE(참) 또는 FALSE(거짓)
조건식C2>=80처럼 결과가 논리값인 식
중첩함수 안에 같은 함수를 또 넣는 것
빈 문자열"" (큰따옴표 두 개). 아무것도 안 보이게 할 때

이 시트로 연습해요

네 학생의 점수예요. 수식 입력줄에 IF 수식을 쳐서 결과를 확인해요. 글자 결과는 꼭 큰따옴표로 감싸요.

AND · OR · NOT 결과

수식 (C3=92, E3=95)결과
=AND(C3>=90, E3>=90)TRUE (둘 다 참)
=AND(C3>=95, E3>=90)FALSE (하나가 거짓)
=OR(C3>=95, E3>=90)TRUE (하나라도 참)
=NOT(C3>=90)FALSE (반대)

등급 나누기 세 가지 방법 (90 이상 A, 80 이상 B, 나머지 C)

  • 중첩 IF: =IF(C2>=90,"A",IF(C2>=80,"B","C")) → 닫는 괄호 개수 = IF 개수
  • IFS: =IFS(C2>=90,"A",C2>=80,"B",TRUE,"C")
  • VLOOKUP 근사 일치: 기준표를 따로 만들어 찾기 (찾기 함수에서 배워요)

순서가 중요하다. =IF(C2>=80,"B",IF(C2>=90,"A","C"))처럼 작은 기준을 먼저 쓰면 95점도 B가 된다.

시험에 이렇게 나와요

확인 문제

Q1. C2가 85일 때 =IF(C2>=90,"A",IF(C2>=80,"B","C"))의 결과는?

  1. FALSE
  2. A
  3. B
  4. C
정답 보기

3번 B

85 ≥ 90은 거짓 → 바깥 IF의 세 번째 자리, 즉 안쪽 IF로 간다. 85 ≥ 80은 참 → B. 중첩 IF는 위(큰 기준)에서부터 차례로 걸러 낸다.

Q2. A1=70, B1=90일 때 =IF(AND(A1>=80,B1>=80),"통과","재시험")의 결과는?

  1. 통과
  2. 재시험
  3. FALSE
  4. TRUE
정답 보기

2번 재시험

A1이 80 미만이라 AND는 FALSE.

Q3. A1=70, B1=90일 때 =IF(OR(A1>=80,B1>=80),"통과","재시험")의 결과는?

  1. 통과
  2. TRUE
  3. #VALUE!
  4. 재시험
정답 보기

1번 통과

B1이 80 이상이라 OR는 TRUE.

Q4. 수식 결과가 오류일 때 "확인 필요"를 보여 주는 함수는?

  1. IFERROR
  2. NOT
  3. ISBLANK
  4. IFS
정답 보기

1번 IFERROR

=IFERROR(수식,"확인 필요").

헷갈리기 쉬운 O·X

IF 함수에서 결과로 글자를 쓸 때는 큰따옴표로 감싸야 한다.

정답 보기

O 맞다. =IF(A1>=60,"합격","불합격")처럼 글자는 큰따옴표로 감싼다. 따옴표가 없으면 엑셀이 이름으로 읽어 #NAME? 오류가 난다.

OR 함수는 모든 조건이 참일 때만 TRUE를 돌려준다.

정답 보기

X 틀리다. 그건 AND다. OR는 조건 가운데 하나만 참이어도 TRUE를 돌려준다.

IF의 세 번째 인수를 생략하고 조건이 거짓이면 0이 나온다.

정답 보기

X 틀리다. 세 번째 인수를 아예 빼면 거짓일 때 FALSE가 나온다. 쉼표만 남기고 비우면(=IF(조건,값,)) 0이 나온다.

함께 보면 좋은 개념