엑셀에서 '여러 조건에서 하나만 만족하거나 홀수 개를 만족하는지 판별'해야 할 때는 배타적 논리합을 구하는 XOR 함수를 사용합니다. 함수 이름 XOR은 배타적 논리합을 의미하는 exclusive OR을 줄여서 쓴 것입니다.
논리 함수 중에 이름이 비슷한 OR 함수는 여러 조건 중에서 하나라도 만족하는지 판별할 때 사용하고, AND 함수는 여러 조건을 모두 만족하는지 판별할 때 사용합니다.
구문(Syntax)
XOR(logical1, [logical2],…)
배타적 논리합을 구해준다. 인수 중 하나만 만족하거나 홀수 개를 만족하면 TRUE를 반환한다.
인수 :
- Logical1 : 첫 번째 판별 조건으로, TRUE 또는 FALSE가 될 수 있다.
- Logical2, … : 첫 번째 판별 조건과 마찬가지로 TRUE 또는 FALSE로 평가될 수 있는 추가 판별 조건, 2번째, 3번째… 인수를 연속적으로 입력할 수 있고 최대 254개까지 가능
사용 예
1) 2개의 조건에서 하나만 만족하는 경우 판별하기
2개의 조건에서는 하나만 만족할 때 TRUE를 반환합니다.
=XOR(2>1, 3>0) => FALSE (2개 모두 만족)
=XOR(2>1, 3>5) => TRUE (한 개만 만족)
=XOR(0>1, 3>5) => FALSE (모두 만족하지 못함)
=XOR(-5>1, 3>0) => TRUE (한 개만 만족)
2) 3개 이상의 조건을 판별하기
3개 이상의 조건에서는 홀수 개를 만족할 때 TRUE를 반환합니다.
=XOR(2>1, 3>5, 1<-3) => TRUE (한 개 만족)
=XOR(1>0, 2>0, 2<0) => FALSE(2개 만족)
=XOR(2>1, 3>0, 1>0) => TRUE (3개 만족)
=XOR(0>1, 3>5, 0>5) => FALSE(모두 만족하지 못함)
3) 응용하기 - 선물신청 시 한 개만 허용할 경우
선물신청 시 한 개만 허용할 경우 다음과 같이 응용할 수 있습니다.
1개만 신청하면 TRUE를 반환하고, 2개 모두 신청하거나 하나도 신청하지 않으면 FALSE를 반환하도록 수식을 입력합니다.
=XOR(C22="O",D22="O")
노준호, 이누리는 한 개만 신청했으므로 결과는 TRUE가 되고 박성광, 김아람은 하나만 신청하는 룰을 따르지 않았으므로 FALSE가 됩니다.
관련 글