티스토리 뷰

이번 게시물부터 엑셀 논리함수를 배워보겠습니다.
논리함수란 조건을 논리적으로 검사하여 참과 거짓을 가늠하는데 사용되는 엑셀 함수들입니다.
논리함수의 가장 기본이 되고 가장 자주 사용되는 함수가 이번 게시물의 엑셀 IF 함수 입니다.

그럼 IF 함수를 살펴봅니다.


* 엑셀 IF 함수

기능: 조건을 논리적으로 검사하여 참일 때와 거짓일 때에 따라 각기 다른 값을 반환하는 엑셀 함수입니다.


용법: =IF(조건식, 참일때 값, 거짓일때 값)

-왼쪽항을 기준으로 봤을 때 관계 연산자들입니다.

  • A > B  : A가 B 보다 크면(초과) (B 값이 포함되지 않음)
  • A < B  : A가 B 보다 작으면(미만) (B 값이 포함되지 않음)
  • A >= B : A가 B 보다 크거나 같으면(이상) (B값 포함)
  • A <= B : A가 B 보다 작거나 같으면(이하) (B값 포함)
  • A = B  : A가 B 와 같음
  • A <> B : A와 B 가 서로 다름


용례1: =IF(C4>=60, "합격", "탈락")
용례1의 풀이: 조건(C4 셀의 값이 60보다 크거나 같으면) 이 참(60이상)이면 참일 때 값("합격")을 거짓(60미만)이면 거짓일 때 값("탈락")을 결과로 반환합니다.)


용례2: =IF(C4>40, "통과", "")
용례2의 풀이: 조건(C4 셀의 값이 40보다 크거나 같으면) 이 참이면(40초과) "통과"를 거짓이면(40이하) 거짓일 때 값으로 공백을 반환합니다.)


용례3: =IF(C4>40, "통과")
용례3의 풀이: 용례2의 풀이가 기본이고 이번 예에서는 조건이 거짓일 때 반환할 인수가 설정되어 있지 않습니다. 이런 경우 만일 조건이 거짓이라면 FALSE를 반환합니다. FALSE 는 논리값 중 거짓을 의미하는 값입니다. 서식에 따라 0이 반환될 수도 있습니다. 곧 FALSE 값을 수치값으로 변환 하면 0 이 된다는 것이지요. 당연히 TRUE 논리값(참)은 수치값으로 1이 되구요.


용례3: =IF(A2>89, "A", IF(A2>79, "B", IF(A2>69, "C", IF(A2>59, "D", "F"))))
용례3의 풀이: 조건은 A2셀의 값이 89보다 크면(초과) 참인 값 'A' 를 반환하고 그렇지 않으면 붉은색의 IF문 전체를 거짓값으로 반환합니다. 바로 함수의 중첩이지요. 함수의 중첩시 가장 자주 사용되는 엑셀 함수가 바로 이 IF 함수 입니다. 이번 예의 경우 89보다 크면 'A' 그렇지 않으면 다시 조건 비교하고 62보다크면 'C', 거짓이면 다시 조건 비교를 거짓일 때 반환합니다.
이런식으로 함수가 중첩되지요. 중첩에서 중요한 것은 함수의 인수로 사용되는 값이 단일값이 아니라 수식 값일 수 있다는 것입니다.


기출 예제1: 점수가 90 이상이면 '우수', 90 미만이면 80 이상이면 '보통', 80미만이면 '조심' 이라고 등급[D3:D7] 영역에 표시하시오.(컴활 3급 10회 C형)



기출 풀이1: D3 셀에 셀포인트를 놓고 다음의 엑셀 함수식을 입력합니다.

=IF(C3>=90, "우수", IF(C3>=80, "보통", "분발"))

엑셀 IF 함수의 중첩이 보이지요.
C3셀의 값의 90 이상인지 비교하여 참이면 '우수' 값을 반환하지요. 거짓일 때 값을 보면 IF 함수식입니다. 수식은 용례3의 경우와 동일합니다.

여러분이 힘들어 하는 것은 수식적인 풀이가 아니라 의미적 해석일 것입니다.

90 이상일 때는 우수를 반환하고 함수를 벗어납니다.
그렇지 않은 경우, 거짓인 경우로 넘어가는 값은 89점 이하의 점수겠지요. 여기서 다시 80 이상은 '보통'을 반환하고 함수를 벗어납니다.
남은 값은 모두 거짓일 때의 값 '분발' 이 되겠지요.


기출 예제2: 판매일[B3:B10]을 이용하여 요일번호[D3:D10]을 유형 '1'로 구하고 이때 요일번호가 '1' 이면 '일요일', 그 외는 공란으로 표시하시오.


기출 풀이2:
  1. D3셀에 셀포인터를 놓습니다. 다음의 엑셀 IF 함수식을 입력합니다.
  2. =IF(WEEKDAY(B3, 1)=1, "일요일", "")
  3. 점끌기탭(채우기핸들)으로 D10셀까지 끌어 수식을 복사 합니다.

요일을 수로 반환 받기 위해 엑셀 WEEKDAY 함수를 사용합니다. 1번 유형을 사용하라고 친절히 설명까지 해줬네요. 1번 유형은 1을 일요일로보는 유형이지요.
또 그 값이 1인지 그렇지 않은지를 검사하기 위해 엑셀 IF 함수로 조건비교합니다.  IF함수에서 조건비교 인수로 엑셀 WEEKDAY 함수의 결과를 사용합니다.

이해되시죠^^ 괜히 설명이 길어지면  오히려 햇갈리수 있겠네요.


@이상이 엑셀 IF 함수 입니다. 엑셀 논리 함수의 기본이 되는 함수이고 컴활과 실무에서 가장 많이 사용되는 함수 중 하나입니다.
반드시 제대로 이해하시고 넘어가셔야 합니다. 질문있으시면 댓글 달아주시고 내용에 문제가 있으면 지적해 주세요. 감사합니다.


* 컴활2급과 컴활3급 함수목록 ver 0.2

댓글