Excel - Spaltenwerte bis zu "Bedingung" addieren

reako

Ensign
Registriert
Mai 2009
Beiträge
161
Hallo, vielleicht kann mir hier jemand etwas helfen.
Ich habe folgende Tabelle:
Code:
Artikelgruppe	Menge 	Wert 
Artikel 1	56	648
Artikel 2	78	224
Artikel 3	337	443
Artikel 4	6	995
Artikel 5	2	7
 Gesamtwert	x	y
Artikelgruppe	Menge 	Wert 
Artikel 1	784	1
Artikel 2	34.568	2
Artikel 3	5	2
Artikel 4	2	42
Artikel 5	78	45
 Gesamtwert	x	y
Summe:

Die Summe ermittel ich wie folgt:
=SUMMEWENN(A1:A300;" Gesamtwert";B1:B300)
das klappt auch ganz gut.

Nun würde ich gerne für jede Artikelgruppe genau das Gleiche tun.
Problem: Die Artikelanzahl kann sich ändern und ich würde das ganze gerne "dynamisch" machen.
bisher bin ich so weit:

=SUMME(INDIREKT("B$1:" &ADRESSE(ZEILE()-1;SPALTE())))

Damit bildet er allerdings die summe aus der gesamten "B" Spalte.
Wie kann ich in Excel nun sagen:
Ermittel die Summe BIS Zeile den Wert "Menge" hat, dann Stoppe?

Vielleicht kann mir da jemand weiterhelfen.

Vielen Dank!

da es mehrere Artikelgruppen gibt (auch dynamisch diese werden wenn nicht vorhanden gelöscht)
 
Mhm ok wie siehts aus wenn du eine Wenn-Funktion vor die Summe packst? Wenn(Artikelgruppe="Artikelx";SUMME(INDIREKT("B$1:" &ADRESSE(ZEILE()-1;SPALTE())));"")
 
Zuletzt bearbeitet:
Artikelgruppe und Artikelbezeichnungen werden periodisch verändert.
Sprich es kann sein dass Artikelgruppe "Bohrmaschine" mal wegfällt und mal wieder da ist. "Feste" Bezugspunkte sind lediglich: "Gesamtsumme" (die steht immer) und "Menge" sowie "Wert".

kann man vielleicht sagen summiere bis "Feld eingefärbt"? Weil die Gesamtsumme immer farbig hinterlegt ist.
 
Bis mir was besseres eingefallen ist, kannst du diese Formel nehmen. Im Beispiel für den Gesamtwert in Zelle B14.
Formel muss als Matrixformel eingegeben werden. Dafür die Eingabe mit Strg + Shift + Enter abschließen.

Code:
=SUMME(BEREICH.VERSCHIEBEN(INDIREKT("B"&VERGLEICH(2;1/($B$1:$B13="Menge");1)&":B"&ZEILE()-2);1;0))

Vergiss nicht, das Leerzeichen nach "Menge " in deinen Spaltenköpfen zu entfernen. Sonst findet die Formel nüscht. Am besten mit Suchen und Ersetzen.
Ergänzung ()

So, und wenn du die Formel auch ohne Anpassung in Spalte C kopieren möchtest, gibts hier noch die Fancy-Version. Funktioniert aber nur bis Spalte Z. Muss reichen.
Code:
=SUMME(BEREICH.VERSCHIEBEN(INDIREKT(ZEICHEN(64+SPALTE())&VERGLEICH(2;1/($B$1:$B13="Menge");1)&":"&ZEICHEN(64+SPALTE())&ZEILE()-2);1;0))
 
Zuletzt bearbeitet: (Möglichen Zirkelbezug entfernt)
Danke schonmal für die Formel. Das scheint zu passen.

kann ich nun noch irgendwie folgendes erreichen: das "B13" soll dynamisch sein, ass ich nicht jedesmal händisch dies eintragen muss.

könnte ich dazu sagen: Zeile()-1 oder sowas?
 
Die sind doch dynamisch. Ich habe den Beitrag mehrmals bearbeitet. Hast du auch den letzten Stand genommen?
Die Formeln sind am Beispiel B14, aber du kannst die von dort in alle anderen Felder reinkopieren.
Excel passt sich die Formel beim Kopieren an. Aus $B$1:$B13 wird in Zelle B50 dann $B$1:$B49.

Zeilen einfügen und löschen geht einwandfrei.
 
Zurück
Oben