Microsoft Excel

Das Portal zum Thema Excel-Formeln

Gruppe: Summenfunktionen

Beitrag: nur definierte x letzte Werte einer Spalte/Zeile addieren *

Aufgabe
In einer Spalte stehen mit Leerzellen dazwischen Zahlen; - es sollen jetzt nur die letzten vorkommenden 5 Zahlen addiert werden.
       A       
1 1  
2 3  
3  
4 4  
5  
6 5  
7  
8 6  
9  
10 0  
11  
12 0  
13 3  
14  
15  
16
Ergebnis, wenn Nullen als Zahlen gewertet werden: 11
Ergebnis, wenn Nullen nicht als Zahlen gewertet werden: 20

Lösung
a) Nullen sind Zahlen:
{=SUMME(INDIREKT("A"&KGRÖSSTE(WENN(ISTLEER(A1:A100);0;ZEILE(1:100));5)):A100)}
bzw. mit INDEX:
{=SUMME(INDEX(A:A;KGRÖSSTE(WENN(ISTLEER(A1:A100);0;ZEILE(1:100));5)):A100)}

b) Nullen werden nicht berücksichtigt:
{=SUMME(INDIREKT("A"&KGRÖSSTE(WENN(A1:A100<>0;ZEILE(1:100));5)):A100)}

Können zwischen den Zahlen auch Texte vorkommen, werden diese mitgezählt, wenn die letzten 5 Einträge Text enthalten ist die Summe also 0.
Sollen die Texte ignoriert werden, geht das mit:

{=SUMME(INDIREKT("A"&KGRÖSSTE(WENN(ISTZAHL(A1:A100);ZEILE(1:100));5)):A100)}
bzw. ohne WENN:
{=SUMME(INDIREKT("A"&KGRÖSSTE(ISTZAHL(A1:A100)*ZEILE(1:100);5)):A100)}
Alternative ohne INDIREKT/INDEX (Peter Haserodt):
{=SUMME((ZEILE(1:100)>=KGRÖSSTE(ISTZAHL((A1:A100))*ZEILE(1:100);5))*(A1:A100))}

Ergänzung:
Die letzten 5 vorkommenden Zahlen in Zeile 1 addieren.
{=SUMME(INDIREKT(ADRESSE(1;KGRÖSSTE(ISTZAHL(A1:Z1)*SPALTE(A1:Z1);5))&":Z1"))}
bzw.
{=SUMME((SPALTE(A1:Z1)>=KGRÖSSTE(ISTZAHL((A1:Z1))*SPALTE(A1:Z1);5))*(A1:Z1))}