IF 함수 - 중첩된 수식 및 오류 방지

IF 함수 - 중첩된 수식 및 오류 방지

참고:  사용자 언어로 가능한 한 빨리 가장 최신의 도움말 콘텐츠를 제공하고자 합니다. 이 페이지는 자동화를 통해 번역되었으며 문법 오류나 부정확한 설명을 포함할 수 있습니다. 이 목적은 콘텐츠가 사용자에게 유용하다는 것입니다. 이 페이지 하단의 정보가 도움이 되었다면 알려주세요. 쉽게 참조할 수 있는 영어 문서 가 여기 있습니다.

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에는 서로 다른 IF 함수를 64개 중첩할 수 있지만 그렇게 하는 것은 전혀 바람직하지 않습니다. 다음과 같은 이유 때문입니다.

  • 여러 IF 문이 필요 상당한 사고 제대로 작성 하 고 자신의 논리부터 끝까지 각 조건 올바르게 계산 수 있는지 확인 합니다. 수식 100%를 정확 하 게 중첩 하지 않음, 경우 75%의 시간을 작동 하지만 25%의 시간 예기치 않은 결과 반환할 수도 있습니다 것입니다. 그러나 25% 파악 하면 가능성이 많지 않습니다.

  • 여러 IF 문을 또는 유지 하기 위해, 사용 중인 경우 나중에 시간이 돌아올 하 고 있는, 파악 시도 나쁜 다른 사람을 수행 하려고 했던 매우 어려워질 수 있습니다.

IF 문이 끝없이 이어지는 것 같으면 마우스를 내려놓고 전략을 다시 생각해야 합니다.

여러 개의 IF를 사용하여 중첩된 복합 IF 문을 올바르게 만드는 방법 및 Excel의 다른 도구를 사용해야 하는 경우를 살펴보겠습니다.

예제

다음은 학생의 시험 점수를 해당하는 학점으로 변환하는 비교적 표준적인 중첩된 IF 문의 예제입니다.

중첩된 복합 IF 문 - E2의 수식은 =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"))))))))))))입니다.
  • =IF(D2>89,"A",IF(D2>79,"B",IF(D2>69,"C",IF(D2>59,"D","F"))))

    이 중첩된 복합 IF 문은 다음과 같은 간단한 논리를 따릅니다.

  1. 시험 점수(D2 셀)가 89보다 크면 학생이 A 학점을 받습니다.

  2. 시험 점수가 79보다 크면 학생이 B 학점을 받습니다.

  3. 시험 점수가 69보다 크면 학생이 C 학점을 받습니다.

  4. 시험 점수가 59보다 크면 학생이 D 학점을 받습니다.

  5. 그 이외의 경우에는 학생이 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에서 도움말 하려고 적합 한 색 편집 중인 경우 수식의 여러 부분을 지정 하 여 위치 파악 합니다. 예를 들어 위의 수식을 편집 하는 경우 때 커서를 이동 닫는 괄호의 각 지난 ")"를 해당 여는 괄호를 같은 색으로 바뀝니다. 이 일치 하는 충분 한 괄호 했는지 파악 하려는 경우 중첩 된 복잡 한 수식에 특히 유용할 수 있습니다.

추가 예제

다음은 수익 성과 수준에 따라 판매 수수료를 계산하는 매우 일반적인 예제입니다.

D9 셀의 수식은 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>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 문을 – 유지 하려면 예는 하기 위해 필요한 조직 새 보상 수준을 추가 하 고도 변경 하기로 결정 하는 경우 수행할 작업은 기존 달러 또는 백분율 값? 손 많은 작업이 했!

팁: 긴 수식을 보다 쉽게 읽을 수 있도록 수식 입력줄에 줄 바꿈을 삽입할 수 있습니다. 새 줄에 배치 하려면 텍스트 앞 ALT + ENTER를 누르면 됩니다.

다음은 논리 순서가 맞지 않는 수수료 시나리오의 예제입니다.

D9의 수식은 =IF(C9>5000,10%,IF(C9>7500,12.5%,IF(C9>10000,15%,IF(C9>12500,17.5%,IF(C9>15000,20%,0)))))으로, 순서가 잘못되었습니다.

무엇이 잘못 되었는지 볼 수 있나요? 이전 예제 수익 비교의 순서를 비교 합니다. 어떤 방식으로이 하나는 이동은 무엇 인가요? 이라고 적합 하지 반대로 위로 (5, 000, 000에 $15000), 아래쪽에서 것입니다. 있지만 이유 해야 하는 큰 문제가 있나요? 큰 문제가 수식을 전달할 수 없습니다 값에 대 한 첫 번째 평가 넘는 $5000 것입니다. 수익에서 $12,500 사항을 – IF 문이 $5000, 보다 크면 있을 중지 됩니다 것 이므로 10%를 반환 합니다 한다고 가정 하겠습니다. 이 많은 상황에서 이러한 유형의 오류 라 발견 부정적인 영향을 했던 될 때까지 때문에 매우 문제가 발생할 수 있습니다. 있는지 파악 하는 몇 가지 심각한 위험 복잡 한 중첩 된 IF 문 사용 되므로 수행할 수 있나요? 대부분의 경우에서 IF 함수를 사용한 복잡 한 수식을 작성 하는 대신 VLOOKUP 함수를 사용할 수 있습니다. VLOOKUP을 사용 하 여 먼저 필요한 참조 테이블을 만듭니다.

D2 셀의 수식은 =VLOOKUP(C2,C5:D17,2,TRUE)입니다.
  • =VLOOKUP(C2,C5:D17,2,TRUE)

이 수식은 범위의 C5:C17 c 2의 값을 찾으려면은 표시 됩니다. 값이 없으면 다음 값을 반환 해당 같은 행에 있는 열 채워졌습니다.

C9 셀의 수식은 =VLOOKUP(B9,B2:C6,2,TRUE)입니다.
  • =VLOOKUP(B9,B2:C6,2,TRUE)

마찬가지로,이 수식은 B2:B22 범위에서 B9 셀의 값을 찾습니다. 값이 없으면 다음 값을 반환 해당 C 열에 동일한 행의

참고: 이러한 VLOOKUPs는 두 TRUE 인수 끝 approxiate 일치 하는 값을 찾으려면 놓쳐서는 의미 수식에 사용 합니다. 즉, 조회 테이블에 정확한 값과 해당 사이 있는 모든 값 일치 합니다. 이 경우 조회 테이블 오름차순에서 오름차순으로 정렬 해야 합니다.

VLOOKUP은 훨씬 더 자세히 다룹니다 여기에서 12 수준, 복잡 한 중첩된 된 IF 문과 보다 훨씬 간단 있는지 잘 이지만! 다른 뚜렷한 이점도 가지가 있습니다.

  • VLOOKUP 참조 테이블은 공개되어 있고 쉽게 볼 수 있습니다.

  • 테이블 값을 쉽게 업데이트할 수 있으며, 조건이 변경되는 경우 수식을 수정할 필요가 없습니다.

  • 사용자가 참조 테이블을 보거나 조작할 수 없게 하려는 경우 다른 워크시트에 배치하면 됩니다.

알고 있나요?

여러 개의 대체할 수 있는 IFS 함수 중첩 단일 함수를 사용한 IF 문을 이제 있습니다. 따라서 초기 점수 예에서 대신 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 문과 괄호에 대해 염려하지 않아도 되기 때문에 유용합니다.

참고: 이 기능은 Office 365 구독을 보유하고 있는 경우에만 사용할 수 있습니다. Office 365 구독자는 최신 버전의 Office를 보유하고 있는지 확인하세요.

Office 365 또는 최신 버전의 Excel 사용해 보기

추가 지원

Excel 기술 커뮤니티의 전문가에게 질문하고, Answers 커뮤니티에서 지원을 받고, Excel 사용자 의견에서 새로운 기능이나 개선 사항을 제안해 보세요.

관련 항목

비디오: 고급 IF 함수
IFS 함수 (Office 365, Excel 2016 및 이상)
는 COUNTIF 함수는 단일 조건에 따라 값의 개수는
의 COUNTIFS 함수 기반으로 값의 배수로 수를 계산 조건
SUMIF 함수는 단일 조건에 따라 값 합계를 구할
에서 SUMIFS 함수는 여러 조건을 기준으로 값의 합계
AND 함수

VLOOKUP 함수
Excel의 수식 개요
수식 손상을된 방지 하는 방법
오류 검사 수식 오류 감지를 사용 하 여
논리 함수
Excel 함수 (사전순)
Excel 함수 (범주별)

Office 기술 확장
교육 살펴보기
새로운 기능 우선 가져오기
Office Insider 참여

이 정보가 유용한가요?

의견 주셔서 감사합니다!

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×