=AND(B2>=50,C2>=50)은 두 조건이 모두 참일 때만 TRUE를 반환합니다. =OR(B2>=50,C2>=50)은 둘 중 하나라도 참이면 TRUE를 반환합니다. IF 안에 넣으면 두 조건이 하나의 조건이 됩니다: =IF(AND(B2>=50,C2>=50),"Pass","Fail").
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Student | Exam | Project | Both 50+ | Either 50+ |
| 2 | Ana | 72 | 64 | Pass | Pass |
| 3 | Ben | 45 | 80 | Fail | Pass |
| 4 | Chloe | 58 | 51 | Pass | Pass |
| 5 | Dan | 38 | 42 | Fail | Fail |
| 6 | Eve | 91 | 47 | Fail | Pass |
Ben과 Eve는 한 과목은 합격, 다른 과목은 불합격이라서 D열(AND)에서는 Fail, E열(OR)에서는 Pass입니다. Dan은 둘 다 불합격이라 두 열 모두 Fail입니다. B3에 있는 Ben의 시험 점수를 55로 바꾸면 D열에서도 합격합니다.
AND 함수
=AND(logical1, [logical2], ...)
AND는 조건을 255개까지 받고, 모든 조건이 TRUE일 때만 TRUE를 반환합니다. FALSE가 하나만 있어도 결과는 FALSE입니다. AND만 쓰면 셀에 TRUE나 FALSE가 표시되고, IF 안에 넣으면 IF가 어떤 결과를 반환할지 결정합니다.
숫자가 두 값 사이에 있는지 확인하기
엑셀에는 BETWEEN 함수가 없습니다. 아래 경계와 위 경계를 AND로 함께 쓰세요:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Sample | Temp | Between 10 and 20 | Status |
| 2 | S1 | 14 | TRUE | OK |
| 3 | S2 | 22 | FALSE | Check |
| 4 | S3 | 10 | TRUE | OK |
| 5 | S4 | 7 | FALSE | Check |
| 6 | S5 | 20 | TRUE | OK |
S3과 S5는 정확히 경계에 있고, 조건이 >=와 <=를 쓰므로 범위 안으로 셉니다. 경계를 제외하려면 >와 <를 쓰세요. 경계를 셀에 두고 =AND(B2>=$F$1,B2<=$F$2)라고 쓰면 수식을 고치지 않고 범위를 바꿀 수 있습니다. 10<=B2<=20 같은 조건은 엑셀에서 동작하지 않습니다. 10<=B2(TRUE 또는 FALSE)를 20과 비교하는데, 엑셀은 TRUE와 FALSE를 모든 숫자보다 크게 취급하므로 결과는 항상 FALSE입니다.
OR 함수
=OR(logical1, [logical2], ...)
OR은 조건이 하나라도 TRUE이면 TRUE를 반환하고, 모두 FALSE일 때만 FALSE를 반환합니다. 여러 텍스트 값을 허용할 때 흔히 쓰는 방법입니다:
| A | B | C | |
|---|---|---|---|
| 1 | Order | Region | Zone |
| 2 | 1001 | North | Zone 1 |
| 3 | 1002 | East | Zone 2 |
| 4 | 1003 | South | Zone 1 |
| 5 | 1004 | West | Zone 2 |
| 6 | 1005 | south | Zone 1 |
텍스트 비교는 대소문자를 무시하므로 소문자 south도 Zone 1에 들어갑니다. 허용할 값이 많으면 =OR(B2={"North","South","Central"})가 B2를 배열 상수의 각 항목과 한 번에 비교합니다.
NOT과 XOR
NOT은 논리값을 뒤집습니다: =NOT(TRUE)는 FALSE입니다. 가진 조건이 원하는 조건의 반대일 때 읽기 좋습니다. =IF(NOT(C2="Done"),"Follow up","")은 =IF(C2<>"Done","Follow up","")과 같습니다.
Excel 2013부터 쓸 수 있는 XOR은 배타적 논리합입니다. 조건이 두 개이면 정확히 하나만 TRUE일 때 TRUE이고, 둘 다 TRUE이거나 둘 다 FALSE이면 FALSE입니다. 조건이 더 많으면 TRUE인 조건의 개수가 홀수일 때 TRUE입니다.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Task | Owner | Status | Open | One check only |
| 2 | Report | Ana | Done | FALSE | FALSE |
| 3 | Budget | Ben | Open | TRUE | FALSE |
| 4 | Slides | Ana | Open | TRUE | TRUE |
| 5 | Survey | Ben | Done | FALSE | TRUE |
| 6 | Plan | Ana | Done | FALSE | FALSE |
E열은 Slides(Ana지만 Done이 아님)와 Survey(Done이지만 Ana가 아님)에서 TRUE이고, 둘 다 맞거나 둘 다 아닌 곳에서는 FALSE입니다.
AND와 OR 함께 쓰기
조건은 중첩할 수 있습니다. OR 안에 AND를, AND 안에 OR을 넣을 수 있습니다. 담당자가 North 지역에 있으면서 매출이 1,000을 넘거나 신규 고객을 유치했다면 보너스를 받습니다:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Rep | Region | Sales | New client | Bonus |
| 2 | Ana | North | 1200 | No | Bonus |
| 3 | Ben | North | 700 | Yes | Bonus |
| 4 | Chloe | South | 1500 | Yes | |
| 5 | Dan | North | 900 | No | |
| 6 | Eve | North | 1100 | Yes | Bonus |
Ana(매출), Ben(신규 고객), Eve(둘 다)가 보너스를 받습니다. Chloe는 OR 부분을 충족하지만 South에 있고, Dan은 North에 있지만 OR 조건 어느 쪽도 충족하지 않습니다.
연습: 무료 배송
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Order | Total | Member | Shipping |
| 2 | 1001 | 35 | Yes |
직접 해 보세요: D2에서 B2의 주문 합계가 50 이상이거나 고객이 회원이면(C2가 "Yes") "Free"를, 아니면 "Paid"를 표시하세요.
배열 수식의 AND와 OR: *와 + 쓰기
AND와 OR은 받은 것을 모두 TRUE나 FALSE 하나로 접습니다. 한 행에서는 원하는 동작이지만, 수식이 열 전체를 한 번에 다룰 때는 그렇지 않습니다. =AND(B2:B6="North",C2:C6>100)은 다섯 행 전체에 대해 값 하나를 반환합니다. 배열 수식(FILTER, SUMPRODUCT, 조건을 거친 SUM)에서는 조건을 괄호로 감싸고 AND는 곱하기로, OR은 더하기로 씁니다. TRUE는 1, FALSE는 0으로 계산되므로 곱은 둘 다 참일 때만 1이고, 합은 하나라도 참이면 1 이상입니다.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Rep | Region | Sales | Count | ||
| 2 | Ana | North | 1200 | North and over 1,000 | 2 | |
| 3 | Ben | South | 700 | North or over 1,000 | 4 | |
| 4 | Chloe | North | 900 | |||
| 5 | Dan | South | 1500 | |||
| 6 | Eve | North | 1100 |
F2는 2개 행(Ana와 Eve)을, F3은 4개 행(Ben을 뺀 모두)을 셉니다. F3에서는 >0이 중요합니다. 두 조건을 모두 충족하는 행은 합이 2가 되는데, 비교가 0보다 큰 합을 모두 TRUE 하나로 바꿉니다. 같은 패턴으로 행을 걸러낼 수도 있습니다: =FILTER(A2:C6,(B2:B6="North")*(C2:C6>1000)). AND 논리로 개수만 셀 때는 COUNTIFS가 배열 없이 해 줍니다: =COUNTIFS(B2:B6,"North",C2:C6,">1000"). COUNTIFS 페이지를 보세요.
자주 묻는 질문
엑셀에서 IF와 AND를 함께 쓰려면 어떻게 하나요?
IF의 조건에 AND를 넣습니다: =IF(AND(B2>=50,C2>=50),"Pass","Fail"). B2와 C2가 모두 50 이상일 때만 결과가 Pass입니다.
엑셀에서 숫자가 두 값 사이에 있는지 어떻게 확인하나요?
비교 두 개와 AND를 씁니다. =AND(B2>=10,B2<=20)은 10부터 20까지, 양 끝을 포함한 모든 값에 TRUE를 반환합니다. IF 안에서는 =IF(AND(B2>=10,B2<=20),"In range","Out of range")입니다.
엑셀에서 AND와 OR은 무엇이 다른가요?
AND는 모든 조건이 TRUE일 때만 TRUE를 반환합니다. OR은 조건이 하나라도 TRUE이면 TRUE를 반환합니다. =AND(TRUE,FALSE)는 FALSE이고 =OR(TRUE,FALSE)는 TRUE입니다.
FILTER나 SUMPRODUCT 수식에서 AND가 동작하지 않는 이유는 무엇인가요?
AND와 OR은 범위 전체를 행마다 하나가 아니라 TRUE나 FALSE 하나로 줄입니다. 배열 수식에서는 AND 대신 조건을 곱하고((B2:B6="North")*(C2:C6>100)), OR 대신 더하세요.
한 수식에서 AND와 OR을 함께 쓸 수 있나요?
있습니다. 하나를 다른 하나 안에 넣으세요. =IF(AND(B2="North",OR(C2>1000,D2="Yes")),"Bonus","")는 North이면서 매출이 1000을 넘거나 D2가 Yes인 경우를 요구합니다.