Calc/Excel: Summationsbereich beenden, sobald eine Zelle ohne Zahl als Wert erreicht worden ist

Photon

Rear Admiral Pro
🎅Rätsel-Elite ’24
Registriert
Apr. 2006
Beiträge
5.211
Hallo zusammen,

ich würde gerne eine Summation beenden, sobald ein Wert erreicht worden ist, der keine Zahl ist. Zum Beispiel:

4 | 5 | 7 | 2 | 0 | 11 | A | 2 | ...

Es soll die Summe 4+5+7+2+0+11 berechnet werden, da nach der Zelle mit dem Wert 11 die Zelle mit dem Wert A kommt, welcher keine Zahl ist.

Ist es möglich so etwas zu bewerkstelligen?

Viele Grüße
Photon
 
Mit VBA geht das, mit den Standardformeln wahrscheinlich nicht, da die dann entweder einen Fehler auswerfen oder nicht verarbeitbare Daten ignorieren ("A" würde übersprungen werden).

Traust du dir VBA zu?
 
Ich habe häufiger mal kleine Bash-Skripte (analog zu Batch unter Windows) geschrieben, mit VBA selbst habe ich noch nie gearbeitet. Ich denke, der schwierigste Teil dürfte nicht das Schreiben des Codes selbst sein, sondern das Einarbeiten in die Umgebung (wo schreibe ich sie, wie aktiviere ich sie, welche Umgebungsvariablen gibt es usw.).
 
Ich habe da was, was eventuell ausreichend für dich ist:

1734975869956.png


Die erste Spalte ist anders als die Anderen. 0 und WAHR sind fest vorgegeben, damit die Formeln in den nächsten Zeilen funktionieren.
1. Spalte: Zahlen-/Buchstabenfolge
2. Spalte: =ISTZAHL(A2)
3. Spalte: =WENN(ODER(B1=FALSCH;C1="STOP");"STOP";WENNFEHLER(C1+A2;"STOP"))

Reicht das?

Photon schrieb:
Ich bin Linuxer. ;)
 
Photon schrieb:
Puh, eigentlich will ich an einer bestimmten Stelle dann die 28 stehen haben und weiß nicht so genau, wie ich sie dann rausfischen würde...
=MAX(C:C)
Das ignoriert die STOPs.
 
Ah okay, super! Ich versuche das gerade reinzubasteln und es funktioniert soweit gut! Aber aus irgendeinem Grund klappen Rechnungen mit dem Wert der Zelle, in der das MAX die finale Summe rauspickt, nur stellenweise. Bei manchen Rechnungen klappt es, bei anderen, völlig analogen, erhalte ich einen Fehler 522, Google sagt: zirkuläre Referenz. Ganz seltsam das alles...

Der mit MAX herausgepickte Wert 28 steht in Zelle E27 und wird dort auch korrekt angezeigt. Ich rechne dann

=GANZZAHL(0,85*E27)

was den Fehler 522 verursacht.

Ein paar Zeilen drunter rechne ich

=GANZZAHL(0,2*E27)

und das klappt aus irgendeinem Grund schon.
 
Zuletzt bearbeitet:
Google? Also bist du nicht in Excel unterwegs?

Hm 🤔
Hat Google irgendwo eine Funktion, um zirkuläre Referenzen zu finden? Excel hat das, aber bei Google weiß ich das nicht.
Es kann ja sein, dass der Fehler gar nicht an E27 liegt sondern woanders und immer wenn du eine Neuberechnung der Tabelle anregst (z. B. durch Eingabe einer neuen Formel) wirft er dann den Fehler aus.

Nachtrag:
Du hast nicht zufällig die =MAX(C:C) Formel auch zufällig in der C-Spalte oder? Das wäre der Grund für den Fehler.
 
Nein, ich habe nur gegoogelt, weil mir der Code nichts gesagt hat. :D Ich nutze Libre Office Calc.

Die Fehler treten tatsächlich reproduzierbar in manchen Zellen auf, und in anderen reproduzierbar nicht.
 
Guten Abend,

in Spalte A werden die Zeichen eingetragen. In Spalte B wird in der ersten Zelle die Formel:

=WENN(ISTZAHL(A1);A1;"")

eingetragen. Dann nach unten ziehen. In der Zelle C1 steht folgende Formel:

=WENN(ANZAHL(B1:B17)>0;SUMME(B1:B17);"")

.

Müsste eigentlich klappen.
 
Kannst du mir die Datei zukommen lassen? Ich hau die mal in OnlyOffice.
Gerne auch gekürzt und mit anonymisierten Daten.
 
Ok, ich hab da was:

Die Formeln in D25 und folgend sind falsch.
Da steht =WENN(ODER(C24=0;C25="STOP");"STOP";WENNFEHLER(C25+C21;"STOP"))
aber es muss =WENN(ODER(C21=0;C25="STOP");"STOP";WENNFEHLER(C25+C21;"STOP"))
lauten.

Zieht man die korrigierte Formel nach rechts, hängt er sich am Fehler in der Notenspalte (N21) auf.
Ich empfehle, dort die Formel auf =WENNFEHLER(MITTELWERT(N2:N20);"") zu ändern oder die lange Formel von oben auf =WENN(ODER(WENN(ISTZAHL(C21);C21;0)=0;C25="STOP");"STOP";WENNFEHLER(C25+C21;"STOP"))
zu ändern. Natürlich in D25 einfügen und dann nach rechts ziehen.

Ist es das, was du brauchst?

Nachtrag: Ich hatte Fehler in der Notenspalte, weil dort als Formel COM.MICROSOFT.IFS(...) verwendet wurde. Ich musste das nur auf IFS ändern, dann hat OnlyOffice das geschluckt.
Mir ist aber nicht klar, was er da rechnet. Klar, er nimmt die Zahl aus M und vergleicht sie unten mit dem äh... dem anderen Bereich, aber warum verwendest du die SUMME in M? Müsste da nicht MITTELWERT genommen werden?
 
Zuletzt bearbeitet:
Falls die Werte 4 | 5 | 7 | 2 | 0 | 11 | A | 2 in A1:A8 stehen:
Code:
=LET(_0;A1:A8;WENNFEHLER(SUMME(INDEX(_0;SEQUENZ(WENNFEHLER(VERGLEICH(0;ISTZAHL(_0)*SEQUENZ(ZEILEN(_0));0)-1;ZEILEN(_0)))));))
 
@Photon
Hab mich vertan und zu viel an den Formeln rumgespielt.
Mit C21=0 kann man nicht auf den WAHR/FALSCH-Wert testen, der dort vorkommt. Man muss den Vergleich hier auf C21=FALSCH ändern. Dann klappt es.
 
Calc ändert WAHR und FALSCH automatisch auf 1 und 0. Aber warum denn C21 statt C24?

@bughero:

In meinem Fall stehen die Werte in Zeile 21, beginnend ab C21. Wenn ich A1:A8 mit C21:Z21 ersetze, kommt eine Null als Ergebnis heraus. Möglicherweise funktioniert der Ausdruck nur für Daten, die in einer Spalte stehen, aber nicht für solche in einer Zeile?

edit: Habe auch ZEILEN mit SPALTEN ersetzt, kommt leider weiterhin 0 raus...
 
Zuletzt bearbeitet:
Äh, ich meinte C24. Mann, es ist zu leicht, bei dem Kram Tippfehler zu erzeugen.
=WENN(ODER(C24=FALSCH;C25="STOP");"STOP";WENNFEHLER(C25+C21;"STOP"))

Schau mal an, eigentlich sind WAHR & FALSCH keine Zahlen. Bei mir jedenfalls meckert er, wenn ich Zahlen mit Wahrheitswerten vergleiche.
 
Zurück
Oben