2016-09-09 3 views
0

함수 등에서 많은 양의 vlookup이있는 상당히 큰 Excel 문서가 있습니다. 일부 탭에서 IF 함수를 사용할 수 없어서 내 논리를 검사했습니다. 10 번 이상. 나는 왜 어떤 조건에서 멈추고 다른 곳의 둥지를 점검하지 않는지를 알아낼 수 없습니다. 응답 시간을 얻기 위해 (MINUS) DateCreated - 여기에 내가 DateResolved 데려 갈거야 Excel의 중첩 된 IF 함수가 작동하지 않습니다.

 AE   AI   AL   AM   AN 
DateResolved DateCreated Response Time Dummy Response Time Bucket 
    1/7/2016 1/1/2016  6    -   0-7 
    1/18/2016 1/3/2016  15    -   15-30 
    1/25/2016 1/4/2016  21    -   15-30 
    1/25/2016 1/4/2016  21    -   15-30 
    1/25/2016 12/31/2015 25    -   15-30 
    NULL  1/4/2016  Outstanding >30 1   >30 
    NULL  1/4/2016  Outstanding >30 1   >30 
    1/26/2016 1/4/2016  22    -   15-30 
    NULL  1/4/2016  Outstanding >30 1   >30 

같은 데이터의 샘플 모습이다. 이 응답 시간에는 다음과 같은 IF 함수가 중첩되어 있습니다.

=IF(AE2="NULL",IF(MAX(AI:AI)-AI2>30,"Outstanding >30","Outstanding <30"),AE2-AI2) 

위대하다. 미결> 30 일이 AL 열에 표시됩니다 (DATE CREATED의 최대 날짜는 7 월 중 언젠가 발생하지만 잘립니다. 따라서 DateResolved = NULL, 최대 DateCreated - DateCreated> 30 일 때 IF 문이 충족되는 이유입니다. 응답 시간은 " 뛰어난 뛰어난 "AL은"> 30> 30 : - 뛰어난> 30 ".

=IF(AL2<=7,"0-7",IF(AL2<=14,"8-14",IF(AL2<=30,"15-30",IF(AL2>30, ">30",IF(AL2="Outstanding >30",AL2," Outstanding <30"))))) 

단순히 그냥 반환 할. 다음은 응답 시간 버킷 식의

문제는 열에있다" AL이 "Outstanding < 30"인 경우 "Outstanding < 30"을 반환합니다. 네 번째 둥지가 끝나면 수식이 중지 된 것처럼 보입니다. 원하지 않는 "> 30"으로 "Outstanding"응답 시간이 쌓입니다.

여러 가지 방법으로 시도해 보았습니다. 첫 번째로 마지막 둥지에서 AL2를 "Outstanding> 30"으로 대체했습니다. 나는 또한 수식이 = AM (AL2 = "Outstanding> 30", 1,0) 인 컬럼 AM에 더미 (dummy)를 생성 한 다음 그것을 컬럼 AN으로 대체하려고 시도했다. 내 마지막 둥지를 IF (AM2 = 1, "Outstanding> 30", "Outstanding < 30")로 설정했습니다. 여전히 효과가 없었습니다. 네 번째 둥지 후에 "> 30"이라고 말하면서 멈추고 있습니다. 심지어 번호를 빼내려고 노력하고 AL 열의 "Outstanding> 30"을 OST로 대체하고 "OST"를 내 공식으로 대체하여 엑셀이 "Outstanding> 30"의 마지막 비트를 실수로 읽지 않도록했습니다.

업데이트 : 내 수식의 마지막 부분으로 "> 30"을 포함하도록 수식을 편집했습니다. 즉, 조건이 거짓 일 경우 나타나는 내용입니다. 왜 그것이 효과가 있었는지 나는 모르지만 그것은 그렇습니다. 여기에 있습니다 :

=IF(O2<=7,"0-7",IF(O2<=14,"8-14",IF(O2<=30,"15-30",IF(O2="Outstanding >30","Outstanding >30",IF(O2="Outstanding <30","Outstanding <30",">30")))))` 

이유를 아는 사람이 있습니까? 이런 일

답변

0

이유

"Outstanding >30">30 

TRUE에 평가된다는 점이다.

어떤 이유에서든 Excel은 이와 같은 비교를 수행 할 때 텍스트가 임의의 숫자 값보다 큰 것으로 취급됩니다.

0

는 공식을 재구성 :

=IF(ISNUMBER(AL2),IF(AL2<=7,"0-7",IF(AL2<=14,"8-14",IF(AL2<=30,"15-30",">30"))),AL2) 

enter image description here

0

그것은 Excel이 (번호가 포함 된 텍스트 포함) 텍스트를 처리하는 방법을 이해하는 것이 중요합니다. "Outstanding> 30"값을 임의 숫자와 비교하면 "Outstanding> 30"이 항상 더 높습니다. 즉 :

="Outstanding >30" > 999999 

TRUE을 출력합니다.

수식을 수정하여 여러 가지 방법으로 작동합니다. 일 수를 확인하기 전에 수식의 시작 부분에 AL2 = "미완료> 30"및 "미완료 < 30"이 있는지 확인하는 것이 좋습니다.

다음은 수식을 다시 작성한 것입니다. OR 기능의 사용에 유의하십시오.

=IF(OR(AL2="Outstanding >30", AL2="Outstanding <30"), AL2, IF(AL2<=7,"0-7",IF(AL2<=14,"8-14",IF(AL2<=30,"15-30",IF(AL2>30, ">30",IF(AL2="Outstanding >30",AL2," Outstanding <30")))))) 

또한 수식 끝에 공백을 넣으려고 했습니까?

..." Outstanding <30" 

마지막으로 숫자 만 사용하여 (텍스트 없음) 응답 시간을 계산하는 열을 추가하는 것이 좋습니다. 텍스트가있는 열을 유지하더라도 기본 숫자를 사용하여 해당 텍스트를 계산할 수 있습니다. 또한 수식에 NULLTODAY() 함수를 날짜 확인으로 사용할 수 있습니다.

관련 문제