엑셀 함수 > 논리 함수 > 엑셀에서 조건을 판별하는 논리 함수 알아보기

엑셀에서 조건을 판별하는 논리 함수 알아보기

엑셀의 IF, AND, OR 등 논리 함수는 프로그래밍에서 사용하는 판단, 분기의 개념이 들어가 있습니다. 처음에는 접근하기 쉽지 않지만 조금만 익히면 단순히 값을 계산하는 수준에서 벗어나 조건을 판별하고 조건별로 별도의 처리를 할 수 있습니다.

논리 함수는 엑셀을 강력한 업무 처리 도구로 만들어 줄 수도 있지만 논리 함수로 만든 복잡한 수식은 나중에 수식을 작성한 나 자신도 못알아 볼 수 있으므로 간단하고 알아보기 쉬운 수식을 만들어서 사용하는 것이 좋습니다.

이번 글에서는 논리 함수의 개념 이해를 위해 간단하게  기본 사용법을 소개합니다. 함수별 자세한 사용법은 '함수별 사용법 페이지'를 참고하세요.

실습용 엑셀파일 다운로드 :엑셀-논리함수-알아보기.xlsx

 

조건 판별하기 - IF 함수

엑셀 논리함수에서 가장 기본인 IF 함수를 사용하여 시험 성적이 80점 이상이면 '합격', 80점 미만이면 '불합격'으로 표시해 보겠습니다.

IF 함수로 조건 판별하기

[D6] 셀에 다음 수식이 입력되어 있습니다.

=IF(C6>=80,"합격","불합격") => '합격'
[C6] 셀의 점수가 80점 이상(C6>=80)이므로 '합격'을 표시합니다.

수식을 그림으로 설명하면 다음과 같습니다.

IF 함수로 조건 판별하기 설명

IF 함수는 첫 번째 인수 'C6>=80'의 조건을 만족하면 두 번째 인수 '합격'을 표시하고, 만족하지 못하면 세 번째 인수 '불합격'을 표시합니다.

예시에서는 '합격' 또는 '불합격'이라는 텍스트를 반환하지만 텍스트 대신 다음과 같이 수식을 입력하면 수식의 결과를 반환합니다.

IF 함수로 조건 판별하고 수식으로 결과 표시

=IF(C13>=80,C13*10%,0) => 8.3
[C13] 셀의 점수가  80점 이상(C6>=80)이므로 [C13] 셀에 입력된 점수에 10%를 곱한 결과 8.3을 표시합니다.

 

여러 조건 판별하기 - IF 함수 중첩

IF 함수의 두번째, 세번째 인수에 텍스트나 수식을 넣을 수 있다고 했는데 'IF 함수'도 넣을 수 있습니다. IF 함수 안에 또 IF 함수가 있으므로 두가지 조건을 모두 만족하는지 체크할 수 있습니다. 두 번째 IF 함수 안에 또 IF 함수를 넣으면 3가지를 모두 만족하는지 체크할 수 있습니다. 이런 방식으로 IF 함수를 최대 64개까지 중첩하여 사용할 수 있습니다.

IF 함수를 중첩하여 두 과목 모두 80점이상이면 '합격'으로 표시하고 그 외에는 '불합격'으로 표시해 보겠습니다.

IF 함수를 중첩하여 여러 조건을 판별하기

=IF(C20>=80,IF(D20>=80,"합격","불합격"),"불합격") => '합격'
첫 번째 IF 함수로 [C20]셀의 국어 점수를 판별해 보니 80점 이상이라서, 또 IF 함수로 [D20] 셀의 영어 점수를 판별해 보니 80점 이상이므로 '합격'을 표시합니다.

※ IF 함수 중첩 시 주의 - IF 함수를 여러 번 중첩하면 수식이 복잡해져 읽기도 어렵고 나중에 수정하기도 어렵습니다. 가능하면 IF 함수의 중첩은 최소한으로 하는 것이 좋으며, 작성한 수식에 IF 함수 중첩이 많다면 문제 해결 방법이 잘못되었을 수 있으므로 다른 방법을 검토해 보아야 합니다.

 

여러 조건 판별하기 - AND 함수

IF 함수를 여러 번 중첩하여 여러 조건을 판별할 수 있지만 수식이 복잡해서 알아보기 어려운 단점이 있습니다. 이 때는 AND 함수를 이용하여 여러 조건을 모두 만족하는지 한 번에 간단하게 판별할 수 있습니다.

AND 함수로 두 과목 모두 80점이상이면 '합격'으로 표시하고 그 외에는 '불합격'으로 표시해 보겠습니다.

AND 함수로 여러 조건을 판별하기

IF(AND(C28>=80,D28>=80),"합격","불합격") => '합격'

AND 함수는 조건을 만족하면 TRUE , 만족하지 못하면 FALSE를 반환하므로, 위와 같이 IF 함수를 조합하여 TRUE이면 '합격', FALSE이면 '불합격'으로 표시해 주어야 합니다.

 

하나라도 만족하는지 판별하기 - OR 함수

OR 함수는 여러 조건 중에서 하나라도 만족하는지 판별할 때 사용하는 함수입니다. 아래 그림과 같이 두 과목 중에 하나라도 80점 이상인지 판별할 때 OR 함수를 사용할 수 있습니다.

OR 함수로 하나라도 만족하는지 판별하기

=IF(OR(C36>=80,D36>=80),"합격","불합격") => '합격'
두 과목 모두 80점 이상이므로 '합격' 표시

=IF(OR(C38>=80,D38>=80),"합격","불합격") => '합격'
두 과목 중에 영어는 80점 미만이지만 국어는 80이상이므로 '합격' 표시

 

기타 논리 함수

위에서 설명하지 않았지만 다음과 같은 논리 함수들도 자주 사용됩니다.

함수 사용법
IFS 여러 조건을 판별하고 해당 조건을 만족하는 값을 반환합니다.

여러 조건을 판별하고 값을 구할 때 IF 함수로도 가능하지만 IF 함수가 중첩되므로 수식이 복잡해지고 사용하기가 까다롭습니다. 대신 IFS 함수로 간단하고 알아보기 쉽게 수식을 작성할 수 있습니다.

예) [C15] 셀에 점수가 입력되어 있고 점수 구간별로 성적 등급을 정한다고 했을 때 IFS 함수로 점수별 성적 등급을 구할 수 있습니다.

=IFS(C15>=90,"A",C15>=80,"B",C15>=70,"C",C15>=60,"D",C15>=0,"F")

SWITCH 여러 개의 값과 비교하여 일치하는 하나의 값을 구해줍니다.

예) [C15] 셀에 평가 등급이 입력되어 있을 때 평가 등급과 일치하는 '등급 표시'를 구해줍니다.

=SWITCH(C15,"S","탁월","A","우수","B","보통","C","미흡","D","부진")

IFERROR 수식에서 오류가 발생하면 오류가 표시되지 않도록 하거나 오류 대신 다른 값을 표시할 수 있습니다.

예) 다음 수식은 [D13] 셀의 값을 [C13] 셀의 값으로 나눌 때 오류가 발생하면 '수식 오류'라고 표시해줍니다.

=IFERROR(D13/C13,"수식오류")

IFNA IFNA 함수는 IFERROR 함수와 사용법이 비슷하지만 오류 중에서 #N/A 오류만 처리하고 나머지 오류는 처리하지 않고 원래의 오류를 그대로 표시합니다.

 

댓글 달기

이메일 주소는 공개되지 않습니다.

Scroll to Top
%d 블로거가 이것을 좋아합니다: