Excel-Formel: Zählen Sie, ob die Zeile die internen Kriterien erfüllt

Inhaltsverzeichnis

Generische Formel

=SUMPRODUCT(--(logical_expression))

Zusammenfassung

Mit der Funktion SUMPRODUCT können Sie Zeilen in einer Tabelle zählen, die interne, berechnete Kriterien erfüllen, ohne eine Hilfsspalte zu verwenden.

Kontext

Stellen Sie sich vor, Sie haben eine Tabelle mit Verkaufszahlen für mehrere Produkte. Sie haben eine Spalte für Verkäufe im letzten Monat und eine Spalte für Verkäufe im aktuellen Monat. Sie möchten Produkte (Zeilen) zählen, bei denen der aktuelle Umsatz geringer ist als der Umsatz im letzten Monat. Sie können hierfür keine COUNTIFs verwenden, da COUNTIFs eine bereichsbasierte Funktion ist. Eine Möglichkeit besteht darin, eine Hilfsspalte hinzuzufügen, die die Verkäufe des letzten Monats von den Verkäufen dieses Monats subtrahiert, und dann COUNTIF zu verwenden, um Ergebnisse unter Null zu zählen. Aber was ist, wenn Sie keine Hilfsspalte hinzufügen möchten (oder können)? In diesem Fall können Sie SUMPRODUCT verwenden.

In dem gezeigten Beispiel lautet die Formel in Zelle G6:

=SUMPRODUCT(--(C5:C10>D5:D10))

Erläuterung

SUMPRODUCT wurde für die Arbeit mit Arrays entwickelt. Es multipliziert entsprechende Elemente in zwei oder mehr Arrays und summiert die resultierenden Produkte. Infolgedessen können Sie SUMPRODUCT verwenden, um Arrays zu verarbeiten, die sich aus Kriterien ergeben, die auf einen Zellbereich angewendet werden. Das Ergebnis solcher Operationen sind Arrays, die SUMPRODUCT nativ verarbeiten kann, ohne dass die Control Shift Enter-Syntax erforderlich ist.

In diesem Fall vergleichen wir einfach die Werte in Spalte C mit den Werten in Spalte D unter Verwendung eines logischen Ausdrucks:

C5:C10>D5:D10

Da es sich um Bereiche (Arrays) handelt, ist das Ergebnis ein Array von TRUE FALSE-Werten wie folgt:

(FALSE; TRUE; FALSE; TRUE; FALSE; FALSE)

Um diese in Einsen und Nullen zu zwingen, verwenden wir einen doppelt negativen Operator (auch als doppelt unär bezeichnet):

--(C5:C10>D5:D10)

Welches produziert und Array wie folgt:

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

die dann von SUMPRODUCT verarbeitet wird. Da es nur ein Array gibt, addiert SUMPRODUCT einfach die Elemente im Array und gibt eine Summe zurück.

Interessante Beiträge...