엑셀 AND OR NOT 함수 사용법

· 엉클벤 엑셀함수(스프레드시트)

핵심 요약

  • AND는 조건이 모두 참일 때만 TRUE, OR는 조건 중 하나라도 참이면 TRUE를 돌려줍니다.
  • NOT은 TRUE를 FALSE로, FALSE를 TRUE로 뒤집습니다. "~가 아닌 경우"를 표현할 때 씁니다.
  • 여러 함수를 겹쳐 쓸 때는 가장 안쪽 괄호부터 TRUE·FALSE로 바꿔 가며 읽으면 결과를 쉽게 확인할 수 있습니다.

"두 과목 모두 60점 이상", "서울 또는 부산 지점", "해지 상태가 아닌 계약"처럼 실무 조건은 하나로 끝나지 않는 경우가 많습니다. 비교 연산자 하나로는 이런 조건을 한 번에 판단하기 어렵습니다.

AND, OR, NOT 함수는 여러 비교식을 묶어 하나의 TRUE·FALSE로 만들어 줍니다. 이 글에서는 세 함수의 사용법을 예시와 함께 정리하고, 함수를 조합하는 방법과 범위를 넣을 때 주의할 점을 설명합니다.

조건 여러 개 한 번에 판단 - AND·OR·NOT 함수

AND 함수: 모든 조건이 참일 때만 TRUE

=AND(조건1, 조건2, …)
인수뜻예시
조건1TRUE 또는 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에 있는지 확인해 보겠습니다.

Factory 열에 New York East, Boston East, Chicago North 등 공장 이름, City 열에 도시가 있고 Region 열 D3 셀이 선택된 엑셀 표
C열 도시를 조건으로 판단할 공장 목록 (영문판 엑셀 화면 · 이미지 출처: Deskbright's Ultimate Excel Book, 저자 허락 하에 사용)
  1. D3 셀을 클릭합니다.
  2. =OR(C3="Boston", C3="New York")를 입력하고 Enter를 누릅니다.
  3. 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)에서 계산 순서를 따라가 보면 다음과 같습니다.

  1. 안쪽 비교식을 계산: AND(OR(FALSE, TRUE), NOT(FALSE))
  2. OR와 NOT을 계산: AND(TRUE, TRUE)
  3. 최종 결과: 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차원 찾기, 엑셀 수식과 함수 기초 중첩 함수까지

벤

글쓴이 · 엉클벤

엑셀·스프레드시트 함수, AI 활용법, 컴퓨터·스마트폰 생활 팁을 따라 하기 쉽게 정리합니다. 틀린 내용은 연락처로 알려 주세요. 소개 보기

📚 벤스페이퍼 엑셀 강좌

기초부터 피벗 테이블까지 배우는 순서대로 정리한 엑셀 강좌 전체 목차에서 다음 글을 이어서 볼 수 있습니다.

Powered by Blogger