Supportnet / Forum / Tabellenkalkulation
summieren einer spalte bis wechsel in anderer spalte
Frage
Meine Aufgabe:
Spalte A: Spalte B
X
y 1
y 5
X
y 3
y 3
y 4
zu jedem X gehören unbekannt viele y-Zeilen.
ich brauche:
in allen Zellen B die in A ein X haben die Summen der dazugehörigen y zahlen. Ich muss also in der Spalte A nachschauen ob dort x oder y steht und wenn wieder x steht aufhören mit addieren und den Wert in die Zelle reinschreiben.
(sprich also hier: 6 bzw 10)
hab mal was änliches irgendwo gesehn, finde aber die stelle nicht mehr.
vielleicht hat jemand DEN Vorschlag
Danke
Agathe
Antwort 1 von want2cu
Hallo Agathe,
versuch es doch mal mit DATEN-TEILERGEBNISSE.
Das ist zwar von der optik nicht hundertprozentig das, was du willst, aber die Summer werden genaus so ermittelt, wie du es haben willst und die Tabelle wird auch noch entsprechend gegliedert.
Wenn es das nicht ist, müßte man wahrscheinlich entweder eine komplizierte Formellösung oder etwas mit VBA basteln.
Melde dich doh bitte nochmal, was du genau brauscht.
CU
want2cu
versuch es doch mal mit DATEN-TEILERGEBNISSE.
Das ist zwar von der optik nicht hundertprozentig das, was du willst, aber die Summer werden genaus so ermittelt, wie du es haben willst und die Tabelle wird auch noch entsprechend gegliedert.
Wenn es das nicht ist, müßte man wahrscheinlich entweder eine komplizierte Formellösung oder etwas mit VBA basteln.
Melde dich doh bitte nochmal, was du genau brauscht.
CU
want2cu
Antwort 2 von Aliba
Hi Agi,
Wo sollen denn die Summen stehen?
Jeweils in der freien Zelle in B???
Das würde heissen, die Summen stehen oberhalb der zu addierenden WErte?
Ist das so??
CU Aliba
Wo sollen denn die Summen stehen?
Jeweils in der freien Zelle in B???
Das würde heissen, die Summen stehen oberhalb der zu addierenden WErte?
Ist das so??
CU Aliba
Antwort 3 von Guenter
Hallo,
mit diesem Makro müsste es gehen. Die Summen stehen bei mir in der 2.Spalte in der Zeile mit dem X, also oberhalb der Werte. Vorraussetzung, ween in 1. Saplte x steht, ist die Zelle in 2. Spalte leer.
Gruß
Günter
mit diesem Makro müsste es gehen. Die Summen stehen bei mir in der 2.Spalte in der Zeile mit dem X, also oberhalb der Werte. Vorraussetzung, ween in 1. Saplte x steht, ist die Zelle in 2. Spalte leer.
Option Explicit
Sub test()
Dim Teilsumme
Dim n
For n = Cells(Rows.Count, 2).End(xlUp).Row To 2 Step -1
If Cells(n, 2).Value <> 0 Then
Teilsumme = Teilsumme + Cells(n, 2).Value
Else
Cells(n, 2).Value = Teilsumme
Teilsumme = 0
End If
Next
End Sub
Gruß
Günter
Antwort 4 von Aliba
Hi Agi, hallo Günther,
nachdem Günther eine Makrolösung anbietet, möchte ich meine Formellösung natürlich auch nicht vorenthalten.
In B1 folgende Formel:
=WENN(ISTNV(VERGLEICH("x";A2:$A$1000;0));SUMME(INDIREKT("B"&ZEILE()+1&":B1000"));SUMME(INDIREKT("B"&ZEILE()+1&":B"&VERGLEICH("x";A2:$A$1000;0)+ZEILE()-1)))
Jetzt den Autofilter auf die Tabelle setzen, filtern nach Spalte A: x
Formel nach unten ziehen.
CU Aliba
nachdem Günther eine Makrolösung anbietet, möchte ich meine Formellösung natürlich auch nicht vorenthalten.
In B1 folgende Formel:
=WENN(ISTNV(VERGLEICH("x";A2:$A$1000;0));SUMME(INDIREKT("B"&ZEILE()+1&":B1000"));SUMME(INDIREKT("B"&ZEILE()+1&":B"&VERGLEICH("x";A2:$A$1000;0)+ZEILE()-1)))
Jetzt den Autofilter auf die Tabelle setzen, filtern nach Spalte A: x
Formel nach unten ziehen.
CU Aliba
Antwort 5 von agi
sorry, hat ein wenig gedauert...
@want2cu
teilergebnisse sind für diesen zweck nicht so ideal, denn sie müssen "automatisch" auch nachberechnet werden. und teilergebnisse müsste ich dann immer nach jedem neuzugang frisch machen.
@Aliba und Günther
ja, das ergebnis muss oben ins leeren B-feld hin.
ich probiere eure vorschläge aus und melde mich.
danke auf jeden fall
agathe
@want2cu
teilergebnisse sind für diesen zweck nicht so ideal, denn sie müssen "automatisch" auch nachberechnet werden. und teilergebnisse müsste ich dann immer nach jedem neuzugang frisch machen.
@Aliba und Günther
ja, das ergebnis muss oben ins leeren B-feld hin.
ich probiere eure vorschläge aus und melde mich.
danke auf jeden fall
agathe
Antwort 6 von agi
funktioniert.
danke
agathe
danke
agathe

