Clever-Excel-Forum

Normale Version: dynamischer Summenbereich
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich komme auf keine zufriedenstellende Lösung für mein Problem, welches ich kurz erläutern möchte:

Ich möchte eine dynamische Summe bilden und bin mir nicht sicher, ob dies ohne VBA funktioniert. Ich habe dafür mal ein kleines Beispiel erstellt (die Formeln sind zur Veranschaulichung nur statisch).
-> Bild befindet sich im Anhang.

In Spalte A muss für jede Zeile ein Level eingetragen werden. In Level 3 soll eine Zahl händisch eingetragen werden. Level 2 soll die Summe aller Zeilen der Stufe unter ihm zusammenfassen oder anders ausgedrückt: "Bilde mir die Summe von allen Zeilen Level 3 bis zur nächsten Zeile Level 2". Level 1 soll dann die Summe der ihm unterlegenden Level 2 bilden.
Abhängig vom Level (Spalte A) möchte ich das in Spalte B untschiedliche Formeln mit dynamischen Summenbereichen verwendet werden. Mein Problem liegt also in der Dynamik der Spalte A. So könnte beispielsweise in einem anderen Projekt Level 3 von Zeile 4 bis Zeile 11 gehen.

Ich hoffe ich habe mein Problem verständlich erklären können. Potentielle Rückenfragen probiere ich so schnell wie möglich zu beantworten. VIelen Dank schon mal im Voraus!

Lieben Gruß,
Mathi
Hallo,

ähnliche Ergebnisse kann man mit der Funktion Teilergebnis erreichen. Wenn man statt des Bildchens eine Datei hätte, könnte man das mal testen.
Hallo Klaus-Dieter,

Danke für die schnelle Antwort. Anbei die Datei zum Bild.
Hi,

so ganz versteh ich Deinen Aufbau nicht, denn da Du in Spalte B sowohl Formeln als auch händische Einträge hast, musst Du die Formelzellen ja immer einzeln kopieren.
In Deinem Beispiel kannst Du in B2 mal eintragen:

=SUMMEWENN(A3:INDEX(A3:A$100;VERGLEICH(2;A4:A$101;)+1);A2+1;B3:INDEX(B3:B$100;VERGLEICH(2;A4:A$101;)+1))

Formel dann aus B2 kopieren und in die anderen grauen Zellen einfügen.
Wichtig: Der letzte Eintrag in Spalte A muss die Zahl 2 sein - also in der Beispieldatei in A21 noch eine 2 eintragen, damit auch die letzte Formel den Bereich korrekt bestimmen kann.
Hallo,

so würde das mit Teilergebnis aussehen: 

Die zweite Summe könnte man auch erzeugen, dafür braucht man aber eine weitere Spalte für die Bezüge.
Hallo,

anbei als Variante eine LET-Formel, die Dir die Ergebnisse jeweils ausrechnet. In B2, B3 usw. einsetzen ...

Code:
=LET(Levels;$A3:$A$20;Current;$A2;S;SEQUENZ(ZEILEN(Levels));L;WENNFEHLER(VERGLEICH(1;
  WENN(INDEX(Levels;S;1)=Current;1;0);0);MAX(S));F;WAHL(Current;2;1;0);M;WENN(S>L;0;WENN(F>0;
  WENN(INDEX(Levels;S;1)=Current+F;S;0);0));V;BEREICH.VERSCHIEBEN(Levels;0;1);SUMME(V*WENN(M>0;1;0)))

Gruß
Hi maninweb,

also da finde ich die SUMMEWENN-Variante aber doch ein Stück einfacher Wink
Hallo,

Warum einfach, wenn's auch kompliziert geht Wink
Hat mich etwas gefuchst, ob das auch mit dyn. Arrays geht.

Gruß