Eindeutige Namen sortiert nach Gesamtsumme ausgeben per Formel
#1
Hallo zusammen,

ich habe eine Dividendentabelle erstellt: 
Spalte A = Name der Unternehmen
Spalte B = Dividende in Euro

In Spalte A kommen Namen mehrfach vor. Nun möchte an anderer Stelle folgendes ausgeben:
Eindeutige Werte aus Spalte A und diese sortiert nach der Summe der Dividenden aus Spalte B.
Das würde ich gerne als Formel lösen und nicht per Power Query oder Pivot.
Hab es mit einer let-funktion probiert mit Kombi aus Eindeutig() + Summewenn() + Sortieren()
Das hat nicht geklappt.
Würde mich sehr freuen, wenn mir jemand dabei helfen könnte.
Vielen Dank.


Angehängte Dateien
.xlsx   Eindeutige Treffer nach Gesamtsumme sortieren.xlsx (Größe: 13,93 KB / Downloads: 6)
Antworten Top
#2
Moin

Die Pivot ist mit vier Klicks fertig.
Wie lange braucht man wohl um eine Formel-Lösung zu erstellen? ... Ich habe es nicht gestoppt, aber 2 Minuten dürften es schon gewesen seit.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#3
Hallo shift-del,

ich bin ganz bei dir!
Ein wirklich nur ganz kleines Manko hat die Pivot-Tabelle: Man muss sie aktualisieren.
Es sind nur 2 Klicks, aber für Dritte ist es dann meistens so: 
Die geben neue Daten ein, schauen sich die Pivot an und da sind die neuen Einträge nicht.
Dann sagt man: "Ja, ich weiß, hier links klink, dann aktualisieren, fertig.
Das wird dann meistens mit einem Augenrollen kommentiert. Smile

Aber auch hier gäbe es eine Lösung: VBA einbauen.
Wenn Änderungen vorgenommen werden, dann aktualisiere die Pivot.
Wenn du das Tabellenblatt anklickst, dann aktualisiere die Pivot.
Oder einfach einen Button zum Aktualisieren.

Alles nebensächlich.
Der Hauptgrund ist, es hat mich wahnsinnig gemacht, dass ich die Lösung nicht gefunden habe es per Formel hinzubekommen. Big Grin
Man tüftelt und man weiß, dass es geht, aber bekommt es nicht hin. 
Trotzdem vielen Dank. Wink
Antworten Top
#4
(06.05.2023, 13:16)el-rettev schrieb: Das wird dann meistens mit einem Augenrollen kommentiert. Smile
Das sind vermutlich dieselben, die mit den Augen rollen wenn die Mappe zu langsam reagiert (wegen zu vieler Formeln).

Für die Formel-Lösung benötigst du noch HSTAPELN().
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

[-] Folgende(r) 1 Nutzer sagt Danke an shift-del für diesen Beitrag:
  • el-rettev
Antworten Top
#5
Zitat:Das sind vermutlich dieselben, die mit den Augen rollen wenn die Mappe zu langsam reagiert (wegen zu vieler Formeln)
 Ja genau.  Wink

Und ja die Pivot ist ressourcenschonender. 


Zitat:Für die Formel-Lösung benötigst du noch HSTAPELN().

Danke für den Tipp! Ich versuche mich weiter dran.
Antworten Top
#6
lschHallo,

faslch
Gastlich
Antworten Top
#7
Moin!
@Gastlich:
Knapp am Thema vorbei? (erledigt!)

HSTAPELN() kann man hier auch durch WAHL() ersetzen.

Ich bin mal Spielverderber und poste die Lösung:
=LET(anz;ANZAHL2(A:A);
a;A2:INDEX(A:A;anz);
b;B2:INDEX(B:B;anz);
x;EINDEUTIG(a);
y;SUMMEWENNS(b;a;x);
SORTIEREN(WAHL({1.2};x;y);2;-1))


Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • el-rettev
Antworten Top
#8
Hallo Ralf,

vielen Dank für deine Lösung!

Ich hatte folgendes erstellt:

Code:
=LET(Eindeutige;EINDEUTIG(Tabelle1[Name]);Gesamtsummen;SUMMEWENN(Tabelle1[Name];Eindeutige;Tabelle1[Dividende]);Tabelle_sortiert;SORTIEREN(HSTAPELN(Eindeutige;Gesamtsummen);2;-1);FILTER(Tabelle_sortiert;{1.0}))
Antworten Top
#9
Hauptsache, dass es funktioniert!
(meine Formel listet natürlich auch die Summen auf)
Ich schreibe gerne mehrfach benötigte Verweise in Variablen.
Ja, b wird hier nur einmal benötigt, macht die Formel aber imo übersichtlicher.
Wenn ich die strukturierten Verweise nehme, würde meine Lösung so aussehen:
=LET(
a;Tabelle1[Name];
b;Tabelle1[Dividende];
x;EINDEUTIG(a);
y;SUMMEWENNS(b;a;x);
SORTIEREN(WAHL({1.2};x;y);2;-1))
ABCDEF
1NameDividendeDatumEindeutige_NamenSumme_Dividende
2Volkswagen5001.01.2023SAP180
3Intel2501.01.2023Volkswagen150
4IBM1501.01.2023Intel140
5Volkswagen4001.04.2023IBM128
6Intel10001.04.2023
7IBM7501.04.2023
8Volkswagen6001.07.2023
9Intel1501.07.2023
10IBM3801.07.2023
11SAP18001.07.2023

ZelleFormel
E2=LET(
a;Tabelle1[Name];
b;Tabelle1[Dividende];
x;EINDEUTIG
(a);
y;SUMMEWENNS
(b;a;x);
SORTIEREN
(WAHL({1.2};x;y);2;-1))
Aber wie sagte schon der alte Fritz:
Jeder nach seiner Facon!

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • el-rettev
Antworten Top
#10
Ich habe dafür meine Universalformel PVT:

E2#:

=LAMBDA(XQuelle;[YAuswahl];LET(
XZähler;SEQUENZ(ZEILEN(XQuelle));
XSort;SORTIEREN(XQuelle;{1.2});
XBez;INDEX(XSort;;1);
XWert;INDEX(XSort;;2);
XVorIdent;VSTAPELN(FALSCH;WEGLASSEN(XBez;1)=WEGLASSEN(XBez;-1));
XErster;NICHT(XVorIdent);
XLetzter;NICHT(VSTAPELN(WEGLASSEN(XVorIdent;1);FALSCH));
XVon;XErster*XZähler;
XBis;XLetzter*XZähler;
XKumSum;SCAN(0;XWert;LAMBDA(a;c;a+c));
YBez;EINDEUTIG(XBez);
YVon;FILTER(XVon;XErster);
YBis;FILTER(XBis;XLetzter);
YAnz;YBis-YVon+1;
YKumSum;FILTER(XKumSum;XLetzter);
YSum;LET(x;VSTAPELN(0;YKumSum);WEGLASSEN(x;1)-WEGLASSEN(x;-1));
YMittelw;YSum/YAnz;
YMin;INDEX(XWert;YVon);
YMax;INDEX(XWert;YBis);
YMedian;(INDEX(XWert;(YVon+YBis)/2)+INDEX(XWert;(YVon+YBis+1)/2))/2;
Y;HSTAPELN(YBez;YVon;YBis;YAnz;YKumSum;YSum;YMittelw;YMin;YMax;YMedian);
z;WENN(WURDEAUSGELASSEN(YAuswahl);Y;SPALTENWAHL(Y;YAuswahl));
z))(Tabelle1[[Name]:[Dividende]])


Sie zeigt 9 statistische Größen neben dem Bezeichner an (bitte dafür unten und rechts freiräumen). 
Will man nur die 6. Größe SUMME neben dem Bezeichner haben, ändert man den Schluss 
(Tabelle1[[Name]:[Dividende]]) auf
(Tabelle1[[Name]:[Dividende]];{1.6})
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • el-rettev
Antworten Top


Gehe zu:


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