Supportnet Computer
Planet of Tech

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

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

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.


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



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

Antwort 6 von agi

funktioniert.
danke

agathe