이번 문제는 MID함수와 IF함수입니다. 이전 강좌에서 한번 다루었죠. 이전 강좌로 연결을 시킬까라고도 생각했지만 이번 문제는 살짝 다릅니다. 바로 IF함수를 중첩해서 사용해야 문제가 해결되기 때문입니다.
사실 실무에서는 IF함수를 중첩해서 사용해야 하는 경우가 생각보다 많습니다. 학점을 낸다던가, 비슷한 성격의 데이터를 특정 값으로 묶는다던가 할 때가 바로 그렇습니다. 조금 헷갈리긴 하지만 IF함수의 사용법을 잘 이용하면 상당히 효과적으로 이런 일들을 할 수 있습니다. 이번 강좌는 IF를 중첩으로 사용하는 방법에 대해 좀 더 자세히 알아보고 시험에 적용하는 방법을 진행하도록 하겠습니다.
IF함수의 기본 개념 아래 강좌를 참고해 주세요. AND와 OR함수도 꼭 같이 알아두시길 바랍니다.
2023.06.06 - [강좌 및 설정/엑셀 기초] - 엑셀 함수 - IF, AND, OR
이번 강좌에서는 IF의 기본 사용법을 안다는 조건하에 진행하겠습니다.
먼저 예제 파일을 보면 학점에 90점 이상은 A학점으로, 80점 이상은 B, 70점 이상은 C, 나머지는 모두 D로 표시해야 합니다. 그런데 이 경우에는 IF함수 하나를 사용하려면 문제가 생깁니다. 왜냐하면 IF는 참인 경우와 아닌 경우만을 판단하기 때문에 여러 가지의 경우의 수가 생길 경우에 해결이 불가능합니다. 단 2가지의 경우만을 해결할 수 있죠.
그런데 여기서 참이 아닌 경우 즉 IF함수의 인수 value_if_false를 다시 IF함수로 작성하면 2가지의 경우에서 3가지의 경우로 만들 수 있게 됩니다.
그림처럼 거짓인 경우에 IF함수를 쓰게 되면 3가지 경우가 되게 되고 다시 두 번째 IF함수의 value_if_false 인수에 IF를 사용하면 4가지 경우를 만들게 됩니다. 계속해서 IF함수를 증가시킬 때마다 경우가 하나씩 늘어나게 되는 것이죠
그래서 지금처럼 A, B, C, D의 4가지 학점으로 만들기 위해서는 3개의 IF함수를 중첩해서 사용하면 해결 되게 됩니다.
하나씩 풀어보면
첫 번째 IF에서 점수가 90점 이상인 경우 A,
그렇지 않은 경우는 90점 미만만 남기 때문에, 두 번째 IF에서 점수가 80점 이상인 경우는 80점 이상 90점 미만인 경우만 남게 됩니다. 결국 두 번째 IF에서 점수가 80점 이상인 경우 B,
같은 이유로 세 번째 IF에서 점수가 70점 이상인 경우 C,
그렇지 않은 경우는 70점 미만만 남게 되어 나머지가 모두 D가 되게 됩니다.
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
그림의 순으로 함수를 작성하고 자동 채우기 하면 원하는 결과가 완성됩니다.
그럼 시험지로 다시 돌아가겠습니다.
3가지(중국, 이탈리아, 기타)로 구하라고 하네요. 그럼 IF함수를 중첩해서 2번 작성하면 되겠습니다.
MID함수 기본 사용은 기 강좌를 참고해 주세요.
2023.06.07 - [강좌 및 설정/엑셀 기초] - 엑셀 함수 - 문자 관련(LEN, LEFT, RIGHT, MID)
- J5셀을 클릭하여 선택
- 수식입력줄에서 IF함수 작성 => =IF(
- IF함수의 logical_test(조건) 인수 작성(MID함수와 참조를 통해 조건을 만듭니다.) => =IF(MID(B5,4,1)="1"
- 콤마 입력 후 IF함수의 value_if_true(조건이 참인 경우)를 작성 => =IF(MID(B5,4,1)="1","중국"
- 콤마 입력 후 IF함수의 마지막 인수 value_if_false(조건이 거짓인 경우)를 다시 IF함수로 작성합니다.
5-1. IF함수 작성 => =IF(MID(B5,4,1)="1","중국",IF(
5-2. 첫 번째 조건이 아닌 경우 중에 다른 logical_test(조건) 작성
=> =IF(MID(B5,4,1)="1","중국",IF(MID(B5,4,1)="2"
5-3. 콤마 입력 후 두 번째 IF의 value_if_true(조건이 참인 경우)를 작성
=> =IF(MID(B5,4,1)="1","중국",IF(MID(B5,4,1)="2","이탈리아"
5-4. 콤마 입력 후 두 번째 IF의 value_if_false(조건이 거짓인 경우)를 작성
=> =IF(MID(B5,4,1)="1","중국",IF(MID(B5,4,1)="2","이탈리아","기타"
주의. 두 개의 IF를 사용했기 때문에 닫힘 괄호를 반드시 2개를 입력 후 엔터로 함수 작성 완료
=> =IF(MID(B5,4,1)="1","중국",IF(MID(B5,4,1)="2","이탈리아","기타")) - J5셀을 J12셀까지 자동 채우기 한 후 가운데 정렬합니다.(회계, 숫자 제외 모두 가운데 정렬)
시험지 조건(2)가 완성되었습니다. 주의할 점은 이렇게 IF를 중첩해서 사용할 경우 마지막 닫힘 괄호입니다. 엑셀 함수는 반드시 함수명 뒤에 괄호를 열고 닫음으로 종료하기 때문에 닫힘 괄호가 빠지게 되면 오류를 발생합니다. 그런데 함수 안에 함수가 다시 사용되게 되면 함수 안에서 사용한 함수의 종료를 위한 닫힘 괄호 1개, 그것을 감싼 함수의 닫힘 괄호 1개, 총 2개의 닫힘 괄호가 있어야 완성이 되게 됩니다.
좀 더 쉽게 생각하면 2개의 IF를 중첩해서 사용하면 닫힘 괄호 2개, 3개를 중첩하면 3개, 만약 10개를 중첩했다면 10개의 닫힘 괄호가 있어야 된다고 생각하면 쉽습니다. IF의 개수와 비례한다는 것이죠.
다음 문제들은 다시 엑셀 ITQ 카테고리에서 진행합니다. 아래 강좌로 이동해 주세요
2024.07.31 - [강좌 및 설정/엑셀 ITQ] - ITQ 엑셀[제1작업] : 2024103_A형 (나머지 작업 정리)
'강좌 및 설정 > 엑셀 ITQ 출제 함수' 카테고리의 다른 글
엑셀 함수 INDEX, MATCH (0) | 2024.08.02 |
---|---|
엑셀 함수 ROUND - (ITQ : 2024103_A형) (0) | 2024.07.30 |
엑셀 함수 ROUND, ROUNDDOWN, ROUNDUP (0) | 2024.07.29 |
엑셀 함수 SUMIF - (ITQ : 2024105_A형) (0) | 2024.07.21 |
엑셀 함수 ~IF 인수 criteria의 (부)등호 처리 - (ITQ : 2024105_A형) (0) | 2024.07.21 |