들어가며
지금까지 살펴본 함수들은 어느 것 하나 중요하지 않은 것이 없습니다만, 이번 시간에 살펴볼 논리 함수 또한 마찬가지입니다. 논리와 조건을 판별해 주는 함수가 없다면 컴퓨터라는 존재 이유가 없을 정도로 중요합니다. 준비되셨나요? 출발합니다.
조건을 판단하는 기본 함수
조건을 판단한다고 히니까 뭔가 생소하신가요? 전혀 그렇지 않습니다. 일상생활에서도 수시로 벌어지는 일입니다. 예를 들어볼까요?
만약 OOO라면에서 'OOO'에 들어가는 부분이 '조건식'이라고 합니다. 조건식이 '참(True'인지 혹은 '거짓(False)'인지 여부를 판별해 주는 대표적인 엑셀 함수가 IF입니다. 위의 각 상황을 IF를 이용하여 표현해 보면 이런 식이 되겠습니다.
(1) =IF("비가 올까?", "우산 챙기기", "우산 두고가기")
(2) =IF("늦었나?", "택시타기", "버스타기")
(3) =IF("점심을 먹었나?", "커피 마시기", "밥 먹기")
전혀 생소하거나 어렵지 않죠? 이 표현을 엑셀이 알아들을 수 있게 조금만 바꿔주면 됩니다. 위 예제만 보더라도 짐작하시리라 생각합니다만, 그래도 정래해보자면 이렇습니다.
=IF(logical_test, value_if_true, value_if_false)
' logical_test: 참 또는 거짓을 판단할 조건
' value_if_true: 조건이 참인 경우 결과 값
' value_if_false: 조건이 거짓일 경우 결과 값
기본적인 연산자
조건식을 작성하려면 '연산자(Operator)'에 대해 알고 있어야 합니다. 어려운 것은 아니고 초등학교(그렇습니다! 중학교도 아니고 초등학교입니다) 산수 시간에 배운 내용을 떠올려 보면 쉽게 알 수 있습니다.
IF 함수로 결과 판별하기
IF 함수에 대해서도 알게 되었고, 연산자도 이해했으니 이제 웬만한 것은 처리할 준비가 되었습니다. '직원별 OA 평가 결과' 데이터에서 평가 '결과'를 구해보겠습니다. 평균이 80 이상이면 '우수', 80 미만이면 '보통'이라고 표시해보겠습니다.
(1) 결과를 표시할 셀(여기서는 K4 셀)을 선택합니다.
(2) =if()를 입력하고 수식 입력줄 왼쪽에 있는 [함수 삽입] 아이콘을 클릭합니다.
(3) 평균이 80 이상인지 여부를 파악하기 위한 조건식을 작성합니다. 대화상자의 조건 입력란(Logical_test)에 J4>=80을 입력합니다.
(4) Value_if_true와 Value_if_false 인수 입력란에는 '우수'와 '보통'을 각각 입력합니다. 인용부호는 해당란을 클릭하거나 Tab 키를 누르면 자동으로 붙습니다.
(5) [확인]을 클릭하면 결과가 나타납니다. 나머지 셀에 수식을 복사하여 완성합니다.
[참고] 다중(중첩) IF 수식 작성하는 방법
만약 판별해야 할 조건이 여러 가지라면 어떻게 해야 할까요? 이런 경우에는 IF가 여러 번 사용된다고 하여 '다중 IF' 또는 '중첩 IF'라고 부릅니다. 80 이상이면 '우수', 70 이상이면 '보통', 70 미만이면 '재시험'이라고 표시해 보겠습니다.
(1) '조건'과 '참'에 해당하는 인수를 다음과 같이 지정합니다. 거짓(Value_if_false) 인수를 클릭하고 if()를 입력합니다. 그러면 수식 입력줄에 자동으로 IF 함수가 추가됩니다.
(2) 수식 입력줄에서 if() 부분을 클릭하면 [함수 인수] 대화상자가 새로운 IF 함수 인수 대화상자로 변합니다. 앞에서와 같은 방법으로 인수를 지정하면 됩니다.
완성된 수식은 다음과 같습니다. 다중 IF 수식은 [함수 인수] 대화상자보다 직접 입력하는 것이 더 빠르고 편리할 수 있습니다.
=IF(J4>=80,"우수",IF(J4>=70,"보통","재시험"))
다중 IF 수식은 지금 단계에서는 '이렇게 할 수도 있구나' 정도로만 이해하고 넘어가도 됩니다.
조건이 두 가지 이상인 경우
IF 함수는 판단해야 할 조건이 두 가지 이상이면 판단하지 못합니다. 수식을 작성하기 전에 AND와 OR 함수에 대해 먼저 살펴봅니다.
AND, OR 함수
AND는 모든 조건이 참일 때 True를, OR 함수는 모든 조건 중 하나라도 참이면 True를 반환하는 함수입니다.
=AND(logical1, logical2,...)
=OR(logical1, logical2,...)
두 가지 조건에 대해 AND와 OR 함수가 반환하는 결과를 정리하면 다음과 같습니다.
언뜻 보면 복잡해 보이지만, "AND는 모든 조건이 참이어야 True를 반환하고, OR는 한 가지 조건만 참이면 True를 반환한다"라는 점만 기억해 두세요.
IF와 AND / OR 함수가 만나면?
IF 함수를 이용하여 조건 판단을 할 수 있게 되었고, AND/OR 함수를 통해 여러 가지 조건에 대해 참(True), 거짓(False) 여부를 알 수 있게 되었습니다. 조금 난이도 (?) 있는 문제를 해결해 볼까요.
앞의 예에서, 엑셀 점수가 90점 이상이면서, 평균이 80점 이상이면 '매우 우수", 그렇지 않은 경우에는 평균을 기준으로 '우수'와 '보통'으로 표시해 보는 겁니다.
(1) 결과를 표시할 셀을 선택하고 =if()를 입력합니다.
(2) [함수 인수] 대화상자에서 조건(Logical_test) 부분에 and()를 입력하면 수식 입력줄에도 반영됩니다.
(3) 수식 입력줄에서 and() 함수를 선택합니다. [함수 인수] 대화상자가 AND 함수의 대화상자로 바뀝니다.
(4) AND 함수의 인수를 입력합니다. 첫 번째 조건은 G4>=90, 두 번째 조건은 J4>=80을 입력합니다.
(5) 수식 입력줄에서 IF 함수를 선택하면 IF 함수 대화상자로 바뀝니다. Value_if_true와 Value_if_false 인수를 지정합니다.
(6) [확인]을 클릭하면 결과가 나타납니다. 나머지 셀에 수식을 복사하여 완성합니다. 최종 완성된 수식은 다음과 같습니다(L4 셀).
=IF(AND(G4>=90,J4>=80),"매우 우수","우수")
나가며
이번 시간에 배운 내용은 다른 함수(특히 SUMPRODUCE나 배열 수식)나 엑셀 기능(예: 조건부 서식)의 근간이 되는 중요한 부분입니다. VBA를 배울 때에도 필수입니다. 이런 중요한 부분을 알게 되신 것, 축하합니다.
'Excel' 카테고리의 다른 글
멀티플랜에서 현재까지 끊임없는 진화의 성공, 엑셀 (7) | 2024.03.10 |
---|---|
Excel TAKE 함수를 사용하여 데이터를 추출하는 방법 (5) | 2024.03.10 |
Excel에서 의사결정 트리를 만드는 방법 (7) | 2024.03.08 |
Excel에서 지수를 사용하는 2가지 방법 (7) | 2024.03.08 |
Excel에서 데이터를 정리하는 10가지 방법 (6) | 2024.03.07 |