Subtrahieren Sie Werte nur, wenn alle Zahlen sind

Subtrahieren Sie Werte nur, wenn alle Zahlen sind

Ich möchte in Excel vier Zellen von einer bestimmten Zelle subtrahieren, aber nur, wenn eine der vier Zellen einen Wert hat. Genauer gesagt lautet die Formel in Zelle L2 derzeit

=IF(AND(ISNUMBER(E2),ISNUMBER(G2),ISNUMBER(I2),ISNUMBER(K2),),"",D2-E2-G2-I2-K2)

aber ich möchte, dass dies nur berechnet wird, wenn eine oder alle Zellen E2, G2, I2, K2 einen Wert haben. Was fehlt mir in der Formel, damit L2 eine 0 zurückgibt, es sei denn, das Obige trifft zu?

Antwort1

Was Sie tun müssen – und worum wir Sie schon vor zwei Tagen hätten bitten sollen – ist, einige Beispiele dafür zu geben, welche Ergebnisse Sie für welche Eingaben erzielen möchten. Ja, ich weiß, Sie haben uns einige gegeben, aber sie hättenbearbeitetin die Frage; Kommentare sind ein schlechter Ort für tabellarische Daten und lange Formeln, und sie sind diefalschPlatz für Informationen, die zum Verständnis der Frage erforderlich sind. Wie auch immer, ich habe einige Beispieldaten für Sie erstellt. Beachten Sie, dass sie nicht alle korrekt sind. Ich weiß, dass sie nicht alle korrekt sind, weil sie inkonsistent sind, aber ich hätte auch Probleme, sie alle richtig zu machen, weil ich immer noch nicht verstehe, was Sie wollen.

        Case       D        E        G        I        K        L (Result)
        fee       40        1                                  39
        fie       40        0.01                               39.99
        foe       40        0                                  40
        fum       40                                           40
        foo       40                                            0

Wenn die Fälle nicht feedas fiewiderspiegeln, was Sie wollen, haben wir ein ernstes Kommunikationsproblem. Wenn Sie nie, nie, in einer Unmenge von Jahren eine tatsächliche0in E2, G2, I2, oder K2, dann müssen wir uns nicht wirklich um den Fall kümmern foe. Die 40.000-Dollar-Frage lautet also: Möchten Sie fum( L2= 40) oder  foo( L2= 0)?

fum( L2= 40)

Das ist ganz einfach. Stellen Sie L2eine der folgenden Optionen ein:

  • =D2-E2-G2-I2-K2
  • =D2-(E2+G2+I2+K2)
  • =D2-SUM(E2,G2,I2,K2)

die gleichwertig sind.

foo( L2= 0)

Etwas länger, aber genauso offensichtlich:

=IF(OR(ISNUMBER(E2),ISNUMBER(G2),ISNUMBER(I2),ISNUMBER(K2)), D2-E2-G2-I2-K2, 0)

Das kommt Ihnen vielleicht bekannt vor, da es sich um Teylyns Antwort in Kombination mit meinem Kommentar handelt („Wenn Sie möchten, dass die Subtraktion berechnet wird, wenn eine oder alle Zellen einen Wert haben, … verwenden Sie ORanstelle von AND.“)

Hä was?

Ihre ursprüngliche Formel,

=IF(AND(ISNUMBER(E2),ISNUMBER(G2),ISNUMBER(I2),ISNUMBER(K2),),"",D2-E2-G2-I2-K2)

ruft (wie Teylyn betonte) die AND()Funktion mit fünf Parametern auf:

  • ISNUMBER(E2),
  • ISNUMBER(G2),
  • ISNUMBER(I2),
  • ISNUMBER(K2), Und
  • (leer).

Wenn ein leerer Wert in Excel als Zahl verwendet wird, wird er so behandelt, als wäre er 0 (Null). Deshalb fumfunktionieren die „ “-Formeln: Die leeren Zellen werden so behandelt, als ob sie 0 enthielten. Ebenso wird ein leerer Wert, der in Excel als Boolescher Wert (d. h. logischer Wert) verwendet wird, so behandelt, als ob er FALSCH wäre. Ihre Formel verhält sich also wie

=WENN(UND(ISTZAHL(E2),ISTZAHL(G2),ISTZAHL(I2),ISTZAHL(K2),FALSCH),"",D2-E2-G2-I2-K2)

Da ist , reduziert sich das obige zuAND(anything, FALSE)FALSE

=IF(FALSE, "", D2-E2-G2-I2-K2)

oder einfach

=D2-E2-G2-I2-K2

Dies kommt Ihnen vielleicht bekannt vor, da es sich um die fumFormel „ “ handelt.


Sind wir schon da?

Wenn ich einen geheimnisvollen Aspekt Ihrer Frage übersehen habe, bitteBearbeiten Sie Ihre Frageum es zu verdeutlichen; fügen Sie beispielsweise Beispieldaten hinzu, wenn keine der obigen Antworten die gewünschten Ergebnisse liefert.

Antwort2

Ihre Formel gibt eine leere Zeichenfolge zurück, wenn alle Bedingungen erfüllt sind. Ich denke, Sie möchten die Berechnung an dieser Stelle. In der AND()-Funktion ist ein Komma verloren gegangen.

Nach Ihrer verbalen Beschreibung ist die Formel, die Sie wahrscheinlich benötigen,

=IF(AND(ISNUMBER(E2),ISNUMBER(G2),ISNUMBER(I2),ISNUMBER(K2)),D2-E2-G2-I2-K2,0)

Dadurch wird die Berechnung nur durchgeführt, wenn alle Zellen einen Wert enthalten.

aber ich möchte, dass dies nur berechnet wird, wenn eine oder alle der Zellen E2, G2, I2, K2 einen Wert haben.

Sie müssen sich entscheiden. Wenn Sie die Berechnung durchführen möchten, wenn eine beliebige Zelle einen Wert enthält, benötigen Sie keine IF-Anweisung. Führen Sie in diesem Fall einfach die Subtraktion durch.

Antwort3

Ich denke, Sie benötigen möglicherweise eine Hilfszeile. Sie können diese direkt unter die betreffenden Zellen setzen, indem Sie die Formel verwenden

=WENN(ISTZAHL(E2),E2,0)
. Dann könnten Sie einfach eine einfache Subtraktion in der Hilfszeile durchführen. Natürlich würde diese Formel in E3 eingegeben. Und übrigens, eine AND-Anweisung ist nur dann wahr, wenn alle ihre Argumente wahr sind, Ihre Formel würde also nur funktionieren, wenn alle Zellen darin Zahlen enthalten. Wenn nur eine Zelle einen nicht-numerischen Wert enthält, würde die Formel als falsch ausgewertet und nicht berechnet. FWIW: Falsch = 0; Wahr = Nicht falsch.

verwandte Informationen