엑셀 함수 정리 ③ 로직·조건 함수 | IF, AND, OR, ISERROR, IFERROR 등 업무에 필요한 핵심 필수 엑셀 함수 구체적인 사용 사례, 예시와 함께 한 번에 완벽하게 공부해보자!
엑셀 함수 정리 ③ 로직·조건 함수
엑셀에서 조건을 설정하고 그에 맞는 결과를 도출하는 함수는 데이터 분석과 문제 해결에 매우 유용하게 활용할 수 있습니다. IF, AND, OR, ISERROR, IFERROR 함수는 논리적 연산을 수행하고 오류를 처리하는 데 사용되는 중요한 함수들인데요. 이 함수들을 사용하면 복잡한 상황에서 조건을 평가하고 원하는 결과를 얻는데 유용하게 활용할 수 있습니다. 이번 글에서는 해당 함수의 사용법과 예시에 대해 함께 살펴보도록 하겠습니다 🙂
1. IF 함수
IF 함수는 조건에 따라 다른 결과를 반환하는 함수입니다. 기본적으로 조건이 참이면 하나의 값을, 거짓이면 다른 값을 반환합니다.
구문: =IF(logical_test, value_if_true, value_if_false)
logical_test
: 평가할 조건식value_if_true
: 조건이 참일 때 반환할 값value_if_false
: 조건이 거짓일 때 반환할 값
예시:
셀 A1
에 80이라는 값이 있을 때, 이 값이 70 이상이면 “합격”, 그렇지 않으면 “불합격”으로 표시하려면:
arduinoCopy code=IF(A1 >= 70, "합격", "불합격")
결과는 합격
입니다.
복잡한 예시:
성적에 따라 등급을 매기는 경우:
- 90점 이상이면 “A”
- 80점 이상이면 “B”
- 70점 이상이면 “C”
- 그 외는 “F”를 반환하고 싶다면, 중첩 IF를 사용할 수 있습니다:
lessCopy code=IF(A1 >= 90, "A", IF(A1 >= 80, "B", IF(A1 >= 70, "C", "F")))
이렇게 하면 각 점수에 따라 적절한 등급이 반환됩니다.
2. AND 함수
AND 함수는 여러 조건이 모두 참일 때만 TRUE를 반환하는 함수입니다. 한 조건이라도 거짓이면 FALSE를 반환합니다.
구문: =AND(logical1, [logical2], ...)
logical1, logical2
: 평가할 조건들
예시:
셀 A1
에 80, 셀 B1
에 90이 있을 때, 두 값이 모두 70 이상인지 확인하려면:
scssCopy code=AND(A1 >= 70, B1 >= 70)
결과는 TRUE
가 됩니다.
복합 예시:
두 조건이 모두 참이어야만 특정 값이 출력되도록 IF 함수와 결합할 수 있습니다. 예를 들어, A1
과 B1
의 값이 모두 70 이상이면 “통과”, 그렇지 않으면 “실패”를 반환하려면:
arduinoCopy code=IF(AND(A1 >= 70, B1 >= 70), "통과", "실패")
이 경우 결과는 통과
입니다.
3. OR 함수
OR 함수는 여러 조건 중 하나라도 참이면 TRUE를 반환하고, 모든 조건이 거짓일 때만 FALSE를 반환합니다.
구문: =OR(logical1, [logical2], ...)
logical1, logical2
: 평가할 조건들
예시:
셀 A1
에 60, 셀 B1
에 80이 있을 때, 두 값 중 하나라도 70 이상이면 참(True)을 반환하려면:
scssCopy code=OR(A1 >= 70, B1 >= 70)
결과는 TRUE
가 됩니다.
복합 예시:
두 값 중 하나라도 70 이상이면 “통과”, 그렇지 않으면 “실패”를 반환하려면:
lessCopy code=IF(OR(A1 >= 70, B1 >= 70), "통과", "실패")
이 경우 결과는 통과
입니다.
4. ISERROR 함수
ISERROR 함수는 주어진 식에서 오류가 발생했는지 여부를 확인하는 함수입니다. TRUE는 오류가 발생했음을, FALSE는 오류가 없음을 의미합니다.
구문: =ISERROR(value)
value
: 오류 여부를 확인할 값 또는 수식
예시:
셀 A1
에 0이 있고, B1
에 =100/A1
라는 수식이 있을 때, A1
이 0이라면 B1
의 값은 #DIV/0!
오류가 됩니다. 이 오류를 확인하려면:
scssCopy code=ISERROR(B1)
결과는 TRUE
가 됩니다.
복합 예시:
IF 함수와 함께 사용하여 오류가 발생할 경우 “오류”라는 메시지를 표시하고, 그렇지 않으면 계산 결과를 반환할 수 있습니다:
lessCopy code=IF(ISERROR(100/A1), "오류", 100/A1)
이렇게 하면 A1
이 0일 때 “오류”가 표시되고, 그 외의 경우 계산 결과가 표시됩니다.
5. IFERROR 함수
IFERROR 함수는 수식에서 오류가 발생하면 사용자가 정의한 값을 반환하고, 오류가 없으면 정상적인 결과를 반환하는 함수입니다. ISERROR와 달리, IFERROR는 오류를 처리하는 동시에 오류가 아닌 경우 정상 값을 반환하는 데 사용됩니다.
구문: =IFERROR(value, value_if_error)
value
: 평가할 수식value_if_error
: 오류가 발생했을 때 반환할 값
예시:100/A1
에서 A1이 0일 경우 오류를 처리하고 “잘못된 값”이라는 메시지를 표시하려면:
scssCopy code=IFERROR(100/A1, "잘못된 값")
이 경우, A1이 0이면 #DIV/0!
오류 대신 “잘못된 값”이 출력됩니다. A1이 0이 아닌 경우 정상적인 계산 결과가 반환됩니다.
복합 예시:
만약 여러 셀에서 나눗셈을 계산하는 작업 중 오류가 발생할 수 있는 셀이 있다면, IFERROR를 사용하여 모든 셀에서 오류 메시지를 깔끔하게 처리할 수 있습니다:
lessCopy code=IFERROR(SUM(A1:A10)/B1, "계산 불가")
여기서 B1이 0일 때는 “계산 불가”가 반환되며, 0이 아닐 때는 정상적으로 합계를 나눈 값이 표시됩니다.
엑셀 함수 정리: 여러 함수 묶어서 쓰기
위에서 설명한 함수들을 결합하여 다양한 문제를 해결할 수 있습니다.
예시 1: 오류 처리와 논리적 조건을 함께 사용하는 경우
예를 들어, 셀 A1
과 B1
의 값을 나누고, 그 결과가 오류가 아닌 경우에만 조건을 평가하는 시나리오를 고려해 보겠습니다. 오류가 발생하면 “잘못된 계산”을 반환하고, 나눗셈 결과가 100 이상이면 “고득점”, 그렇지 않으면 “저득점”을 표시하고 싶다면 다음과 같이 작성할 수 있습니다:
lessCopy code=IFERROR(IF(A1/B1 >= 100, "고득점", "저득점"), "잘못된 계산")
이 수식은 A1과 B1의 나눗셈이 정상적으로 이루어질 경우에만 조건을 평가하고, 오류가 발생하면 “잘못된 계산”이라는 메시지를 출력합니다.
예시 2: 여러 조건을 AND와 OR로 결합하기
여러 조건을 결합하여 더 복잡한 논리를 만들 수도 있습니다. 예를 들어, A1
에 있는 값이 50 이상이고 B1
에 있는 값이 90 이상일 때 “최우수”를, 그렇지 않고 둘 중 하나라도 참이면 “우수”를, 둘 다 해당하지 않으면 “보통”을 반환하고 싶다면 다음과 같이 작성합니다:
lessCopy code=IF(AND(A1 >= 50, B1 >= 90), "최우수", IF(OR(A1 >= 50, B1 >= 90), "우수", "보통"))
이렇게 하면 A1과 B1의 값에 따라 세 가지 다른 결과를 얻을 수 있습니다.