Excel-Formel: Summe nach Wochentag -

Inhaltsverzeichnis

Generische Formel

=SUMPRODUCT((WEEKDAY(dates)=day_num)*values)

Zusammenfassung

Um Daten nach Wochentag zu summieren (dh nach Montag, Dienstag, Mittwoch usw.), können Sie die Funktion SUMPRODUCT zusammen mit der Funktion WEEKDAY verwenden.

In dem gezeigten Beispiel lautet die Formel in H4:

=SUMPRODUCT((WEEKDAY(dates,2)=G4)*amts)

Erläuterung

Sie fragen sich vielleicht, warum wir die SUMIF- oder SUMIFS-Funktion nicht verwenden? Dies scheint ein offensichtlicher Weg zu sein, um die Wochentage zu summieren. Ohne Hinzufügen einer Hilfsspalte mit einem Wochentagswert können jedoch keine Kriterien für SUMIF erstellt werden, die den Wochentag berücksichtigen.

Stattdessen verwenden wir die praktische Funktion SUMPRODUCT, mit der Arrays ordnungsgemäß verarbeitet werden können, ohne dass Sie Strg + Umschalt + Eingabetaste verwenden müssen.

Wir verwenden SUMPRODUCT mit nur einem Argument, das aus diesem Ausdruck besteht:

(WEEKDAY(dates,2)=G4)*amts

Die WEEKDAY-Funktion wird von innen nach außen mit dem optionalen Argument 2 konfiguriert, wodurch die Nummern 1-7 für die Tage Montag bis Sonntag zurückgegeben werden. Dies ist nicht erforderlich, erleichtert jedoch das Auflisten der Tage in der angegebenen Reihenfolge und das Abrufen der Zahlen in Spalte G nacheinander.

WOCHENTAG wertet jeden Wert im genannten Bereich "Datumsangaben" aus und gibt eine Zahl zurück. Das Ergebnis ist ein Array wie folgt:

(3; 5; 3; 1; 2; 2; 4; 2)

Die von WEEKDAY zurückgegebenen Zahlen werden dann mit dem Wert in G4 verglichen, der 1 ist.

(3; 5; 3; 1; 2; 2; 4; 2) = 1

Das Ergebnis ist ein Array von TRUE / FALSE-Werten.

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

Als nächstes wird dieses Array mit den Werten im genannten Bereich "amts" multipliziert. SUMPRODUCT funktioniert nur mit Zahlen (nicht mit Text oder Booleschen Werten), aber mathematische Operationen zwingen die TRUE / FALSE-Werte automatisch zu Einsen und Nullen. Wir haben also:

(0; 0; 0; 1; 0; 0; 0; 0) * (100; 250; 75; 275; 250; 100; 300; 125)

Welche Ausbeuten:

(0; 0; 0; 275; 0; 0; 0; 0)

Mit nur diesem einzigen zu verarbeitenden Array summiert SUMPRODUCT die Elemente und gibt das Ergebnis zurück.

Interessante Beiträge...