2016-05-18 10 views
0

Dies ist eine zweite Folge Frage von excel-2013-too-many-arguments-message-to-ifand-formulaZu viele Argumente Nachricht in IFAND Formel - Follow-up

Hallo -

ich noch auf meiner Entscheidung Form arbeite und in ein anderes Problem lief. Dies ist meine Formel:

=+IF($J7="Planned - Shift/Vacation Coverage",IF(O7="No","Is Helper out during day shift?","Is an Eng out during day shift?"), 
IF($J7="Planned - Off-shift PMs",IF(O7="No","Schedules OT - STOP","LE schedules work within shift - STOP"), 
IF($J7="Planned - Training",IF(O7="No","Schedules training during shift - STOP","Schedules OT - STOP"), 
IF($J7="Unplanned - Sick call in",IF(O7="No","Is Helper out during day shift?","Is an Eng out during day shift?"), 
IF($J7="Unplanned - Emergency response/repair", IF(N7="Can this be handled by scheduled resources within shift?", IF(O7="No","Is the request a code 2?","Work is executed within shift - STOP"), IF(N7="Is the request a code 3?", IF(O7="No", "Schedules OT - STOP","Can this be handled by scheduled resources within shift?"), 
IF($J7="Unplanned - Weather",IF(N7="Can resources be allocated from the shift in the first instance?",IF(O7="No","Schedules OT - STOP","CE assigns work to LE - STOP"), IF(N7="Can CE or ACE become the additional HC?",IF(O7="No","Schedules OT - STOP","CE or ACE covers shift - STOP"))))))))))) 

ich das erwartete Ergebnis für jedes meiner OT-Typen mit Ausnahme der letzten bin immer - „Ungeplante - Wetter“. Es ist eine binäre IF-Formel, ähnlich der oben genannten "Ungeplant - Notfallreaktion/Reparatur", aber aus irgendeinem Grund funktioniert dieser, aber der ehemalige ist nicht. Ich bekomme eine "FALSE" -Ausgabe für beide Antworten.

+0

auf einer Seitennotiz brauchen Sie nicht das + vorne rechts nach dem = Zeichen. Ich mache es häufig als eine nette Art, eine Formel zu starten, aber in Wirklichkeit tut es am Ende nichts für dich. Seine Entfernung während "Tiddy" ist nicht das Problem, vor dem Sie stehen. Wir werden gleich darauf kommen. –

+0

Also für den Anfang werde ich vorschlagen, dass Sie den Teil Ihrer Formel betrachten, die nicht funktioniert, indem Sie es ausbrechen. '= IF ($ J7 =" Ungeplant - Wetter ", IF (N7 =" Können Ressourcen von der Schicht in erster Instanz zugewiesen werden? ", IF (O7 =" Nein "," Zeitpläne OT - STOP "," CE erteilt Arbeit an LE - STOP "), IF (N7 =" Kann CE oder ACE die zusätzliche HC werden? ", IF (O7 =" Nein "," Zeitpläne OT - STOP "," CE oder ACE verdeckt schalten - STOP "))))" Lasst uns sehen, ob wir das Problem dort erkennen können. –

+0

Wenn Sie unerwartete Ergebnisse erhalten, wie lauten Ihre Werte für J7, O7 und N7? Um etwas Tipparbeit zu sparen, können Sie diese Sätze durch AAA, BBB, CCC usw. ersetzen, bis Sie es zum Laufen bringen. Eines der Probleme, mit denen Sie möglicherweise konfrontiert sind, ist ein Tippfehler in Ihren Eingabewerten, da sie so lang sind. Ein einfaches Leerzeichen nach dem letzten Zeichen oder vor dem ersten Zeichen reicht aus, um die Dinge abzulegen. –

Antwort

0
=IF($J7="Unplanned - Weather", IF(N7="Can resources be allocated from the shift in the first instance?", IF(O7="No","Schedules OT - STOP","CE assigns work to LE - STOP"), IF(N7="Can CE or ACE become the additional HC?", IF(O7="No","Schedules OT - STOP","CE or ACE covers shift - STOP")))) 

Lassen Sie sehen, was passiert, wenn J7 gleich ist Ungeplantes Wetter? Es bedeutet, dass unsere erste Aussage wahr ist. Und wir bewegen auf:

IF(N7="Can resources be allocated from the shift in the first instance?", IF(O7="No","Schedules OT - STOP","CE assigns work to LE - STOP"), IF(N7="Can CE or ACE become the additional HC?", IF(O7="No","Schedules OT - STOP","CE or ACE covers shift - STOP"))) 

gerade bemerkt, dass, wenn J7 zu ungeplanten nicht gleich war - Wetter, dann haben wir die if-Anweisung nicht gesagt, was zu tun ist. Was passiert, wenn J7 gleich STACK ist? Da Sie für die J7-Prüfung kein falsches Ergebnis geliefert haben, wird standardmäßig false zurückgegeben.

Jetzt zurück, was passiert, wenn J7-Check wahr und wir haben jetzt mit einem N7-Check. Lasst uns so tun, als ob N7 gleich QBERT ist. So ist die Faust N7 Check falsch ist und wir betrachten jetzt:

IF(N7="Can CE or ACE become the additional HC?", IF(O7="No","Schedules OT - STOP","CE or ACE covers shift - STOP")) 

N7 ist immer noch gleich qbert so dass es für die N7-Check wieder falsch ist, was bedeutet, ... Hey gibt es keine Option für N7 Überprüfung , so dass Excel standardmäßig False zurückgibt. Warum werfen wir nicht eine Fehlermeldung ein, die uns sagt, dass wir ein Problem mit N7 haben? So ist die letzte Formel wird:

IF(N7="Can CE or ACE become the additional HC?", IF(O7="No","Schedules OT - STOP","CE or ACE covers shift - STOP"),"N7 check is FALSE") 

Also, wenn wir rollen, dass alle wieder in die ursprüngliche Gleichung und fügen Sie eine Fehlerprüfung für wenn J7 auch ausfällt, dann sollten wir mit etwas aufzuwickeln wie:

=IF($J7="Unplanned - Weather",IF(N7="Can resources be allocated from the shift in the first instance?",IF(O7="No","Schedules OT - STOP","CE assigns work to LE - STOP"), IF(N7="Can CE or ACE become the additional HC?",IF(O7="No","Schedules OT - STOP","CE or ACE covers shift - STOP"),"N7 is False")),"J7 is Flase") 

Sehen Sie, ob dieser Teil Ihnen hilft herauszufinden, wo das Problem liegt. Denken Sie daran, dies ist nur ein Blick auf das Problem, wenn J7 ungeplant sein soll - Wetter und nicht, wenn J7 einer Ihrer anderen geplanten J7-Werte ist.

0

Arbeiten an einer solchen Tiefe der IF Bedingung ist möglich, aber oft nicht praktikabel. Vielleicht möchten Sie Ihre Struktur überdenken.

Eine Möglichkeit besteht darin, eine Konditionstabelle zu erstellen, in der Sie alle möglichen Bedingungen auflisten, wie in der Tabelle unten gezeigt. Die Spalte "Verknüpfte Bedingung" dient zum Verketten der Bedingung "J", "N" und "O" als Text, der durch "|" begrenzt ist. Und die letzte Spalte ist das Mapping-Ergebnis, das Sie zurückgeben möchten.

(die Spalte 'Verknüpfte Bedingung' verhält sich so, als ob es sich um den Operator AND handelt, mit der Formel =CONCATENATE([@[Condition "J"]],"|",[@[Condition "N"]],"|",[@[Condition "O"]])).

enter image description here

Diese halten Formel kurz und halten einfach:

enter image description here

dann in der Hauptdatentabelle, einfach VLOOKUP, wie unten gelten. Für die Konditionstabelle haben Sie eine einfache Kontrolle darüber, wie Sie das Ergebnis in Zukunft ändern möchten. Mittlere Zeit, hinzufügen und löschen von Ergebnissen wird auch viel einfacher.