IF/AND 문의 조건이 간과되는 이유

IF/AND 문의 조건이 간과되는 이유

다음 공식이 적용되었습니다.

=TRIM(
IFERROR(IF(AND($T9-TODAY()>=Key!$N$14,$T9-TODAY()<=Key!$M$14,$AA9<>"Complete",$G9<>"New Phase",$T9<>""),Key!$L$11,""),"Error")
)

나는 의 "오류" 부분이 IFERROR실행되고 있음을 발견했습니다. 그래서 내 수식을 검토한 후 그 이유는 T 열이 가끔 비어 있기 때문이라는 것을 꽤 확신했습니다. 그래서 나는 다음과 같은 수표를 넣었습니다 $T9<>"". 그러나 이것을 추가한 후에도 여전히 "오류"가 표시됩니다.

내가 추가한 조건으로 인해 실행 중인 조건의 "FALSE" 부분이 발생해서는 안 됩니까? 그것은 단지 ""입니다.

누구든지 통찰력이 있습니까?

여기에 이미지 설명을 입력하세요

여기에 이미지 설명을 입력하세요

답변1

귀하의 공식에는 구성 오류가 없으므로 문제는 해당 원인으로 인한 것이 아닙니다. 작성된 대로 논리적으로 작동하므로 생산 실패는 사용 기능이나 해당 기능에 사용된 값으로 인해 발생해야 합니다.

"사용 기능이... 적용됩니다"라는 말은 때때로 사용의 형성이 생각하지 못하는 중간 단계로 인해 문제를 야기한다는 것을 의미합니다. 예를 들어, 실제로 문제를 일으킬 만한 것이 아니기 때문에 "가짜"라는 가짜 예를 사용하려면(그러나 실제 예가 마음에 떠오르지 않음) 문제가 TODAY()값에서 뺀 다음 이를 다음과 비교한다고 가정해 보겠습니다. 다른 값. 좋다:

=$T9 - TODAY() <= Key!$M$14

이 수식을 평가하는 동안 왼쪽 절반이 음수 값을 생성하면 Excel에서 오류가 발생한다고 가정합니다. (Excel은 처리 시 "유형" 고려 사항을 수행하지 않기 때문에 날짜 결과를 기대하지 않으므로 음수 값이 발생하더라도 오류가 발생하지 않습니다. 그러나 가장합니다.) 따라서 Excel은 첫 번째로 음수를 얻습니다. 앞으로 나아가는 것이 아니라 바로 그때 공식과 오류를 평가하는 단계입니다. 이후의 각 계산에 해당 오류가 전달되므로 내부의 최종 결과는 IFERROR()오류가 되어 해당 결과를 얻게 됩니다.

(다시 말하지만, 이는 가정입니다. 그러나 이를 신속하게 극복할 수 있는 방법의 예로서 단순히 대수적으로 를 TODAY()오른쪽으로 이동하여 아마도 양수 값에 추가될 수 있으므로 평가할 때 결코 중간 값을 제공할 수 없습니다. 결과는 음수이므로 오류가 발생하지 않습니다. 일단 평가되면 오른쪽은 날짜 측면을 잃고 단지 숫자일 뿐이므로 모든 재미있는 작업이 끝나는 경우가 많습니다.)

내가 말했듯이, 그것은 공식의 어떤 구성 요소에도 문제가 되지 않습니다. 이제 실제 가능성은 some component (cell) used in one of theAND() 뿐입니다 components contains an error.

Key!$M$9예를 들어, 귀하가 정말로 원하지 않는지 Key!$M$14또는 그러한 종류의 고려 사항이 T14있는지 여부는 중요하지 않습니다 .T9(간접적인 방법은 제외: 수식에서 잘못 선택한 멤버가 있는 경우 AND T9가 필요 하지만 그렇지 않은 경우 오류가 발생했다고 말합니다.)T14T9T14

따라서 성공적으로 평가하기보다는 강화하는 공식을 사용하여 IFERROR()참조된 각 셀을 살펴보세요. 이를 수행하는 빠르고 좋은 방법은 제공되는 셀 중 하나에서 수식을 복사하는 것입니다 Error(F2를 누르고 모든 것을 강조 표시한 다음 복사한 다음 아무 것도 손상시키지 않고 작업할 수 있도록 어딘가의 빈 공간으로 이동하고 F2를 누르고 붙여넣기 — 공식은 다이에서 얻은 것과 정확히 동일한 참조를 갖습니다). 그런 다음 수식 아래 셀에 =및 각 셀 참조를 입력합니다. 그래서:

=T9
=Key!$n$14

등등. 이제 말하자면 모든 것이 명확하게 보입니다. 구성 요소 중 하나에 Excel 오류(예: 셀이 결과를 0으로 나누는 경우)가 표시되면 문제가 있는 것입니다. 운이 좋으면 범인은 단 한 명입니다.

이는 테스트를 변경한 다음 테스트를 수행하는 데 다른 작업과 다른 작업이 필요하다는 것을 깨닫는 등 스프레드시트를 작성할 때 여러 가지 작업 분기를 생성하지만 만들 수 있는 좋은 시작점으로 돌아가는 경로를 찾을 수 없을 때 종종 문제가 됩니다. 몇 가지 다른 변경이 필요합니다(따라서 분기를 통합하는 대신 이상한 방식으로 두 개 이상을 서로 으깨게 됩니다). 이는 종종 T9 및 Key!$M$14와 같이 사용되는 셀 주소의 실제 불일치로 이어집니다. 구애. 그러나 겉으로 보이는 불일치가 오히려 완벽한 일치일 수도 있는 것처럼, 이 길은 그 불일치로 이어지지 않을 수도 있습니다. 그냥 자주요.

그러나 FAR에 따르면 더 일반적인 문제는 선행 수식으로 인해 오류가 발생하므로 종속 수식에서 해당 셀을 호출하면 오류 결과가 발생한다는 것입니다. 여러 가지 이유가 발생할 수 있지만 사람들은 일반적으로 수식 문제가 구성 문제라는 것을 경험하기 때문에 실제로 호출된 셀을 되돌아보는 경우가 거의 없습니다. 특히 첫 번째 사용이 훌륭하게 작동하고 "복사하여 붙여넣은" 수식 중 일부에서만 오류가 발생하는 경우에는 더욱 그렇습니다.

따라서 어떻게 하든 실패 결과 중 하나를 선택하고 그 중 하나 이상이 오류를 "전진할 수 없음"을 "알고" 있는지 여부에 관계없이 해결된 모든 구성 요소 셀을 살펴봐야 합니다.

제가 잊어버린 한 가지 사실은 시트 이름 등이 포함된 시트 이름까지 수식을 설정했는데 완벽하게 작동한다는 것입니다. 참조된 셀 중 하나에 오류 조건을 만들 때까지. 따라서 구성된 대로 작업하고 TRUE 및 FALSE 분기 모두에 대해 올바른 결과를 제공하는 것이 IF()참조된 셀에 오류가 없는 신중한 설정에서 테스트됩니다. 하지만 그 중 하나에 오류를 넣으면 결과가 다시 나옵니다 IFERROR().

답변2

A18의 공식은 T18을 참조한다고 가정합니다(표시된 공식은 T9를 사용함). IF(ISBLANK(T9). <>""에 대해 IF(T9<>""를 변경하고 싶을 수도 있습니다. 공백이 있는 경우에만 TRUE를 제공합니다. 아래 화면 캡은 수식 세부 사항 및 참조된 셀과 유사한 결과를 보여줍니다. 내용물

여기에 이미지 설명을 입력하세요

이것이 도움이 되기를 바랍니다.

관련 정보