Clever-Excel-Forum

Normale Version: Zellenformel automatisch Anzahl unter Bedingungen zählen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Moinsen,

ich grübel gerade, ob folgendes über Zellenformeln machbar ist:

Besteht die Möglichkeit durch eine Zellenformel:

In Zelle T8:
Spalte E alle Zahlen größer als 0 zu addieren, wenn diese direkt untereinander stehen. Aber jede Zahl als 1 addieren. Möchte nur die Anzahl.
Sobald unterbrochen durch eine Zahl kleiner als 0 kein addieren.
Wenn Null in eine Zelle dann keinen Einfluss.
Mit der ersten Ziffer kleiner als Null in einer Zelle ist die Addition unterbrochen und es wird neu begonnen.
Möchte, dass T8 immer nur die größte Plus-Serie in Spalte E anzeigt.
Sobald sich in Spalte E eine größere Plus-Serie entwickelt soll diese automatisch in T8 angezeigt werden.
 
In Zelle T6:
Spalte E alle Zahlen kleiner als 0 zu addieren, wenn diese direkt untereinander stehen. Aber jede Zahl als 1 addieren. Möchte nur die Anzahl.
Sobald unterbrochen durch eine Zahl größer als 0 kein addieren.
Wenn Null in eine Zelle dann keinen Einfluss.
Mit der ersten Ziffer größer als Null in einer Zelle ist die Addition unterbrochen und es wird neu begonnen.
Möchte, dass T6 immer nur die größte Minus-Serie in Spalte E anzeigt.
Sobald sich in Spalte E eine größere Minus-Serie entwickelt soll diese automatisch in T6 angezeigt werden.

Gruß Markus[attachment=49790]
Hallo Markus,

...in Deiner XL-Version z.B. mit folgenden 2 Formeln:

In T6:
=AGGREGAT(14;6;AGGREGAT(15;6;ZEILE(E2:E1999)/(E2:E1999<0)/(E3:E1999>=0);ZEILE(E1:E999))-AGGREGAT(15;6;ZEILE(E2:E1999)/(E2:E1999>=0)/(E3:E1999<0);ZEILE(E1:E999));1)

in T8:
=AGGREGAT(14;6;AGGREGAT(15;6;ZEILE(E2:E1999)/(E2:E1999>0)/(E3:E1999<=0);ZEILE(E1:E999))-AGGREGAT(15;6;ZEILE(E2:E1999)/(E2:E1999<=0)/(E3:E1999>0);ZEILE(E1:E999));1)
Hallo Werner,
vielen Dank für die Formeln.

Die Formeln stimmen, wenn keine 0 kommt.
Die Formeln zählen zusammen, solange hintereinander ein  Minuslauf oder Pluslauf ist.
Aber wenn zwischendurch die 0 kommt, zählt die Formel nicht einfach weiter.
Besteht die Möglichkeit, eine zusätzliche Bedingung zu integrieren und zwar, dass die 0 beim Zählen ignoriert wird. Z.b. in T8 müsste in dem Beispiel eine 13 stehen.

Gruß Markus

[attachment=49792]
Hallo Markus,

Deine angegebene "PLus"Serie von 13 kann ich bzgl. Deiner eingestellten Datei (Daten sind da nur bis 1.7.23 erfaßt) kann auch unter Berücksichtigung von 0-Werten in Spalte E nicht nachvollziehen. In welchem Datumsbereich hast Du denn diese gezählt?

Außerdem müßtest Du noch klären, wie die unterschiedlichen 0-Ergebniswerte in Spalte E zu werten sind. Denn diese entstehen teilweise durch die Addition von angegebenen Gewinn- und Verlustwerten aber anderseits auch dann, wenn solche nicht erfaßt sind, wie z.B. bis Zeile 9 und nach Zeile 119 aber auch an einigen Stellen zwischen rein. Die beginnenden und abschließenden nicht erfaßten, dürfen mE nicht gewertet werden. Aber was ist mit denen die innerhalb liegen, wie z.B. in E92:E97 und den analogen anderen 0-Werten?

Wie auch immer, die Auswertungsformel wird dann auf jeden Fall noch komplexer.
Hey Werner,

in der neuen Datei (test4) habe ich ein bissel experimentiert, da sind in Spalte E Einträge bis Zeile 149.
Von E132:E149 sind 13 Tage Plusläufe mit 5 Tagen jeweils 0. 
Richtig es gibt zwei unterschiedliche 0 Einträge. Zum einen, wenn gar kein Eintrag in C und D vorgenommen worden ist und zum anderen, wenn ein Eintrag vorgenommen worden ist und das Ergebnis 0 ist.
In beiden Fällen ist in Spalte E eine Formel.

Gruss Markus

Plussserie ist in:
E132:E149
Hi Werner,

danke nochmals. Ich habe jetzt versucht mit Hilfe von ChatGPT deine Formel abzuändern. Aber hat nicht so ganz geklappt.

Schönen Tag noch!

PS: Ich teste die tage noch ein bissel rum.
Hallo Markus,

wenn Du als Ergebnis in T8 für Deine Beispieldaten eine 18 (also 13+5) erwartest, dann hätte ich nachfolgende Lösung.

Zunächst müßtest Du dazu in E2 Deine Formel abändern zu:

=WENN((ANZAHL(C$2:D2)=0)+(ANZAHL(C2:D$1999)=0);"";SUMME(Tabelle2[@[Gewinn]:[Verlust]]))

und auch die bedingte Formatierung für "grünen" Zellhintergrund in Spalte E mit der bed. Formatierungsformel: =(E2>0)*(E2<>"")

Dann in T8 folgende erweiterte Formel:

=AGGREGAT(14;6;AGGREGAT(15;6;ZEILE(E2:E1999)/(E2:E1999>=0)/(E2:E1999<>"")/((E3:E199<0)+(E3:E1999=""));ZEILE(E1:E999))-AGGREGAT(15;6;ZEILE(E1:E1999)/(E2:E1999>=0)/(E1:E1999<0);ZEILE(E1:E999));1)
Hallo Werner,

in T 8 müsste als Ergebnis eine 13 stehen.
13 tage am Stück einen Pluslauf. Vom 11.8. - 28.08. Die 5 Tage, an denen ein  0 - Ergebnis ist, sollten von der Formel ignoriert werden. Die 0-Tage sollten immer ignoriert werden. Die 0-Tage unterbrechen weder einen Pluslauf noch einen Minuslauf.
Deine erste Formel war fast perfekt. Deine Formel hat erkannt, wenn innerhalb der Spalte E eine größere Plusserie, Aneinanderreihung von Plusttagen, erscheint, wird diese Anzahl in T8 geschrieben.
Nur die Bedingung mit der Null hat nicht ganz gestimmt. Die 0 sollte keine Plustage und auch keine Minustage unterbrechen.

Sinn und Zweck ist für mich in einer Zelle immer automatisch die längste Gewinnserie (Tage) und die längste Verlustserie (Tage) angezeigt zu bekommen.
Selbst wenn Daten von mehreren Jahren verbucht sind.

Danke für deine Mühen!

Gruß Markus

PS: Ich teste mit deinen Änderungen heute Abend herum. Danke!
Hallo Markus,

wenn das so gewünscht ist, dann rate ich (zumindest in Deiner angegebenen XL-Version) zu einer Hilfsspaltenlösung.
Für diese dann zunächst wieder in E2 Deine ursprüngliche Formel: =SUMME(Tabelle224[@[Gewinn]:[Verlust]])

Dann in ersten Hilfsspalte z.B. in V2:  folgende Formel: 
=WENN(E2<0;0;WENN((E2>0)*(INDEX(E:E;ZEILE()-1)<0);1;(E2>0)+V1))

und in W2: folgende Formel:
=WENN(E3>0;0;WENN((E3<0)*(INDEX(E:E;ZEILE()-1)>0);1;(E3<0)+W2*(INDEX(E:E;ZEILE()-1)<=0)))

Beide Formeln weit genug nach unten ziehend kopieren.

Dann in T8: =MAX(V:V)  und in T6: =MAX(W:W)

diese ergeben in T8=13 und in T6=9
Super Danke Werner,
ich schaue mir das ganz entspannt übermorgen an, dann habe ich frei!
Ich melde mich!

Daaaaannnnkkkeeee!

Gruss und schönen Abend Markus
Seiten: 1 2