본문 바로가기
Skill

AND OR NOT XOR : 엑셀 논리 함수

by 어제 보다 나은 나 2023. 7. 31.
반응형

엑셀에서 논리 연산을 하는 함수들입니다.


1. AND 함수


코딩을 해 본 사람들은 엑셀의  논리 연산이 특이하다는 것을 알 것입니다.
코딩에서는   ( TRUE AND FALSE) 와 같이, AND를 이항 연산자 형태로 사용합니다.
그러나, 엑셀에서 AND는 함수입니다.


(1) 상수를 인수로 넣을 때

 

TRUE 또는 FALSE 를 
AND(TRUE, FALSE,  FALSE, TRUE)  와 같이,

나열할 수도 있지만, 일반적으로는 
TRUE 또는 FALSE를 반환하는 함수를 인수로 나열합니다.

TRUE, FALSE 대신, 1, 0 을 인수로 넣을 수도 있습니다.
정확하게는 1, 0 이 아니라,   0 이 아닌 숫자와 0 입니다.
0 은 FALSE , 0 이 아닌 숫자는 TRUE로 처리합니다.


AND() 수식 예를 들면,
AND( 1, 0 ) 은  FALSE 이고,
AND( 1, -1 )은  TRUE 이며,
AND( 1, -2 )은  TRUE 입니다.

-1, -2 같은 음수를 넣었는데, TRUE로 처리한다는 점에 주의하세요.

그래서,  애매하게 숫자를 인수로 넣지 말고, TRUE / FALSE를 사용하는 것이 명확합니다.


(2)  조건식을 인수로 넣을 때


일반적으로는 TRUE / FALSE를 직접 넣지 않고, 
TRUE / FALSE를 반환하는 조건식이나 함수식을 인수로 입력합니다.

 


2.  OR 함수

OR 연산을 하는 함수입니다.
OR 함수의 사용법도 AND() 와 마찬가지입니다.
인수 나열 방법과 주의 사항도 마찬가지입니다.


(1) 상수를 인수로 넣을 때

OR(TRUE, FALSE,  FALSE, TRUE)

아래 OR() 수식을 확인해 보세요.
왼쪽은 수식이고, 오른쪽은 실행 결과입니다.

OR( 1, 0 )      :  TRUE
OR( 0, -1 )     :  TRUE
OR( 0, -2 )     :  TRUE

-1, -2 같은 음수를 넣었는데, TRUE로 처리했다는 점에 주목하세요.


(2)  조건연산식을 인수로 넣을 때

"컬럼1"이 90 이상이거나, "컬럼2"가 4.0 이상인가? 라는 조건을 각 행에 적용하려면 OR 함수를 사용해야 합니다.
"=OR(B3>=90,  C3>= 4)"   

 

 

 

3.  NOT 함수


인수로 입력한 논리값을 반대로 바꾸어 주는 함수입니다.

NOT 함수는 인수를 1개만 입력할 수 있습니다.

"NOT(TRUE)" 이 식의 결과는 FALSE  가 되고,
"NOT(FALSE)" 이 식의 결과는 TRUE  가 됩니다.

인수로 숫자를 넣은 사례는 다음과 같습니다.

NOT(1)      :   FALSE
NOT(0)      :   TRUE
NOT(-2)     :   FALSE
NOT(2)      :    FALSE

조건연산식을 인수로 넣을 때도 1개만 넣을 수 있습니다.
NOT( OR(B3>=90,  C3>= 4) ) 

이런 식으로 어떤 조건식의 결과를 부정할 수 있습니다.   

 

 

4.  XOR 함수


XOR 연산을 하는 함수입니다.
XOR 연산에서는 TRUE가 1개일 때만 TRUE 입니다.

인수 나열 방법은 AND(), OR() 와 같습니다.
따라서,
사례만 확인하면 되겠습니다.

(1) 상수를 인수로 넣을 때

XOR(TRUE, FALSE,  FALSE, TRUE)


이 식은 내부적으로 이런 순서로 계산됩니다.
XOR(XOR(XOR(TRUE, FALSE),FALSE),TRUE)

AND, OR 함수처럼 숫자를 넣을 수도 있습니다.
아래 XOR() 수식을 확인해 보세요.
왼쪽은 수식이고, 오른쪽은 실행 결과입니다.

XOR( 1, 0 )     TRUE
XOR( 0, -1 )    TRUE
XOR( 0, -2 )    TRUE
XOR( 1, 1 )     FALSE


(2)  조건연산식을 인수로 넣을 때

아래 표에서, "컬럼3"은 컬럼1이 90 이상인가, 컬럼2가 4 이상인가라는 2개 조건식에 대해 XOR 연산을 한 결과입니다.

수식은  "=XOR(B3>=90,  C3>= 4)"   입니다.


세번째만 TRUE 입니다. XOR(TRUE, FALSE)이므로, TRUE가 됩니다.

 

 

반응형