Menu

엑셀 AND, OR, NOT 함수와 IF 함께 쓰기: 예제

=AND(B2>=10,B2<=20)은 모든 조건이 참일 때만, =OR(B2="North",B2="South")는 하나라도 참이면 TRUE를 반환합니다. AND, OR, NOT, XOR를 단독으로, 그리고 IF 안에서 쓰는 법, 숫자가 두 값 사이인지 확인하는 법, 배열 수식에서 AND와 OR을 쓰는 법을 알아봅니다.

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

=AND(B2>=50,C2>=50)은 두 조건이 모두 참일 때만 TRUE를 반환합니다. =OR(B2>=50,C2>=50)은 둘 중 하나라도 참이면 TRUE를 반환합니다. IF 안에 넣으면 두 조건이 하나의 조건이 됩니다: =IF(AND(B2>=50,C2>=50),"Pass","Fail").

두 과목 모두 합격, 또는 하나만 합격
D2
ABCDE
1StudentExamProjectBoth 50+Either 50+
2Ana7264PassPass
3Ben4580FailPass
4Chloe5851PassPass
5Dan3842FailFail
6Eve9147FailPass
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

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로 함께 쓰세요:

온도가 범위 안에 있나요?
C2
ABCD
1SampleTempBetween 10 and 20Status
2S114TRUEOK
3S222FALSECheck
4S310TRUEOK
5S47FALSECheck
6S520TRUEOK
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

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를 반환합니다. 여러 텍스트 값을 허용할 때 흔히 쓰는 방법입니다:

지역별 구역
C2
ABC
1OrderRegionZone
21001NorthZone 1
31002EastZone 2
41003SouthZone 1
51004WestZone 2
61005southZone 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입니다.

NOT과 XOR
D2
ABCDE
1TaskOwnerStatusOpenOne check only
2ReportAnaDoneFALSEFALSE
3BudgetBenOpenTRUEFALSE
4SlidesAnaOpenTRUETRUE
5SurveyBenDoneFALSETRUE
6PlanAnaDoneFALSEFALSE
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

E열은 Slides(Ana지만 Done이 아님)와 Survey(Done이지만 Ana가 아님)에서 TRUE이고, 둘 다 맞거나 둘 다 아닌 곳에서는 FALSE입니다.

AND와 OR 함께 쓰기

조건은 중첩할 수 있습니다. OR 안에 AND를, AND 안에 OR을 넣을 수 있습니다. 담당자가 North 지역에 있으면서 매출이 1,000을 넘거나 신규 고객을 유치했다면 보너스를 받습니다:

보너스 규칙
E2
ABCDE
1RepRegionSalesNew clientBonus
2AnaNorth1200NoBonus
3BenNorth700YesBonus
4ChloeSouth1500Yes
5DanNorth900No
6EveNorth1100YesBonus
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

Ana(매출), Ben(신규 고객), Eve(둘 다)가 보너스를 받습니다. Chloe는 OR 부분을 충족하지만 South에 있고, Dan은 North에 있지만 OR 조건 어느 쪽도 충족하지 않습니다.

연습: 무료 배송

무료 배송
D2
ABCD
1OrderTotalMemberShipping
2100135Yes
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

직접 해 보세요: 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 이상입니다.

*와 +로 개수 세기
F2
ABCDEF
1RepRegionSalesCount
2AnaNorth1200North and over 1,0002
3BenSouth700North or over 1,0004
4ChloeNorth900
5DanSouth1500
6EveNorth1100
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

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인 경우를 요구합니다.

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

Coddy로 코딩 배우기

시작하기