Excel-Formel: Minimale Differenz, wenn nicht leer -

Inhaltsverzeichnis

Generische Formel

(=MIN(IF((rng1"")*(rng2""),rng1-rng2)))

Zusammenfassung

Um die minimale Differenz zwischen zwei Wertesätzen zu berechnen und Fälle zu ignorieren, in denen einer der Werte leer ist, können Sie eine Array-Formel verwenden, die auf den Funktionen MIN und IF basiert. In dem gezeigten Beispiel lautet die Formel in F4:

(=MIN(IF((B5:B12"")*(C5:C12""),B5:B12-C5:C12)))

Dies gibt 115 zurück, das Minimum der Verkaufskosten, wobei Fälle ignoriert werden, in denen einer der Werte leer ist.

Hinweis: Dies ist eine Array-Formel und muss mit Strg + Umschalt + Eingabetaste eingegeben werden.

Erläuterung

In dem gezeigten Beispiel besteht das Ziel darin, die minimale Differenz zwischen Umsatz und Kosten zu berechnen, jedoch nur, wenn beide Werte eingegeben wurden. Wenn einer der Werte leer ist, sollte das Ergebnis ignoriert werden. Um zu bestätigen, dass beide Werte verfügbar sind, ist die IF-Funktion so konfiguriert, dass sie eine boolesche Logik mit diesem Ausdruck verwendet:

(B5:B12"")*(C5:C12"")

Da jeder Bereich 8 Zellen enthält, ist das Ergebnis dieser Operation ein Array wie das folgende:

(1;1;1;0;1;1;0;0)

Dieses Array fungiert als Filter. In Fällen, in denen der Wert 1 ist, können mit IF Werte an MIN weitergeleitet werden. Die tatsächlichen Differenzwerte werden mit einer anderen Array-Operation berechnet:

B5:B12-C5:C12

welches dieses Ergebnis erzeugt:

(150;255;125;1100;150;115;-890;1025)

Nachdem der logische Test ausgewertet wurde, sieht das an die MIN-Funktion übergebene Array folgendermaßen aus:

(150;255;125;FALSE;150;115;FALSE;FALSE)

Beachten Sie, dass der "Differenzwert" für Zeilen, in denen entweder Umsatz oder Kosten leer sind, jetzt FALSCH ist. Die MIN-Funktion ignoriert automatisch FALSE-Werte und gibt das Minimum der verbleibenden Zahlen 115 zurück.

Maximale Differenz ohne Berücksichtigung von Leerzeichen

Um die maximale Differenz ohne Berücksichtigung von Leerwerten zurückzugeben, können Sie MIN durch MAX ersetzen:

(=MAX(IF((B5:B12"")*(C5:C12""),B5:B12-C5:C12)))

Diese Formel funktioniert genauso wie oben erläutert.

Mit MINIFS und Hilfssäule

Die MINIFS-Funktion kann verwendet werden, um dieses Problem zu lösen, erfordert jedoch die Verwendung einer Hilfsspalte mit einer Formel wie der folgenden:

=B5-C5

Mit der obigen Formel in Spalte D kann MINIFS folgendermaßen verwendet werden:

=MINIFS(D5:D12,B5:B12,"",C5:C12,"")

Dies ist keine Array-Formel und muss nicht mit Strg + Umschalt + Eingabe eingegeben werden.

Interessante Beiträge...