Pivot-Tabelle / Spalten und Zeilen anordnen + Einfügen berechneter Felder
#1
Hallo zusammen,

ich habe eine Testdatei (siehe Anhang) mit einem Tabellenblatt mit einer Datentabelle mit verschiedenen Sparten, Zeiträumen und Kennzahlen und ein zweites Tabellenblatt "Pivot" mit einer vorbereiteten Pivot-Tabelle.

In der Pivot soll die Bezeichnung der vier Kennzahlen 1-4 ab Zeile 16 nun untereinander mit den jeweiligen Summen stehen, was aber bei mir schon nicht funktioniert, da beim Hinzufügen der restlichen Kennzahlen-Felder 2-4 in die Feldliste nach Zeilen oder Werte nur noch die Summenwerte angezeigt werden, aber nicht mehr die Bezeichnung der Kennzahl 1, Kennzahl 2, Kennzahl 3 usw.

Und die Spalten mit den Zeiträumen/Summen sollen in der Pivot auch anders angeordnet werden, wie von mir in Zeile 12 angegeben.
Zusätzlich sollte dann in den Pivot-Spalten F+J noch je ein berechnetes Feld für die Summendifferenz in % der beiden Monate als Abgleich eingefügt werden.

Kann man sowas überhaupt in der Pivot anpassen oder müsste man hierfür die Datentabelle anders aufbauen?

Vielleicht kann hier jemand weiterhelfen?


Angehängte Dateien
.xlsx   Mappe10.xlsx (Größe: 24,72 KB / Downloads: 11)
Antworten Top
#2
Hallo,

da du Excel365 hast, habe ich dir eine LET-Funktion erstellt und habe sie im Arbeitsblatt "Abfrage" in Zelle B2 eingefügt.
Sie führt im Prinzip 4 Schritte aus:
1) Sie entpivotiert die intelligente Tabelle "Tabelle3", indem sie aus jeder "Kennzahl"-Spalte je eine neue Zeile erstellt (Variable "r")
2) Diese Tabelle wird nach dem Monat 03.2024 bzw. 03.2025 gefiltert (Variable "tb")
3) Dann erstellt sie eine neue Tabelle mit der PIVOTMIT-Funktion (Variable "p")
4) In diese Tabelle fügt sie 4 Differenz-Spalten ein.

Im Arbeitsblatt "LET-Funktion" habe ich dir den Klartext dieser Funktion eingefügt - nur zur besseren Information gedacht - kann auch wieder entfernt werden.


Angehängte Dateien
.xlsx   rotzlöffel_Mappe10.xlsx (Größe: 39,73 KB / Downloads: 8)
Gruß Anton.

Windows 10 64bit
Office365 32bit
[-] Folgende(r) 1 Nutzer sagt Danke an EA1950 für diesen Beitrag:
  • rotzlöffel
Antworten Top
#3
Danke für die Mühe und Aufbereitung, das sieht sehr umfangreich aus.
Ich schaue mir die Formel nochmal genauer an, da ja jeden Monat auch neue Zahlen dazukommen und sich evtl. die Kennzahlen ändern können.
Antworten Top
#4
Hallo,
Zitat:da ja jeden Monat auch neue Zahlen dazukommen und sich evtl. die Kennzahlen ändern können.
a) jeden Monat:
momentan fragt die Formel die Monate 03.2024 und 03.2025 ab. Sie tut das bei der Ermittlung der Variablen "tb" mittels der FILTER(...)- und REGEXTESTEN(...)-Funktion. Dort steht zur Zeit als Testkriterium "03.202(4|5)", was bewirkt, dass die Monate 03.2024 bzw. 03.2025 aus der intelligenten Tabelle "Tabelle3" herausgefiltert werden, um in der Formel weiterverwendet werden zu können.

b) Kennzahlen:
Als Kennzahlen-Spalten der intelligenten Tabelle "Tabelle3" werden alle Spalten herangezogen außer den ersten 3 Spalten. Zur Zeit steht in diesen Spalten als Spaltenkopf "Kennzahl 1"..."Kennzahl 4". Diese Spaltenkopfbezeichnung wird übernommen, egal was dort steht.

c) Damit du unter Punkt a) die Monatsfilterung leichter anpassen kannst, habe ich dir in der folgenden Formel das Filter-Pattern in die LET-Variable "Monatsfilter" ganz am Anfang der Formel eingefügt:
=LET(m; Tabelle3[#Alle]; Monatsfilter; "03.202(4|5)"; ... )
Die blaue Formel kopieren und in die Formeleditierzeile einer Zelle einfügen, die genügend freie Zellen unterhalb bzw. rechts besitzt (sonst erhältst du einen #ÜBERLAUF!-Fehler).

=LET(m; Tabelle3[#Alle]; Monatsfilter; "03.202(4|5)"; BlockSp; 3; Kopf; ÜBERNEHMEN(m; 1); Gruppe; WEGLASSEN(Kopf; ; 3); GruppeSp; SEQUENZ(1; SPALTEN(m) - BlockSp; BlockSp + 1); Daten; WEGLASSEN(m; 1); DatZl; ZEILEN(Daten); Blk; ÜBERNEHMEN(Daten; ; BlockSp); Block; HSTAPELN(SPALTENWAHL(Blk; 1); TEXT(SPALTENWAHL(Blk; 2); "MM.JJJJ"); SPALTENWAHL(Blk; 3)); r; REDUCE(HSTAPELN("Kennz"; ÜBERNEHMEN(Kopf; 1; BlockSp); "KennzWert"); GruppeSp; LAMBDA(Akk;Sp; LET(GrBez; INDEX(Kopf; 1; Sp); Gr; HSTAPELN(ERWEITERN(GrBez; DatZl; 1; GrBez); Block; SPALTENWAHL(Daten; Sp)); VSTAPELN(Akk; Gr)))); tb; VSTAPELN(ZEILENWAHL(r; 1); FILTER(r; REGEXTESTEN(SPALTENWAHL(r; 3); Monatsfilter))); p; PIVOTMIT(SPALTENWAHL(tb; 1); HSTAPELN(SPALTENWAHL(tb; 4); SPALTENWAHL(tb; 3)); SPALTENWAHL(tb; 5); SUMME; 1; 1; ; 0); REDUCE(SPALTENWAHL(p; 1); SEQUENZ(1; 4; 2; 2); LAMBDA(Akk;Sp; LET(BlkSp; SPALTENWAHL(p; Sp; Sp + 1); blkKopf; ZEILENWAHL(BlkSp; 1; 2); blkKopfDif; HSTAPELN(blkKopf; VSTAPELN(INDEX(blkKopf; 1; 1); "Diff.")); blkDat; WEGLASSEN(BlkSp; 2); blkDif; SPALTENWAHL(blkDat; 2) - SPALTENWAHL(blkDat; 1); HSTAPELN(Akk; VSTAPELN(blkKopfDif; HSTAPELN(blkDat; blkDif)))))))
Gruß Anton.

Windows 10 64bit
Office365 32bit
[-] Folgende(r) 1 Nutzer sagt Danke an EA1950 für diesen Beitrag:
  • rotzlöffel
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste