엑셀 IF-ELSE 완벽 활용 가이드: 실무 예제로 배우는 조건부 논리
엑셀은 데이터 분석과 관리에 필수적인 도구입니다. 엑셀의 수많은 기능 중에서도 `IF` 함수는 조건에 따라 다른 결과를 반환하는 강력한 논리 함수입니다. 이 글에서는 엑셀의 `IF` 함수를 `ELSE`와 함께 사용하여 복잡한 조건부 논리를 구현하는 방법을 자세히 설명하고, 다양한 실무 예제를 통해 독자들이 실제로 엑셀에서 `IF-ELSE` 구문을 능숙하게 사용할 수 있도록 돕겠습니다.
## 1. 엑셀 IF 함수 기본 이해
`IF` 함수는 주어진 조건이 참인지 거짓인지 평가하여, 조건이 참일 경우 지정된 값을 반환하고, 거짓일 경우 다른 값을 반환합니다. 기본적인 `IF` 함수의 구문은 다음과 같습니다.
excel
=IF(조건, 참일_경우_값, 거짓일_경우_값)
* **조건 (Condition):** 평가할 논리식입니다. 예를 들어, `A1>10` 또는 `B2=”합격”`과 같은 형태입니다.
* **참일_경우_값 (Value_if_true):** 조건이 참일 때 반환할 값입니다. 숫자, 텍스트, 수식 등 다양한 형태가 될 수 있습니다.
* **거짓일_경우_값 (Value_if_false):** 조건이 거짓일 때 반환할 값입니다. `참일_경우_값`과 마찬가지로 다양한 형태가 가능합니다.
### 예제 1: 점수에 따른 합격/불합격 판정
만약 A1 셀에 학생의 점수가 입력되어 있고, 70점 이상이면 “합격”, 그렇지 않으면 “불합격”을 B1 셀에 표시하고 싶다면 다음과 같은 수식을 사용할 수 있습니다.
excel
=IF(A1>=70, “합격”, “불합격”)
이 수식은 A1 셀의 값이 70보다 크거나 같으면 B1 셀에 “합격”을 표시하고, 그렇지 않으면 “불합격”을 표시합니다.
## 2. 엑셀 IF-ELSE 중첩 사용: 복잡한 조건 처리
하나의 `IF` 함수만으로는 복잡한 조건을 처리하기 어려울 수 있습니다. 이 경우, `IF` 함수를 중첩하여 사용하여 `ELSE IF`와 같은 효과를 낼 수 있습니다. 즉, 여러 조건을 순차적으로 평가하고, 각 조건에 따라 다른 결과를 반환할 수 있습니다.
### 예제 2: 점수 구간에 따른 등급 부여
다음과 같은 점수 구간에 따라 등급을 부여하는 경우를 생각해 봅시다.
* 90점 이상: A 등급
* 80점 이상 90점 미만: B 등급
* 70점 이상 80점 미만: C 등급
* 60점 이상 70점 미만: D 등급
* 60점 미만: F 등급
이러한 조건을 처리하기 위해 다음과 같이 `IF` 함수를 중첩하여 사용할 수 있습니다.
excel
=IF(A1>=90, “A”, IF(A1>=80, “B”, IF(A1>=70, “C”, IF(A1>=60, “D”, “F”))))
이 수식은 다음과 같은 순서로 평가됩니다.
1. A1 셀의 값이 90 이상인지 확인합니다. 참이면 “A”를 반환합니다.
2. 만약 1번 조건이 거짓이면, A1 셀의 값이 80 이상인지 확인합니다. 참이면 “B”를 반환합니다.
3. 만약 2번 조건도 거짓이면, A1 셀의 값이 70 이상인지 확인합니다. 참이면 “C”를 반환합니다.
4. 만약 3번 조건도 거짓이면, A1 셀의 값이 60 이상인지 확인합니다. 참이면 “D”를 반환합니다.
5. 만약 4번 조건도 거짓이면, “F”를 반환합니다.
**주의사항:** `IF` 함수를 너무 많이 중첩하면 수식이 복잡해지고 가독성이 떨어질 수 있습니다. 따라서, 복잡한 조건은 다른 방법을 사용하는 것을 고려해 보는 것이 좋습니다 (예: `IFS` 함수).
## 3. 엑셀 IFS 함수: 더 간결한 다중 조건 처리 (Excel 2016 이상)
엑셀 2016 버전 이상에서는 `IFS` 함수를 사용하여 `IF` 함수를 중첩하는 것보다 더 간결하게 다중 조건을 처리할 수 있습니다. `IFS` 함수의 구문은 다음과 같습니다.
excel
=IFS(조건1, 값1, 조건2, 값2, …, 조건N, 값N)
* **조건1, 조건2, …, 조건N:** 평가할 논리식입니다.
* **값1, 값2, …, 값N:** 해당 조건이 참일 때 반환할 값입니다.
### 예제 3: IFS 함수를 사용한 등급 부여 (예제 2와 동일)
예제 2에서 다룬 등급 부여를 `IFS` 함수를 사용하여 표현하면 다음과 같습니다.
excel
=IFS(A1>=90, “A”, A1>=80, “B”, A1>=70, “C”, A1>=60, “D”, TRUE, “F”)
이 수식은 `IF` 함수를 중첩한 것보다 훨씬 간결하고 읽기 쉽습니다. 마지막 `TRUE` 조건은 모든 앞선 조건이 거짓일 경우 “F”를 반환하도록 합니다. `IFS` 함수는 순차적으로 조건을 평가하며, 참인 조건을 만나면 해당 값을 반환하고 평가를 중단합니다.
## 4. 엑셀 IF 함수와 AND, OR 함수 조합: 복합 조건 처리
`IF` 함수는 `AND`, `OR` 함수와 함께 사용하여 더 복잡한 복합 조건을 처리할 수 있습니다.
* **AND 함수:** 모든 조건이 참일 때 `TRUE`를 반환합니다.
* **OR 함수:** 하나 이상의 조건이 참일 때 `TRUE`를 반환합니다.
### 예제 4: AND 함수를 사용한 조건 처리
만약 A1 셀에 학생의 출석률이, B1 셀에 시험 점수가 입력되어 있고, 출석률이 80% 이상이고 시험 점수가 70점 이상이면 “합격”, 그렇지 않으면 “불합격”을 C1 셀에 표시하고 싶다면 다음과 같은 수식을 사용할 수 있습니다.
excel
=IF(AND(A1>=0.8, B1>=70), “합격”, “불합격”)
이 수식은 A1 셀의 값이 0.8보다 크거나 같고 (출석률 80% 이상), B1 셀의 값이 70보다 크거나 같으면 (시험 점수 70점 이상) C1 셀에 “합격”을 표시하고, 그렇지 않으면 “불합격”을 표시합니다.
### 예제 5: OR 함수를 사용한 조건 처리
만약 A1 셀에 학생의 과제 점수가, B1 셀에 시험 점수가 입력되어 있고, 과제 점수가 90점 이상이거나 시험 점수가 80점 이상이면 “우수”, 그렇지 않으면 “보통”을 C1 셀에 표시하고 싶다면 다음과 같은 수식을 사용할 수 있습니다.
excel
=IF(OR(A1>=90, B1>=80), “우수”, “보통”)
이 수식은 A1 셀의 값이 90보다 크거나 같거나 (과제 점수 90점 이상), B1 셀의 값이 80보다 크거나 같으면 (시험 점수 80점 이상) C1 셀에 “우수”를 표시하고, 그렇지 않으면 “보통”을 표시합니다.
## 5. 엑셀 IF 함수와 ISBLANK 함수 조합: 빈 셀 처리
`ISBLANK` 함수는 셀이 비어 있는지 확인하는 데 사용됩니다. `IF` 함수와 함께 사용하여 빈 셀에 대한 특별한 처리를 할 수 있습니다.
### 예제 6: ISBLANK 함수를 사용한 빈 셀 처리
만약 A1 셀이 비어 있으면 “데이터 없음”을, 그렇지 않으면 A1 셀의 값을 그대로 B1 셀에 표시하고 싶다면 다음과 같은 수식을 사용할 수 있습니다.
excel
=IF(ISBLANK(A1), “데이터 없음”, A1)
이 수식은 A1 셀이 비어 있으면 B1 셀에 “데이터 없음”을 표시하고, 그렇지 않으면 A1 셀의 값을 B1 셀에 표시합니다.
## 6. 엑셀 IF 함수와 텍스트 함수 조합: 문자열 조건 처리
`IF` 함수는 텍스트 함수와 함께 사용하여 문자열에 대한 조건을 처리할 수 있습니다. 주요 텍스트 함수로는 `LEFT`, `RIGHT`, `MID`, `FIND`, `SEARCH` 등이 있습니다.
### 예제 7: LEFT 함수를 사용한 문자열 조건 처리
만약 A1 셀에 제품 코드가 입력되어 있고, 제품 코드의 첫 글자가 “A”이면 “가전 제품”, 그렇지 않으면 “기타 제품”을 B1 셀에 표시하고 싶다면 다음과 같은 수식을 사용할 수 있습니다.
excel
=IF(LEFT(A1, 1)=”A”, “가전 제품”, “기타 제품”)
이 수식은 A1 셀의 왼쪽에서 첫 번째 문자가 “A”이면 B1 셀에 “가전 제품”을 표시하고, 그렇지 않으면 “기타 제품”을 표시합니다.
### 예제 8: SEARCH 함수를 사용한 문자열 조건 처리
만약 A1 셀에 이메일 주소가 입력되어 있고, 이메일 주소에 “@gmail.com”이 포함되어 있으면 “Gmail 사용자”, 그렇지 않으면 “기타 이메일 사용자”를 B1 셀에 표시하고 싶다면 다음과 같은 수식을 사용할 수 있습니다.
excel
=IF(ISNUMBER(SEARCH(“@gmail.com”, A1)), “Gmail 사용자”, “기타 이메일 사용자”)
`SEARCH` 함수는 A1 셀에서 “@gmail.com”을 찾아 그 위치를 반환합니다. 만약 찾지 못하면 `#VALUE!` 오류를 반환합니다. `ISNUMBER` 함수는 값이 숫자인지 확인하므로, `SEARCH` 함수의 결과가 숫자이면 (즉, “@gmail.com”이 A1 셀에 존재하면) `TRUE`를 반환하고, 그렇지 않으면 `FALSE`를 반환합니다. 따라서 A1 셀에 “@gmail.com”이 포함되어 있으면 B1 셀에 “Gmail 사용자”를 표시하고, 그렇지 않으면 “기타 이메일 사용자”를 표시합니다.
## 7. 엑셀 IF-ELSE 활용 실무 예제
### 예제 9: 판매 실적에 따른 인센티브 지급
| 판매원 | 판매량 | 인센티브 지급 여부 | 인센티브 금액 |
|—|—|—|—|
| 김민지 | 120 | O | 50000 |
| 박서준 | 80 | X | 0 |
| 이수현 | 150 | O | 70000 |
| 정지훈 | 95 | O | 40000 |
판매량이 100개 이상이면 인센티브를 지급하고, 100개 미만이면 지급하지 않는다고 가정합니다. 인센티브 지급 여부를 나타내는 C열과 인센티브 금액을 나타내는 D열에 다음과 같은 수식을 적용할 수 있습니다.
* C2 셀 (김민지): `=IF(B2>=100, “O”, “X”)`
* D2 셀 (김민지): `=IF(B2>=100, 50000+((B2-100)*1000), 0)`
C2 셀의 수식은 B2 셀의 판매량이 100개 이상이면 “O”를 표시하고, 그렇지 않으면 “X”를 표시합니다. D2 셀의 수식은 B2 셀의 판매량이 100개 이상이면 기본 인센티브 50000원에 100개를 초과하는 판매량에 대해 개당 1000원씩 추가 인센티브를 지급하고, 그렇지 않으면 0원을 지급합니다.
### 예제 10: 재고 관리를 위한 자동 알림
| 제품명 | 재고량 | 안전 재고량 | 재고 부족 여부 |
|—|—|—|—|
| 노트북 | 25 | 30 | O |
| 모니터 | 40 | 35 | X |
| 키보드 | 15 | 20 | O |
| 마우스 | 50 | 40 | X |
재고량이 안전 재고량보다 적으면 “O”를 표시하여 재고 부족을 알리고, 그렇지 않으면 “X”를 표시하는 D열에 다음과 같은 수식을 적용할 수 있습니다.
* D2 셀 (노트북): `=IF(B2