핵심 요약
AND는 조건이 모두 참일 때만 TRUE,OR는 조건 중 하나라도 참이면 TRUE를 돌려줍니다.NOT은 TRUE를 FALSE로, FALSE를 TRUE로 뒤집습니다. "~가 아닌 경우"를 표현할 때 씁니다.- 여러 함수를 겹쳐 쓸 때는 가장 안쪽 괄호부터 TRUE·FALSE로 바꿔 가며 읽으면 결과를 쉽게 확인할 수 있습니다.
"두 과목 모두 60점 이상", "서울 또는 부산 지점", "해지 상태가 아닌 계약"처럼 실무 조건은 하나로 끝나지 않는 경우가 많습니다. 비교 연산자 하나로는 이런 조건을 한 번에 판단하기 어렵습니다.
AND, OR, NOT 함수는 여러 비교식을 묶어 하나의 TRUE·FALSE로 만들어 줍니다. 이 글에서는 세 함수의 사용법을 예시와 함께 정리하고, 함수를 조합하는 방법과 범위를 넣을 때 주의할 점을 설명합니다.
AND 함수: 모든 조건이 참일 때만 TRUE
=AND(조건1, 조건2, …)
| 인수 | 뜻 | 예시 |
|---|---|---|
| 조건1 | TRUE 또는 FALSE가 나오는 비교식이나 논리값 | B2>=60 |
| 조건2, … | 추가 조건. 최대 255개까지 넣을 수 있습니다. | C2>=60 |
조건 중 하나라도 FALSE이면 결과는 FALSE입니다.
| 수식 | 결과 | 이유 |
|---|---|---|
=AND(TRUE, TRUE, TRUE) | TRUE | 모두 참 |
=AND(TRUE, FALSE, TRUE) | FALSE | 하나가 거짓 |
=AND(6>3, 8<12) | TRUE | 두 비교식 모두 참 |
=AND(6=6, 7=7, 9=17) | FALSE | 마지막 비교식이 거짓 |
가장 자주 쓰는 형태는 값이 일정 구간 안에 있는지 확인하는 것입니다. A1이 10 이상 20 이하인지 보려면 =AND(A1>=10, A1<=20)으로 씁니다. =10<=A1<=20처럼 한 줄로 이어 쓰면 엑셀이 왼쪽부터 차례로 계산해 엉뚱한 결과가 나오므로, 반드시 AND로 나눠 적습니다.
OR 함수: 하나라도 참이면 TRUE
=OR(조건1, 조건2, …)
OR는 인수 구조가 AND와 같고, 조건이 모두 FALSE일 때만 FALSE를 돌려줍니다. =OR(FALSE, FALSE, TRUE)는 TRUE, =OR(FALSE, FALSE, FALSE)는 FALSE입니다.
아래 표는 B열에 공장 이름, C열에 도시가 있고 D열(Region)이 비어 있습니다. 공장이 Boston이나 New York에 있는지 확인해 보겠습니다.
- D3 셀을 클릭합니다.
=OR(C3="Boston", C3="New York")를 입력하고 Enter를 누릅니다.- C3이 New York이므로 TRUE가 나옵니다. D9까지 복사하면 New York West와 Boston East는 TRUE, Chicago·Austin·San Francisco 공장은 FALSE가 됩니다. 화면처럼 표 기능이 적용된 범위라면 수식이 열 전체에 자동으로 채워집니다.
텍스트 비교는 대소문자를 구분하지 않으므로 C3에 "new york"으로 적혀 있어도 TRUE입니다. 다만 앞뒤에 공백이 있으면 다른 값으로 보니 주의하세요.
NOT 함수: 결과 뒤집기
=NOT(조건)
NOT은 조건을 하나만 받아 반대 값을 돌려줍니다. =NOT(TRUE)는 FALSE, =NOT(FALSE)는 TRUE입니다.
=NOT(C3="Chicago"): 시카고가 아니면 TRUE.=C3<>"Chicago"와 같은 결과입니다.=NOT(OR(C3="Boston", C3="New York")): 두 도시 어느 쪽도 아니면 TRUE.=NOT(ISBLANK(A1)): A1이 비어 있지 않으면 TRUE.
단순 비교는 <>로 충분하고, NOT은 OR·ISBLANK처럼 이미 만들어진 판단 전체를 뒤집을 때 쓸모가 큽니다.
AND·OR·NOT 조합과 주의할 점
세 함수는 서로 겹쳐 쓸 수 있습니다. 예를 들어 "Boston 또는 New York에 있으면서 New York West 공장은 아닌 경우"는 다음과 같습니다.
=AND(OR(C3="Boston", C3="New York"), NOT(B3="New York West"))
3행(New York East)에서 계산 순서를 따라가 보면 다음과 같습니다.
- 안쪽 비교식을 계산:
AND(OR(FALSE, TRUE), NOT(FALSE)) - OR와 NOT을 계산:
AND(TRUE, TRUE) - 최종 결과:
TRUE
AND와 OR는 인수로 받은 값을 전부 모아서 하나의 결과만 돌려줍니다. =AND(A2:A10>0)은 행마다 판단하지 않고 "A2:A10이 모두 0보다 큰가"를 답합니다(엑셀 2019 이하에서는 Ctrl+Shift+Enter로 입력). 배열 수식 안에서 행별로 AND·OR를 적용하려면 조건끼리 곱하기(*, AND 역할)나 더하기(+, OR 역할)를 씁니다. 또 =AND("예")처럼 논리값으로 바꿀 수 없는 텍스트를 직접 넣으면 #VALUE! 오류가 납니다.
조건이 "둘 중 정확히 하나만 참"이어야 한다면 엑셀 2013 이후에 있는 XOR 함수를 쓸 수 있습니다. =XOR(TRUE, TRUE)는 FALSE, =XOR(TRUE, FALSE)는 TRUE입니다.
구글 스프레드시트에서는
구글 스프레드시트의 AND, OR, NOT, XOR는 엑셀과 이름·인수·결과가 같아 위 수식을 그대로 쓸 수 있습니다. ARRAYFORMULA 안에서도 AND·OR는 범위 전체를 하나로 묶어 판단하므로, 행마다 결과를 따로 내려면 엑셀과 마찬가지로 (조건1)*(조건2), (조건1)+(조건2) 형태로 바꿔 씁니다.
자주 묻는 질문
TRUE, FALSE 대신 "합격", "불합격"으로 표시하려면 어떻게 하나요?
AND나 OR를 IF 함수의 조건 자리에 넣습니다. =IF(AND(B2>=60, C2>=60), "합격", "불합격")처럼 쓰면 두 과목이 모두 60 이상일 때만 합격으로 표시됩니다.
AND 안에 숫자를 넣으면 어떻게 되나요?
숫자 0은 FALSE, 0이 아닌 숫자는 TRUE로 처리됩니다. =AND(1, 5)는 TRUE, =AND(1, 0)은 FALSE입니다.
AND와 OR 중 무엇을 써야 할지 헷갈립니다.
조건을 말로 옮겨 "그리고"로 이어지면 AND, "또는"으로 이어지면 OR입니다. "A도 B도 아니다"는 NOT(OR(A, B))로 쓰면 읽기 쉽습니다.
함께 보면 좋은 글: 엑셀 논리값과 비교 연산자 기초, 엑셀 INDEX MATCH 다중 조건과 2차원 찾기, 엑셀 수식과 함수 기초 중첩 함수까지
댓글
댓글 남기기