=IF((F2-E2)=0,"No mismatch",IF(AND((F2-E2)>0,E2=0),"Extra Item","Extra Qty"),IF(AND((F2-E2)<0,F2>0),"Short Qty","Not received"))
Es gibt mir einen Fehler von zu vielen Argumenten
Antwort1
Ihnen fehlt eine schließende Klammer am Ende der Formel, da Sie im AND(...), ...)
Nebensatz eine zusätzliche schließende Klammer haben.
'fixed
=IF((F2-E2)=0,"No mismatch",IF((F2-E2)>0,"Extra Qty",IF(AND(F2-E2<0,F2<E2),"Short Qty","Not received")))
'improved
=IF((F2-E2)=0,"No mismatch",IF((F2-E2)>0,"Extra Qty",IF(F2<E2,"Short Qty","Not received")))
'check for blanks added
=IF(COUNT(E2:F2)<>2,"Not received",IF(F2-E2=0,"No mismatch",IF(F2-E2>0,"Extra Qty","Short Qty")))
'alternate
=IF(COUNT(E2:F2)<>2,"Not received", CHOOSE(SIGN(F2-E2)+2,"Short Qty","No mismatch", "Extra Qty"))
Reduzieren Sie die Verwendung von Klammern auf das unbedingt Notwendige.
Antwort2
Zusätzlich zu allen anderen Bedenken verschachteln Sie `IF()' nicht richtig. Es scheint sich um ein konzeptionelles Problem zu handeln, das sich jedoch leicht beheben lässt.
Beispielsweise IF()
folgt das erste der traditionellen verschachtelten IF()'s
Form: WENN dies, dann DAS, SONST dieses neue WENN. Alles gut. Das erste Argument testet etwas, das zweite ist, was Sie wollen, wenn es WAHR ist, das dritte Argument ist das nächste WENN.
Das allernächste IF()
jedoch, das erste mit einem , AND()
ist „vollständig“: Es enthält alle drei darin verwendeten Argumente und beendet damit Ihre Formel:
WENN(UND((F2-E2)>0,E2=0),"Zusätzlicher Artikel","Zusätzliche Menge")
- Getestet wird das AND((F2-E2)>0,E2=0).
- Wenn der Wert WAHR ist, erhalten Sie „Extraartikel“.
- Wenn der Wert FALSCH ist, erhalten Sie „Extra Menge“.
Das nächste Argument kann nirgendwo IF()
berücksichtigt werden. Die Formel endet hier, aber Sie haben mehr eingegeben, also wird Ihnen angezeigt, dass es zu viel ist. Die tatsächliche Form der Dinge macht das nächste IF()
zu einem vierten Argument und das letzte IF()
zu einem fünften Argument, sodass die Meldung „zu viele Argumente“ ausgegeben wird.
Eine Vermutung, wie es passiert sein könnte, ist, dass Sie eine Formelvorlage von irgendwoher verwenden und die Ergebnisse in Anführungszeichen durch das ersetzen sollen, was Ihnen für das erste jedes Paares am besten gefällt, und dann das zweite in Anführungszeichen stehende Ergebnis durch die gesamte nächste IF()
Klausel ersetzen, aber stattdessen das erste geändert und das zweite unverändert gelassen haben. Aber das ist nur eine (schlechte?) Vermutung.
Ihre AND()
Klauseln sind vollkommen in Ordnung. Soweit ich sehe, haben Sie in diesen Klauseln KEINE Klammern ausgelassen oder falsch platziert – obwohl die Frage bearbeitet wurde und das vielleicht ursprünglich so war, aber jetzt behoben ist (obwohl es nicht so aussieht, als wäre das so, wenn ich versuche, die Bearbeitung zu erkennen). Sie KÖNNTEN die () um die „F2-E2“-Teile weglassen, aber Sie denken vielleicht, dass das die Lesbarkeit für Sie verbessert. Oder vielleicht für Ihren Chef. Oder, da Formeln manchmal ganz anders werden können, wenn Klammern weggelassen werden, hat Ihnen vielleicht jemand beigebracht, sie öfter zu verwenden als unbedingt nötig. (Seltsam = manchmal funktioniert eine Funktion mit einem Bereich in Klammern, schlägt aber ohne sie fehl, ohne ersichtlichen Grund.) Absolut nichts von dem, was Sie hier tun, macht sie notwendig, wenn Sie sie entfernen möchten, wie andere darauf drängen.