Clever-Excel-Forum

Normale Version: Summe von bestimmten k letzten Elementen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4 5
Hallo allerseits,

in meiner Tabelle hab ich in der Spalte A das Datum, in der B unregelmäßig und ungeordnet 2 verschiedene Produkte (x und y) und in der C die Stückzahlen dazu.
Jetzt möchte ich die Summe von Stückzahlen der letzten 60 Einträge von Produkt x.

Folgendes habe ich probiert:
summewenn(indirekt("C"&vergleich(kgrösste(zählenwenn($B:$B;"x");60);$B:$B;0)): ....) ,selbstverständlich ohne Erfolg.

Die Kombination  kgrösste(zählenwenn()) ist wohl nicht so sinnvoll.

Hat jemand eine sinnvollere Idee?
Hallo,

anhand Deiner Beschreibung und ungetestet,

PHP-Code:
=SUMME(INDEX(C1:C100;N(WENN(1;INDEX(AGGREGAT(14;6;ZEILE(1:100)/(B1:B100="x");ZEILE(1:60));))))) 
Moin,
Alternative ohne (mehr oder weniger fehleranfällige) Formel und mit wenigen Mausklicks: Power Query.
Hi,

was definitiv passt:


Code:
=SUMMEWENN(INDEX(A:A;AGGREGAT(14;6;ZEILE(A:A)/(A:A="A");1)):INDEX(A:A;AGGREGAT(14;6;ZEILE(A:A)/(A:A="A");6));"A";INDEX(B:B;AGGREGAT(14;6;ZEILE(A:A)/(A:A="A");1)):INDEX(B:B;AGGREGAT(14;6;ZEILE(A:A)/(A:A="A");6)))

Formel auf die tatsächlichen Bereiche anpassen
Hi

im Anhang ein Bsp. wo du die Anzahl der letzten Einträge die Summiert werden sollen ändern kannst und die Formel entsprechend der Listenlänge nachkopierbar ist.
[attachment=14404]
Danke für die zahlreichen Antworten, hab die Formel von Elex angepasst und so sieht sie jetzt aus:
PHP-Code:
=SUMMEWENN(INDEX([Datenbasis_FA.xlsm]FA07!$E:$E;KGRÖSSTE(INDEX(([Datenbasis_FA.xlsm]FA07!$E:$E="x")*ZEILE([Datenbasis_FA.xlsm]FA07!$E:$E);;);60)):INDEX([Datenbasis_FA.xlsm]FA07!$E:$E;KGRÖSSTE(INDEX(([Datenbasis_FA.xlsm]FA07!$E:$E="x")*ZEILE([Datenbasis_FA.xlsm]FA07!$E:$E);;);1));B$3;INDEX([Datenbasis_FA.xlsm]FA07!$F:$G;KGRÖSSTE(INDEX(([Datenbasis_FA.xlsm]FA07!$E:$E="x")*ZEILE([Datenbasis_FA.xlsm]FA07!$E:$E);;);60)):INDEX([Datenbasis_FA.xlsm]FA07!$E:$E;KGRÖSSTE(INDEX(([Datenbasis_FA.xlsm]FA07!$E:$E="x")*ZEILE([Datenbasis_FA.xlsm]FA07!$E:$E);;);1))) 

Die Daten, auf die zugreifen möchte, befinden sich nämlich in der Datei "Datenbasis_FA.xlsm" auf dem Blatt "FA07" und summiert werden sollen Werte in Spalten F und G, wenn in Spalte E der Wert aus B3 steht.

Nun spuckt mir Excel #BEZUG raus. Wo kann da der Fehler liegen?
Ähm, einen Fehler seh ich schon, probiers gleich nochmal. :16:
So siehts aus:
PHP-Code:
=SUMMEWENN(INDEX([Datenbasis_FA.xlsm]FA04!$E:$E;KGRÖSSTE(INDEX(([Datenbasis_FA.xlsm]FA04!$E:$E=B3)*ZEILE([Datenbasis_FA.xlsm]FA04!$E:$E);;);60)):INDEX([Datenbasis_FA.xlsm]FA04!$E:$E;KGRÖSSTE(INDEX(([Datenbasis_FA.xlsm]FA04!$E:$E=B3)*ZEILE([Datenbasis_FA.xlsm]FA04!$E:$E);;);1));B$3;INDEX([Datenbasis_FA.xlsm]FA04!$F:$G;KGRÖSSTE(INDEX(([Datenbasis_FA.xlsm]FA04!$E:$E=B3)*ZEILE([Datenbasis_FA.xlsm]FA04!$E:$E);;);60)):INDEX([Datenbasis_FA.xlsm]FA04!$E:$E;KGRÖSSTE(INDEX(([Datenbasis_FA.xlsm]FA04!$E:$E=B3)*ZEILE([Datenbasis_FA.xlsm]FA04!$E:$E);;);1))) 
und kommt #BEZUG raus.
Servus,

um ein Standardfehlerverhalten auszuschließen, könntest Du mal die Datei "Datenbasis_FA.xlsm" öffnen und Deine Formel nochmals testen?

LG Gerd
Hi,

sollte auch so funktionieren:


Code:
=SUMMEWENN(INDEX(INDEX([Datenbasis_FA.xlsm]FA04!$E:$E;AGGREGAT(14;C3;ZEILE(INDEX([Datenbasis_FA.xlsm]FA04!$E:$E)/(INDEX([Datenbasis_FA.xlsm]FA04!$E:$E=B3);1)):INDEX(INDEX([Datenbasis_FA.xlsm]FA04!$E:$E;AGGREGAT(14;C3;ZEILE(INDEX([Datenbasis_FA.xlsm]FA04!$E:$E)/(INDEX([Datenbasis_FA.xlsm]FA04!$E:$E=B3);C3));B3;INDEX(B:B;AGGREGAT(14;C3;ZEILE(INDEX([Datenbasis_FA.xlsm]FA04!$E:$E)/(INDEX([Datenbasis_FA.xlsm]FA04!$E:$E=B3);1)):INDEX(B:B;AGGREGAT(14;C3;ZEILE(INDEX([Datenbasis_FA.xlsm]FA04!$E:$E)/(INDEX([Datenbasis_FA.xlsm]FA04!$E:$E=B3);C3)))
Seiten: 1 2 3 4 5