edubun
한국어

AND, OR, 중첩 IF

점수 81점에 출석률 70%인 학생은 점수 기준은 넘고 출석 기준은 못 넘습니다. AND는 둘 다, OR는 하나만 있으면 됩니다.

배경지어낸 이야기입니다. 성적 입력 마감 전날 밤, 한 선생님이 성적표를 만듭니다. 기준은 90점 이상 A, 80점 이상 B, 70점 이상 C, 60점 이상 D, 그 아래는 F입니다. 선생님은 떠오르는 대로 낮은 기준부터 =IF(B2>=60, "D", IF(B2>=70, "C", ...))라고 씁니다. 그러자 60점을 넘은 학생은 93점을 받은 학생까지 모두 D가 됩니다. 오류 표시는 어디에도 없습니다. 다음 날 아침 한 학생이 이상하다고 알려 준 뒤에야 문제가 드러납니다. 고치는 방법은 순서를 거꾸로 바꾸는 일인데, 왜 그런지는 아래에서 차례로 풉니다.

조건 두 개를 한꺼번에: AND와 OR

선생님에게는 규칙이 하나 더 있습니다. 통과하려면 점수 60점 이상과 출석률 80% 이상을 둘 다 넘어야 합니다. AND는 검사를 하나 이상 받고(Excel은 255개까지), 모든 검사가 TRUE일 때만 TRUE를 돌려줍니다. =AND(B2>=60,C2>=80)처럼 씁니다. OR는 검사 가운데 하나라도 TRUE면 TRUE입니다. =OR(B2>=90,C2=100)은 점수가 아주 높거나 결석이 한 번도 없는 학생에게 상을 줄 때 표시로 쓸 수 있습니다. NOT은 TRUE와 FALSE를 뒤집습니다. 「~가 아니면」으로 말하는 규칙에 어울립니다. 「출석 일수 3분의 2 이상이고 과제 제출」 같은 규칙도 AND 하나로 옮길 수 있습니다(지어낸 예입니다).

AND와 OR만 쓰면 TRUE나 FALSE만 나옵니다. 낱말로 바꾸려면 IF 안에 넣어 =IF(AND(B2>=60, C2>=80), "Yes", "No")처럼 씁니다. 안쪽 검사는 서로 다른 열을 가리켜도 되고, 텍스트를 비교하거나 계산을 넣어도 됩니다. AND와 OR는 범위 안의 텍스트와 빈칸을 건너뛰고, 검사할 값을 하나도 찾지 못하면 #VALUE!를 돌려줍니다. 아래 표는 점수 60 이상, 출석률 80 이상이라는 두 검사를 학생 네 명에게 적용한 결과입니다. TRUE와 FALSE만 늘어선 열은 읽는 사람이 다시 해석해야 하므로, 남에게 보여 줄 표라면 IF로 감싸 낱말로 바꾸는 편이 친절합니다.

수식을 쓰기 전에 규칙을 우리말 한 문장으로 먼저 말해 보세요. 「점수 60 이상이고 출석률 80 이상이면 통과」는 그대로 AND입니다. 「둘 중 하나만 넘으면 통과」는 OR입니다. 「60점 이상이면서, 출석률 80 이상이거나 진단서가 있으면」처럼 둘이 섞이면 함수 안에 함수를 넣어 =AND(B2>=60, OR(C2>=80, D2="note"))처럼 씁니다. 안쪽부터 먼저 써서 원하는 자리에서 TRUE와 FALSE가 나오는지 확인하고, 그다음에 바깥으로 감싸세요. 우리말 문장에 「~이고」나 「그리고」가 나오면 AND, 「~거나」나 「또는」이 나오면 OR라고 보면 대개 맞습니다.

점수출석률ANDOR
9395TRUETRUE
8170FALSETRUE
6688TRUETRUE
5570FALSEFALSE

이야기 속 93점이 D가 된 까닭

IF 하나로는 결과가 두 가지뿐입니다. 더 필요하면 거짓일 때의 답 자리에 IF를 하나 더 넣습니다. 그러면 성적 기준은 =IF(B2>=90, "A", IF(B2>=80, "B", IF(B2>=70, "C", IF(B2>=60, "D", "F"))))가 됩니다. 스프레드시트는 첫 검사를 해 보고, 그 검사가 실패했을 때만 다음으로 넘어갑니다. 이야기 속 성적표가 틀린 이유도 여기에 있습니다. B2>=60을 맨 앞에 두면 93점은 첫 검사를 통과해 D에서 멈추고, 더 높은 기준은 읽히지도 않습니다. 가장 높은 기준부터 시작해 아래로 내려가야 합니다.

괄호도 세어 보세요. IF가 네 개면 끝에 닫는 괄호도 네 개입니다. Excel 제한 안내에 따르면 함수는 64단계까지 겹칠 수 있지만, 서너 단계만 넘어도 읽기 어렵고 고치다 망가뜨리기 쉽습니다. 두 프로그램의 새 버전에는 검사와 답을 겹치지 않고 나란히 늘어놓는 IFS가 있고, 구글의 IF 도움말도 이 함수로 이어집니다. 단계가 긴 기준표라면 다음 단원의 찾기 표가 더 깔끔합니다. 기준값이 칸에 들어 있어서 누구든 보고 바꿀 수 있기 때문입니다. 괄호를 셀 때는 여는 괄호마다 손가락을 하나씩 접었다가, 닫는 괄호를 칠 때마다 하나씩 펴 보세요. 끝에서 손가락이 다 펴져 있어야 맞습니다.

아래 실습장에서 성적 열은 IF 네 개를, 통과 열은 IF와 AND를 씁니다. 두 열을 채운 뒤 Ben과 Dev를 견줘 보세요. Ben은 점수가 더 높은데 출석률에서 걸리고, Dev는 출석은 좋은데 점수가 60점에 못 미칩니다. 두 사람 모두 통과하지 못하지만 이유는 서로 다릅니다.

기준의 경계에 있는 값을 넣어 보세요. 성적표라면 수식을 믿기 전에 딱 90, 89.9, 60, 59.9를 넣어 봅니다. 실수는 대부분 경계에 숨어 있습니다. 바로 >와 >=가 서로 다른 답을 내는 자리입니다.
불러오는 중

끌어서 돌리고, 휠이나 두 손가락으로 확대하세요.

D2에 성적 수식을 쓰고 아래로 채우세요. 60점 검사를 맨 앞에 두면 Ana가 D로 떨어지는 것을 볼 수 있습니다.
자주 하는 실수
  • 중첩 IF를 가장 낮은 기준부터 쓰기 처음으로 TRUE가 된 검사에서 끝납니다. B2>=60이 맨 앞이면 60점 이상은 모두 D에서 멈춥니다.
  • =IF(B2>=60 AND C2>=80, ...)처럼 쓰기 AND는 검사 사이에 끼우는 낱말이 아니라 검사를 인수로 받는 함수입니다. AND(B2>=60, C2>=80)으로 씁니다.
  • 둘 다 넘어야 하는 규칙에 OR 쓰기 81점에 출석률 70%인 학생은 OR로는 통과, AND로는 탈락입니다. 규칙을 소리 내어 읽었을 때 「그리고」가 들어가면 AND입니다.
  • 닫는 괄호 개수 놓치기 IF 네 개를 겹치면 끝에 )가 네 개 있어야 합니다. 하나라도 모자라면 수식이 받아들여지지 않습니다.
선생님 메모중첩 IF는 한눈에 읽히지 않는 수식을 처음 만나는 자리인 경우가 많습니다. 칠판에서 한 단계씩 쌓으세요. 먼저 A인지 아닌지만 가르는 IF 하나를 쓰고, 「A 아님」 자리를 두 번째 IF로 바꾸는 식으로 늘리면서 단계마다 시험해 봅니다. 아래로 채우기 전에 93점, 85점, 60점, 59.9점의 성적을 먼저 말해 보게 하세요. 순서가 틀린 성적표 이야기는 들려줄 만합니다. 오류 없이 틀리고, 한 번 보면 고치는 법이 바로 보이기 때문입니다. 단계가 네 개를 넘는 기준표라면 IFS나 찾기 표를 권하세요.
  1. B2가 81, C2가 70입니다. =AND(B2>=60,C2>=80)의 결과는 무엇일까요?
    • FALSE
    • TRUE
  2. 같은 셀입니다. =OR(B2>=60,C2>=80)의 결과는 무엇일까요?
    • TRUE
    • FALSE
  3. =NOT(5>3)의 결과는 무엇일까요?
    • FALSE
    • TRUE
  4. B2가 93입니다. =IF(B2>=90, "A", IF(B2>=80, "B", "C"))의 결과는 무엇일까요?
  5. B2가 85입니다. 같은 수식의 결과는 무엇일까요?
  6. B2가 93입니다. 순서를 잘못 쓴 =IF(B2>=60, "D", IF(B2>=90, "A", "F"))의 결과는 무엇일까요?
  7. 다른 함수 없이 IF 네 개를 겹친 수식은 끝에 닫는 괄호가 몇 개일까요?
  8. Excel은 함수를 몇 단계까지 겹쳐 쓸 수 있을까요?
  9. B2가 66, C2가 88입니다. =IF(AND(B2>=60, C2>=80), "Yes", "No")의 결과는 무엇일까요?
  10. 「60 이상 합격」 수식을 점검하기에 가장 좋은 점수는 어느 것일까요?
    • 60과 59.9
    • 100과 0
    • 75와 76
    • 30과 90
핵심 정리
  • AND는 모든 검사가 TRUE, OR는 하나 이상 TRUE, NOT은 반대입니다.
  • IF 안에 넣어 TRUE나 FALSE를 낱말로 바꿉니다.
  • 중첩 IF는 거짓 자리에 다음 IF를 넣고, 가장 높은 기준부터 씁니다.
  • 경계값을 시험하고, 단계가 길면 찾기 표가 더 깔끔합니다.
이 과정의 출처 (19)
  • Microsoft Support, "Switch between relative, absolute, and mixed references" (support.microsoft.com/en-us/office/dfec08cd-ae65-4f56-839e-5f0d8d0baca9: $ before column and row, F4 to switch, copying two down and two right: $A$1 stays, A$1 to C$1, $A1 to $A3, A1 to C3)
  • Microsoft Support, "AVERAGE function" (support.microsoft.com/en-us/office/047bac88-d466-426c-a32b-8f33eb960cf6: text, logical values and empty cells in a reference ignored, zeros included; 10, 7, 9, 27, 2 gives 11, with 5 gives 10; mean 5, median 4, mode 3 for 2 3 3 5 7 10)
  • Microsoft Support, "COUNT function" (support.microsoft.com/en-us/office/a59cd7fc-b623-4d93-87a4-d23bf411294c: only numbers counted, dates count, errors and text do not)
  • Microsoft Support, "ROUND function" (support.microsoft.com/en-us/office/c018c5d8-40fb-4053-90b1-b3e7f61a213c: num_digits required; 2.15 to 2.2, -1.475 to -1.48, 626.3 to 1000, 1.98 to 0, -50.55 to -100)
  • Microsoft Support, "IF function" (support.microsoft.com/en-us/office/69aed7c9-4e8a-4755-a9bc-aa8bbff73be2: value_if_false optional, text in quotes except TRUE and FALSE, 0 and #NAME? problems)
  • Microsoft Support, "VLOOKUP function" (support.microsoft.com/en-us/office/0bbc8083-26fe-4963-8ab8-93a18ad188a1: range_lookup TRUE by default, sorted first column, #N/A, #REF!, #VALUE!, absolute table range, wildcards with FALSE)
  • Microsoft Support, "XLOOKUP function" (support.microsoft.com/en-us/office/b7fd680e-6d10-43e6-84f9-88eae8bf5929: not in Excel 2016 and Excel 2019, exact match by default)
  • Microsoft Support, "How to correct a #VALUE! error" (support.microsoft.com/en-us/office/15e1b616-fbf2-4147-9c0b-0a11a20e409e: + and * may not calculate cells with text, use SUM instead, IFERROR hides all errors)
  • Microsoft Support, "Excel specifications and limits" (15 digits, 64 nested levels, 255 arguments)
  • Google Docs Editors Help, "VLOOKUP" (support.google.com/docs/answer/3093318: is_sorted TRUE by default, FALSE recommended, search down to a larger value, " Apple" and "Apple " differ, wildcards, IFNA, absolute range)
  • Google Docs Editors Help, "XLOOKUP" (support.google.com/docs/answer/12405947)
  • Google Docs Editors Help, "ROUND" (support.google.com/docs/answer/3093440: places optional, 0 by default, rounding by magnitude)
  • Google Docs Editors Help, "IF" (support.google.com/docs/answer/3093364: order of the answers is the most common problem, IFS)
  • Google Docs Editors Help, "AVERAGE" (support.google.com/docs/answer/3093615: text ignored, any number of arguments)
  • Google Docs Editors Help, "COUNTA" (support.google.com/docs/answer/3093991: zero-length strings and spaces count)
  • Google Docs Editors Help, "Keyboard shortcuts for Google Sheets" (support.google.com/docs/answer/181110: F4 and Fn+F4 while entering a formula, F4 as Redo)
  • Pryor Learning and Exceljet (F4 cycle A1, $A$1, A$1, $A1; = comparison not case-sensitive)
  • Ablebits (IF without value_if_false returns FALSE)
  • Spreadsheet Class (Sheets circular dependency shows #REF!)

확인한 날: 2026-10-19