Suche Excel Formel, die Zeilenwerte aus einer Spalte solange KONTINUIERLICH absucht bis immer Wert X erreicht ist, und dann Werte aus Nachbarzeile addiert?

...komplette Frage anzeigen

2 Antworten

Mir fällt nur eine Lösung mit Hilfsspalte C sein: Dort folgende Formel ab C2 bis Ende der Werte:

=WENN(UND(SUMME(B$1:B2)>=G$1;SUMME(B$1:B1)<G$1);"X";"")

In G1 steht bei mir der Wert X, bspw. 5 für die 5s

Wenn es richtig funktioniert, sollte also die Zeile ein X bekommen, bei der erstmals die Summe der Zeilen davor den Wert X überschreitet

Dann, an einen Ort Deiner Wahl:

=SUMME(A1:INDIREKT("A"&ZEILE(INDEX(C:C;VERGLEICH("X";C:C;0);1));WAHR))

Prinzip: Die Zeile ermitteln, in der das X steht. Dann Spalte A von A1 bis Axx (also der gefundenen Zeile) aufaddieren.

Antwort bewerten Vielen Dank für Deine Bewertung
marceldaas247 29.01.2016, 12:19

Hallo Ninombre,

also das kommt der Lösung schon sehr nahe. Vielen Dank schon mal. Jetzt habe ich quasi das erste Intervall erschlossen. Was müsste ich noch an der Formel ändern, damit Excel das wiederholt? Nachdem ein X in der Zeile in Spalte C auftaucht, sobald erstmals der Wert in C1 erreicht ist, soll Excel wieder mit dem Zählen beginnen, und zwar ab der nächsten Zeile nach dem X (solange bis wieder der Wert in C1 erreich ist usw.). Ist das möglich?! Vielen Dank schon mal für die Mühen.

0

Es ist sinvoll, das vom anderen Ende her anzugehen: Wenn in allen Zellen 20ms steht und Du bis 5000 summiert haben willst, dann weißt Du ja schon, dass es 5000/20 = 250 Zellen sind. Und dann wirds einfach (Zeile 1 für Überschrift, Einträge abZelle A2 bzw B2):

=Zählenwenn(A2:A251;1)

fertig. (geht mit 0 genauso und mit jedem anderemn Eintrag auch.

Oder habe ich da was missverstanden?

Antwort bewerten Vielen Dank für Deine Bewertung
marceldaas247 29.01.2016, 13:28

Das war nur zur Verdeutlichung. Ich kenne vorher den Intervall-Wert X nicht (also den Wert, den im Beispiel die 5000 einnimmt.) Danke trotzdem! :)

0
Iamiam 30.01.2016, 22:40
@marceldaas247

ah, ich dachte, Du stellst alle 20 ms ein Ereignis fest!

Werde mich morgen nachmittag/abend nochmal dransetzen! (ist nicht so einfach! hast Du mal mit einem Makro gearbeitet? Da ginge das relativ problemlos!)

0
Iamiam 01.02.2016, 17:09
@Iamiam

ich hätts gleich mit einem Makro versuchen sollen, mit Formeln habe ich mich vergeblich 2x einen halben Tag abgemüht!

Hier das Makro:


Sub SummierelinkeSpalteInAbschnittenNachAbschnittsSumme()
Dim c, NullEins, TrennZl, ZwiWert ' , SumWert
NullEins = 0: ZwiWert = 0 ' Cursor auf oberste auszuwertende Zelle der Summenspalte (B) setzen!
For Each c In Range(ActiveCell, ActiveCell.End(xlDown))
TrennZl = ActiveCell.Row
ZwiWert = ZwiWert + c.Value: NullEins = NullEins + c.Offset(0, -1).Value 'geht nur mit 0, x, da +0 gleichbleibt, x beliebig
If ZwiWert > 50 Then c.Offset(0, 1) = ZwiWert: c.Offset(0, 2) = NullEins: ZwiWert = 0: NullEins = 0: TrennZl = c.Row + 1
Next
End Sub

Das Makro läuft recht langsam (für Deine vielen Daten wohl am besten übernacht), aber es tut. (ließe sich vllt optimieren, aber ich hab ich keinen Nerv mehr dafür!

Du hast nicht mehr geantwortet. Falls Du nicht weißt, wie man Makros installiert, melde Dich!

0
Iamiam 01.02.2016, 17:30
@Iamiam

Den Grenzwert der Summe kannst Du selbst definieren, ich weiß ja nicht, ob Du 5000 (ms) oder 5 (sec) drinstehen hast und ob als Zahl oder im Zeitformat (1sec = 1[Tag]/24/60/60). 50 ist jedenfalls nur mein Demo-/Entwicklungsgrenzwert.

Das Makro überschreibt vorhandene Einträge in den zwei Spalten rechts daneben (nur in den Zeilen, wo es einträgt, woanders bleiben Einträge unverändert (ggf vorher löschen/verschieben), da hab ich keine Sicherung mehr eingebaut!

1

Was möchtest Du wissen?