IF 함수를 사용하면 조건을 테스트하고 True 또는 False인지 결과를 반환하여 예상값과 특정 값을 논리적으로 비교할 수 있습니다.
-
=IF(어떤 항목이 True이면 어떤 작업을 수행하고 그렇지 않으면 다른 작업을 수행함)
따라서 IF 문에서는 두 개의 결과가 나타날 수 있습니다. 첫 번째 결과는 비교가 True인 경우이고 두 번째 결과는 비교가 False인 경우입니다.
IF 문은 매우 강력하며 많은 스프레드시트 모델의 기반이 되지만 여러 스프레드시트 문제의 근본 원인이기도 합니다. IF 문은 남성/여성, 예/아니요/미정과 같이 최소한의 조건에 적용되어야 하지만 4개 이상의 IF 함수를 중첩*해야 하는 더 복잡한 시나리오를 평가해야 하는 경우도 있습니다.
* "중첩"은 여러 함수를 하나의 수식으로 결합하는 방법을 나타냅니다.
논리 함수 중 하나인 IF 함수를 사용하여 조건이 True이면 하나의 값을 반환하고, 조건이 False이면 다른 값을 반환합니다.
구문
IF(logical_test, value_if_true, [value_if_false])
예를 들면 다음과 같습니다.
-
=IF(A2>B2,"예산 초과","승인")
-
=IF(A2=B2,B4-A4,"")
|
인수 이름 |
설명 |
|
logical_test (필수) |
검사할 조건입니다. |
|
value_if_true (필수 인수) |
logical_test 의 결과가 TRUE일 경우 반환할 값입니다. |
|
value_if_false (선택 인수) |
logical_test 의 결과가 FALSE일 경우 반환할 값입니다. |
주의
Excel을 사용하면 최대 64개의 다른 IF 함수를 중첩할 수 있지만 그렇게 하는 것은 바람직하지 않습니다. 다음과 같은 이유 때문입니다.
-
IF 문이 여러 개이면 문을 올바르게 작성하고 논리에 따라 각 조건이 끝까지 올바르게 계산되도록 고심해야 합니다. 수식을 100% 정확하게 중첩하지 않으면 75%의 시간 동안 작동하지만 예기치 않은 결과를 25% 반환할 수 있습니다. 안타깝게도 이 25%를 파악하는 것은 쉽지 않습니다.
-
IF 문이 여러 개이면 유지 관리가 매우 어려워질 수 있습니다. 자신이나 다른 사람이 작성하던 문을 나중에 다시 파악하려는 경우 특히 그렇습니다.
당신이 시야에 끝없이 성장을 계속 것 IF 문으로 자신을 발견하는 경우, 그것은 마우스를 내려 놓고 전략을 재고하는 시간이다.
여러 IF를 사용하여 복잡한 중첩된 IF 문을 올바르게 만드는 방법과 Excel 무기고에서 다른 도구를 사용해야 할 때임을 인식해야 하는 경우를 살펴보겠습니다.
예제
다음은 학생의 시험 점수를 해당하는 학점으로 변환하는 비교적 표준적인 중첩된 IF 문의 예제입니다.
-
=IF(D2>89,"A",IF(D2>79,"B",IF(D2>69,"C",IF(D2>59,"D","F"))))
이 중첩된 복합 IF 문은 다음과 같은 간단한 논리를 따릅니다.
-
시험 점수(D2 셀)가 89보다 크면 학생이 A 학점을 받습니다.
-
시험 점수가 79보다 크면 학생이 B 학점을 받습니다.
-
시험 점수가 69보다 크면 학생이 C 학점을 받습니다.
-
시험 점수가 59보다 크면 학생이 D 학점을 받습니다.
-
그 이외의 경우에는 학생이 F 학점을 받습니다.
이 특정 예제는 테스트 점수와 문자 성적 간의 상관 관계가 변경될 가능성이 없으므로 유지 관리가 많이 필요하지 않으므로 비교적 안전합니다. 하지만 A+, A 및 A-(등) 간에 성적을 분할해야 하는 경우 어떻게 해야 할까요? 이제 4개의 조건 IF 문이 12개의 조건을 포함하도록 다시 작성해야 합니다. 수식은 다음과 같습니다.
-
=IF(B2>97,"A+",IF(B2>93,"A",IF(B2>89,"A-",IF(B2>87,"B+",IF(B2>83,"B",IF(B2>79,"B-", IF(B2>77,"C+",IF(B2>73,"C",IF(B2>69,"C-",IF(B2>57,"D+",IF(B2>53,"D",IF(B2>49,"D-","F"))))))))))))
여전히 기능적으로 정확하며 예상대로 작동하지만 작성하는 데 시간이 오래 걸리고 테스트하는 데 시간이 오래 걸리며 원하는 작업을 수행하는지 확인합니다. 또 다른 눈부신 문제는 수작업으로 점수와 동등한 문자 성적을 입력해야 했다는 것입니다. 실수로 오타가 있을 확률은 무엇인가요? 더 복잡한 조건으로 이 작업을 64번 수행해야 한다고 생각해 보세요. 물론, 그것은 가능하지만, 당신은 정말 발견하기 어려울 것입니다 노력과 가능한 오류의이 종류에 자신을 복종하고 싶습니까?
팁: Excel의 모든 함수에는 여는 괄호와 닫는 괄호 ()가 필요합니다. Excel은 수식을 편집할 때 수식의 다른 부분에 색을 지정하여 어디로 가는지 파악하는 데 도움이 됩니다. instance 경우 위의 수식을 편집하려는 경우 커서를 각 끝 괄호 ")"를 지나 이동할 때 해당 여는 괄호가 같은 색으로 바뀝니다. 일치하는 괄호가 충분한지 파악하려는 경우 복잡한 중첩 수식에서 특히 유용할 수 있습니다.
추가 예제
다음은 수익 성과 수준에 따라 판매 수수료를 계산하는 매우 일반적인 예제입니다.
-
=IF(C9>15000,20%,IF(C9>12500,17.5%,IF(C9>10000,15%,IF(C9>7500,12.5%,IF(C9>5000,10%,0)))))
이 수식은 IF(C9이 15,000보다 크면 20%를 반환하고, IF(C9이 12,500보다 크면 17.5%를 반환하고... 등을 의미합니다.
이전 등급 예제와 매우 유사하지만, 이 수식은 큰 IF 문을 유지하는 것이 얼마나 어려운지 에 대한 좋은 예입니다. organization 새로운 보정 수준을 추가하고 기존 달러 또는 백분율 값을 변경하기로 결정한 경우 어떻게 해야 할까요? 당신은 당신의 손에 많은 일을했을 것이다!
팁: 긴 수식을 읽기 쉽도록 수식 입력줄에 줄 바꿈을 삽입할 수 있습니다. 새 줄로 줄 바꿈하려는 텍스트 앞에서 Alt+Enter를 누르면 됩니다.
다음은 논리 순서가 맞지 않는 수수료 시나리오의 예제입니다.
무엇이 잘못 되는지 볼 수 있나요? Revenue 비교의 순서를 이전 예제와 비교합니다. 이 방법은 무엇입니까? 그건 바로, 그것은 아래에서 가고 ($5,000 에 $15,000), 주위 다른 방법. 그런데 왜 그렇게 큰 문제가되어야합니까? 수식이 $ 5,000 이상의 값에 대한 첫 번째 평가를 통과 할 수 없기 때문에 큰 문제입니다. 수익이 $12,500라고 가정해 보겠습니다. IF 문은 $5,000보다 크므로 10%를 반환하며 거기서 중지됩니다. 많은 상황에서 이러한 유형의 오류는 부정적인 영향을 미칠 때까지 눈에 띄지 않으므로 이는 매우 문제가 될 수 있습니다. 따라서 복잡한 중첩된 IF 문에 심각한 문제가 있다는 것을 알면 무엇을 할 수 있을까요? 대부분의 경우 IF 함수를 사용하여 복잡한 수식을 작성하는 대신 VLOOKUP 함수를 사용할 수 있습니다. VLOOKUP을 사용하여 먼저 참조 테이블을 만들어야 합니다.
-
=VLOOKUP(C2,C5:D17,2,TRUE)
이 수식은 C5:C17 범위에서 C2의 값을 찾는다는 의미입니다. 값이 발견되면 D 열의 동일한 행에서 해당 값을 반환합니다.
-
=VLOOKUP(B9,B2:C6,2,TRUE)
마찬가지로, 이 수식은 B2:B22 범위에서 B9 셀의 값을 찾습니다. 값이 발견되면 C 열의 동일한 행에서 해당 값을 반환합니다.
참고: 두 VLOOKUP은 모두 수식의 끝에 TRUE 인수를 사용하므로 적절한 일치 항목을 찾아야 합니다. 즉, 조회 테이블에서 정확한 값과 그 사이에 있는 모든 값을 일치 항목으로 찾습니다. 이 경우 조회 테이블을 가장 작은 값부터 가장 큰 값까지 오름차순으로 정렬해야 합니다.
VLOOKUP은 여기에서 훨씬 더 자세히 다루지만, 이는 12개 수준의 복잡한 중첩된 IF 문보다 훨씬 간단합니다. 이렇게 확실하지는 않지만 다른 이점도 있습니다.
-
VLOOKUP 참조 테이블은 공개되어 있고 쉽게 볼 수 있습니다.
-
테이블 값을 쉽게 업데이트할 수 있으며, 조건이 변경되는 경우 수식을 수정할 필요가 없습니다.
-
사용자가 참조 테이블을 보거나 방해하지 않도록 하려면 다른 워크시트에 배치하기만 하면 됩니다.
알고 있나요?
이제 중첩된 여러 IF 문을 단일 함수로 바꿀 수 있는 IFS 함수가 있습니다. 따라서 4개의 중첩된 IF 함수가 있는 초기 성적 예제인
-
=IF(D2>89,"A",IF(D2>79,"B",IF(D2>69,"C",IF(D2>59,"D","F"))))
대신 단일 IFS 함수를 사용하여 다음과 같이 훨씬 더 단순하게 만들 수 있습니다.
-
=IFS(D2>89,"A",D2>79,"B",D2>69,"C",D2>59,"D",TRUE,"F")
IFS 함수는 모든 IF 문과 괄호에 대해 걱정할 필요가 없으므로 좋습니다.
참고: 이 기능은 Microsoft 365 구독이 있어야 사용할 수 있습니다. Microsoft 365구독자인 경우 사용하는 Office 버전이 최신인지 확인합니다.Microsoft 365 구입 또는 체험
추가 지원
언제든지 Excel 기술 커뮤니티에서 전문가에게 문의하거나 커뮤니티에서 지원을 받을 수 있습니다.