엑셀 AND OR NOT 함수 완벽 비교 및 다중 조건 판별법

엑셀로 작성된 데이터를 다루다 보면 한 가지 조건만 확인하는 것이 아니라, 여러 개의 조건이 동시에 들어맞는지 판별해야 하는 순간이 자주 찾아옵니다. 이럴 때 단독으로 IF 함수만 사용하면 수식이 지나치게 길어지거나 구조가 복잡해지기 마련입니다. 하지만 엑셀의 대표적인 논리 함수인 AND, OR, NOT을 적절히 결합해 주면 수식의 길이를 단숨에 줄이고 직관적으로 조건식을 구성할 수 있습니다. 


모든 조건을 만족해야만 참이 되는 AND 함수

AND 함수는 인수로 지정된 모든 조건이 전부 참(TRUE)일 때만 최종 결과로 TRUE를 반환하는 함수입니다. 지정된 조건 중 단 하나라도 거짓(FALSE)이 섞여 있다면 최종 결과는 무조건 FALSE가 됩니다. AND 함수의 구조는 =AND(조건1, 조건2, ...) 형태로 작성하며, 조건은 최대 255개까지 계속 추가할 수 있습니다. 예를 들어 =AND(A1>=60, B1>=60) 수식은 A1 셀도 60점 이상이고 B1 셀도 60점 이상이어야만 TRUE가 나오게 됩니다. 조건 통과 기준이 엄격한 평가표나 자격 심사표에서 가장 흔하게 활용됩니다. 모든 필수 항목이 동시에 충족되어야 하는 상황이라면 AND 함수를 사용하시는게 결과값을 올바르게 내릴 수 있습니다.


하나만 통과해도 참이 되는 관대한 OR 함수

반대로 OR 함수는 러 조건 중에서 단 하나라도 참(TRUE)이면 최종 결과로 TRUE를 반환하는 특징을 가지고 있습니다. 셀에 포함된 모든 조건이 완벽히 거짓일 때만 예외적으로 FALSE를 반환하게 됩니다. or 함수의 구조는 =OR(조건1, 조건2, ...) 형태로 AND 함수와 완전히 동일하지만 작동하는 원리는 조금 다릅니다. =OR(A1>=90, B1>=90) 이라는 수식이 있다면, A1 셀이 90점 이상이거나 B1 셀이 90점 이상 중 하나만 충족해도 최종 결과는 TRUE로 판단하게 됩니다. 로모션 대상자를 가려낼 때 구매 금액이 높거나 방문 횟수가 많은 고객 중 하나만 해당해도 혜택을 제공하는 등 가산점 부여나 선택적 혜택 적용 로직을 만들 때 매우 유용합니다.


결과를 반대로 뒤집는 NOT 함수

NOT 함수는 논리 판단의 결과를 반대로 전환해 주는 함수입니다. 입력받은 조건의 연산 결과가 TRUE이면 FALSE로 바꾸고, 반대로 FALSE이면 TRUE로 출력을 하게 됩니다. 기본 함수의 구성은 인수를 하나만 받는 =NOT(논리값 또는 조건식) 형태를 가집니다. 예를 들어서 설명을 드리면 =NOT(A1>=60) 은 A1 셀의 값이 60 이상이 아닐 때만(60 미만일 때) TRUE를 반환하게 되는 구조입니다. 특정 상태가 '완료'가 아닌 미완료 건만 골라내거나, 제외 기준을 세워 데이터를 정제해야 할 때 조건식을 꼬이지 않고 심플하게 구성할 수 있도록 도와줍니다.


IF 함수와 결합한 실무 합격 불합격 판별 수식

논리 함수들은 혼자 쓰이기보다 IF 함수와 결합했을 때 함수의 범위가 더 넓어집니다. 국어, 영어, 수학, 사회, 과학 5개 과목이 각각 C3, D3, E3, F3, G3 셀에 들어있을 때, 모든 과목이 60점 이상인 경우에만 합격을 주려면 =IF(AND(C3>=60, D3>=60, E3>=60, F3>=60, G3>=60), "합격", "불합격") 과 같이 수식을 완성하면 됩니다. 하지만 두 과목 중 하나라도 90점 이상일 때 우수 등급을 매기려면 =IF(OR(C3>=90, D3>=90), "우수", "일반") 으로 작성하시면 됩니다. 또한 작업 상태 셀인 A1이 완료가 아닐 때 진행중으로 표시하고자 한다면 =IF(NOT(A1="완료"), "진행중", "완료") 로 응용해서 결과값을 만들 수 있습니다. Microsoft 365에서 주의점이 있습니다. 과거 엑셀 구버전에서는 여러 셀의 조건을 한 번에 판별하기 위해 =AND(C3:G3>=60) 과 같이 범위 지정 수식을 작성한 후 Ctrl + Shift + Enter 키를 눌러 배열 수식 형태로 입력하곤 했습니다. 그러나 Microsoft 365나 Excel 2021 이상의 환경에서는 동적 배열이 지원되면서 굳이 복잡하게 배열 수식을 구성할 필요가 없어졌습니다. 더욱이 논리 함수 내부에서 범위를 직접 지정하면 인수로 전달된 범위 전체의 논리 연산 결과가 하나로 합쳐지면서 예기치 못한 계산 오류나 #VALUE! 에러가 발생할 수 있습니다. 따라서 여러 과목의 점수를 각각 비교하고자 할 때는 =AND(C3>=60, D3>=60, E3>=60) 처럼 각 셀의 비교 연산을 쉼표로 구분하여 개별 지정해 주는 방식이 좋은 방법이 됩니다. 이 방식이 이전 버전과의 호환성도 뛰어납니다. 각 함수의 조건 만족 기준을 명확히 익혀 두신다면 자동화된 업무 보고서 작성은 물론 데이터 정리 작업을 더욱 효율적으로 처리 하실 수 있습니다.