XLS & PQ: Zeilenweise aggregieren

xls & PQ: Summe, Minimum, Maximum, Mittelwert jeder Zeile berechnen (aggregieren)

Gegeben ist eine Tabelle mit Umsatz-Werten, hier auf unserem Serv­er zum Down­load bere­it liegend. In diesem Beispiel sind es erst ein­mal 5 Kalen­der­wochen und 6 Pro­duk­t­grup­pen. Als Liste/Tabelle for­matiert stellt sich das in Excel so dar:

Die Roh-Daten für diese Aufgabe

Die Roh-Dat­en für diese Auf­gabe

Wie in der Über­schrift bere­its ange­merkt, soll für jede Pro­duk­t­gruppe die Summe, das Min­i­mum, Max­i­mum und der Durch­schnitt berech­net wer­den. Das Ergeb­nis soll sich dann etwa so darstellen (vor der Berech­nung):

Muster für das künftige Ergebnis

Muster für das kün­ftige Ergeb­nis

▲ nach oben …

Plain Excel

Wie Sie auf dem Bild hierüber erken­nen, ist das Gerüst für die Auswer­tung bere­its vorhan­den. Eine for­matierte Tabelle, wo ich auch schon die For­matierung als Währung (derzeit für Sie nicht sicht­bar) bere­its vorgenom­men habe. Die einzu­tra­gen­den Formeln sind absolute Basics und soll­ten Ihnen bekan­nt sein. So tra­gen Sie fol­gende Formel in die entsprechen­den Zellen ein:

  • I1: =SUMME(B2:F2)
  • J1: =MIN($B2:$F2)
  • K1: =MAX($B2:$F2)
  • L1: =MITTELWERT($B2:$F2)

Hin­weis: Wenn Sie die Zell-Adressen nicht von Hand ein­tra­gen haben, son­dern durch einen Klick auf die jew­eilige Zelle der Spalte B und Spalte F, dann wird Excel automa­tisch den Beze­ich­n­er der Liste übernehmen: =SUMME(Tabelle1[@[KW 1]:[KW 5]]). Lassen Sie sich dadurch nicht irri­tieren.

Ich sel­ber bin faul 😉 und klicke nach dem Ein­trag der Formel in J1 in das Aus­fül­lkästchen, ziehe die Formel bis zur Spalte L nach rechts rüber und passe dann nur die eigentlichen Funk­tion­sna­men an. Durch die Funk­tion­al­ität der Intel­li­gen­ten Tabelle wer­den die Formeln nach der Änderung automa­tisch nach unten aus­ge­füllt. Das Ergeb­nis ist kor­rekt und stellt sich so dar:

Die Lösung mit plain Excel

Die Lösung mit Plain Excel

Damit ist die Auf­gabe im Basis-Excel gelöst und erfüllt. Zugegeben, es ist die ein­fach­ste der möglichen Vari­anten …

▲ nach oben …

Power Query (Lösung 1)

Die erste Möglichkeit, die mir im Rah­men der Pow­er Query-Lösung einge­fall­en ist, gehört nun nicht unbe­d­ingt zu den wirk­lich empfehlenswerten. Es gibt 2 entschei­dende Ein­schränkun­gen: 1. ist diese Vorge­hensweise bei größeren Daten­men­gen ein­fach unzu­mut­bar und 2. sind die Formeln nun auch nicht jed­er­manns Sache. 🙄 Aber des Prinzips wegen zeige ich Ihnen den Lösungsweg hier auf, denn vielle­icht lässt sich die eine oder andere Funk­tion ein­mal an ander­er Stelle ein­set­zen.

Begin­nen Sie damit, die (blaue) Tabelle1 in den Pow­er Query-Edi­tor zu importieren. Im Anschluss stellt sich das nun so dar:

Direkt nach dem Import im Power Query-Editor

Direkt nach dem Import im Pow­er Query-Edi­tor

Wählen Sie anschließend im Menü-Reg­is­ter Spalte hinzufü­gen | Benutzerdefinierte Spalte. Als Über­schrift tra­gen Sie Summe ein und als Benutzerdefinierte Spal­tenformel ein:
[KW 1]+[KW 2]+[KW 3]+[KW 4]+[KW 5]
wobei sie die Spal­tenna­men (Über­schriften) jew­eils aus dem recht­en Kas­ten übernehmen und nur das + von Hand eingeben:

Fast wie in plain Excel: Verknüpfung der Felder mittels Plus-Zeichen

Fast wie in Plain Excel: Verknüp­fung der Felder mit­tels Plus-Zeichen

Danach bestäti­gen Sie mit OK. Wie gesagt, bei 5, max­i­mal 10 Posi­tio­nen ist das noch trag­bar. Bei 52 Kalen­der­wochen hört aber wirk­lich der Spaß auf. Da ist dann die Lösung 2 entsch­ieden bess­er.

Um jew­eils das Min­i­mum, Max­i­mum und den Durch­schnitt jed­er Zeile zu berech­nen, gehen Sie ähn­lich vor. Nur wer­den hier die einzel­nen Spal­tenna­men nicht durch das + ver­bun­den son­dern es bedarf eines etwas aufwändi­geren Funk­tion­sna­men. Für das Min­i­mum geht das beispiel­sweise so:

Die bereits eingetragene Formel im Dialog

Die bere­its einge­tra­gene Formel im Dia­log

Die Funk­tion an sich: List.Min({[KW 1],[KW 2],[KW 3],[KW 4],[KW 5]}) wobei sie hier stets auf die exak­te Groß-Klein­schrei­bung acht­en müssen. – Hier bin ich ähn­lich faul wie beim Beispiel in Plain Excel und ich kopiere die Formel in die Zwis­chen­ablage. Für das Max­i­mum und den Mit­tel­w­ert ändern Sie dann die Formel nach dem ein­tra­gen in das Feld der Benutzerdefinierte Spal­tenformel so ab:
List.Max({[KW 1],[KW 2],[KW 3],[KW 4],[KW 5]})
bzw.
List.Average({[KW 1],[KW 2],[KW 3],[KW 4],[KW 5]})

Wenn Sie jet­zt Schließen & laden Klick­en, wer­den die ursprünglichen Werte der einzel­nen Wochen eben­falls mit in die Tabelle geschrieben. Das kann ganz sin­nvoll sein, ist hier aber nicht Teil der eigentlichen Auf­gaben­stel­lung. Darum löschen Sie die Spal­ten KW 1 bis KW 5 und erst danach Schließen & laden oder Schließen & laden in…, um die Dat­en in eine Tabelle ‑gegebe­nen­falls an gewün­schter Posi­tion- zu schreiben.

▲ nach oben …

Power Query (Lösung 2)

Wie ich weit­er oben schon angedeutet habe, diese zweite Lösung ist (aus mein­er Sicht) um einiges leichter und auch ele­gan­ter. Begin­nen Sie auch hier damit, die Basis­dat­en in eine Abfrage zu importieren. Falls Sie wieder beim Stand 0 anfan­gen, wird die Abfrage den Namen Tabelle1 bekom­men, son­st wird es ver­mut­lich der Name Tabelle1 (2) sein.

Nach dem Import wech­seln Sie auch hier zum Reg­is­ter Spalte hinzufü­gen. Klick­en Sie nun in die Über­schrift KW 1, Shift (Großschrei­bung) und dann ein Klick in die Über­schrift der let­zten Datenspalte, hier also KW 5 oder wenn das volle Jahr einge­tra­gen ist KW 52. Jet­zt sind alle Spal­ten mit den Umsätzen markiert. Nun ein Klick auf Sta­tis­tiken | Summe und es wird automa­tisch eine neue Spalte mit den entsprechen­den Berech­nun­gen erzeugt. Die automa­tisch vergebene Über­schrift Addi­tion habe ich in Summe geän­dert. – Für das Min­i­mum, das Max­i­mum und den Mit­tel­w­ert ist das Vorge­hen iden­tisch, natür­lich wer­den Sie sie entsprechen­den Aggre­gat-Funk­tio­nen auswählen; die Spal­ten-Über­schriften sind m.E. sog­ar passend. 😛

Schließen & laden in… um das Ergeb­nis an gewün­schter Posi­tion zu platzieren und Sie sind fer­tig. Und das Ganze funk­tion­iert natür­lich auch, wenn sie einzelne Spal­ten per Strg aus dem Ver­bund her­aus­nehmen; der Mit­tel­w­ert wird dann auch nur von den markierten Spal­ten berech­net. Und noch ein Unter­schied zu den Berech­nun­gen in Plain Excel: Ist eine Zelle inner­halb der Markierung (wirk­lich) leer, enthält also in der Edi­tor-Ansicht den Wert null, dann wird die jew­eilige Zelle der Spalte auch nicht mit in die Berech­nung ein­be­zo­gen. Dadurch sind diese Ergeb­nisse automa­tisch kor­rekt; es wird nicht der Wert 0 in die Berech­nung mit ein­be­zo­gen.

Alle drei fer­ti­gen Lösun­gen liegen hier zum Down­load in 1 Arbeitsmappe bere­it.

▲ nach oben …

Hat Ihnen der Beitrag gefallen?
Erleichtert dieser Beitrag Ihre Arbeit?

Dann würde ich mich über einen Beitrag Ihrer­seits freuen …

Dieser Beitrag wurde unter Allgemein, Verschiedenes, Excel-Funktionen, Ohne Makro/VBA, Power Query, PQ-Formeln (Sprache M), Rechnen & Zahlen, Wege nach Rom, {Liste} abgelegt und mit , , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.