Aufgabe (sinngemäß nach einem Beitrag in der MS-Excel-Newsgroup vom 2007.04.17):
A B C D 1 Kunde Wert 2 C 1 3 A 2 4 B 3 5 B 4 6 A 5 7 C 6 8 A 7 9 C 8 10 B 9 11 A 10 12 Die letzten: 3 13 Summe: 22 für Kunde: A
Lösung (Klaus "Perry" Pago vom 2007.04.17):
B13:
=SUMMENPRODUKT(N(BEREICH.VERSCHIEBEN(B2;KGRÖSSTE((A2:A11=$D$13)
*ZEILE(INDIREKT("1:"&ZEILEN(A2:A11)));ZEILE(INDIREKT("1:"&$D$12)))-1;)))
Als Matrixformel (dann mit Strg-Umsch-Eingabe eingeben) funktioniert es
alternativ auch mit SUMME, MITTELWERT oder anderen gleichrangigen Statistikfunktionen wie MAX.
Kommentar: Klaus hat hier eine lage-, nicht inhaltbezogene, Formel gefunden, die die letzten x Einträge bei einer Bedingung findet und auswertet. Das fällt in der Tabellenkalkulation sonst eher etwas schwer - somit eine äußerst nützliche Lösung.
Mit KKLEINSTE erreicht man entsprechend die ersten x Einträge für Kunde A. Und durch Variation von ZEILE(INDIREKT("1:"&D12)) erreicht man jede andere Lage!
http://excelformeln.de/formeln.html?welcher=54
(in angepaßter Anwendung) zeigt diese Datensätze dann auch an.