Clever-Excel-Forum

Normale Version: Frage bzgl. Zählen neustarten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

ich habe ein Problem und hoffe mir kann dabei jemand helfen.
Ich habe eine Tabelle die jeden Monat erweitert wird. In dieser Tabelle stehen die aktuellen Überstunden von Mitarbeiter in diesem Monat. Sollte ein Mitarbeiter 12 Monate hintereinander eine positive Stundenanzahl haben, so kann dieser die Überstanden ausbezahlen. 

Nun sollen alle positiven Monate gezählt und den aktuellen Stand angezeigt werden. Waren jedoch in einem Monat die Überstunden im Minus gewesen, so soll der Counter wieder von vorne beginnen.

Aktuell nutzen wir die Funktion: =ZÄHLENWENN(A2:L2;">=0")
Jedoch zählt er in einem Jahr alle positiven Werte zusammen, was uns jedoch nie den aktuellen Stand aufweist sondern wir die Zahl erst ernst nehmen können, sobald dort 12 angezeigt wird. 
Als Bild hab ich mal ein Beispiel mit Ist und Soll Ergebnis dargestellt.

[img]
Dateiupload bitte im Forum! So geht es: Klick mich!
]
Moin!
Für Excel 2021, 365 und online:

ABCDEFGHIJKLM
1JanFebMrzAprMaiJunJulAugSepOktNovDez
25237129201373
36-16073122-1-161
437275143455112
553641896987-10

ZelleFormel
M2=LET(s;MAX(WENN(A2:L2<=0;SEQUENZ(;12);));WENN(s=12;0;ANZAHL(INDEX(2:2;;s+1):L2)))

Zellebedingte Formatierung...Format
A21: A2<=0abc

Gruß Ralf
Man beginne besser NICHT schon in Spalte A mit einzubeziehenden Daten, wenn dadurch die Formel lagebedingt länger werden muss!

Abgewandeltes Beispiel RPP63 für Antik-Excel: 

Wenn wir nun eine Vorspalte A mit irgendwas (Beschriftung!) annehmen,
dann eine beabsichtigte Leerspalte B,
und dann in C:N die 12 Datenspalten,
dann steht die Formel um 2 verrückt WENNFEHLERlos! in

O2:=VERWEIS(2;1/(B2:N2<=0);14-SPALTE(B2:N2)) Frank-Kabel-Lösung

oder noch kürzer:

O2: =12-MAX((C2:N2<=0)*SPALTE(A2:L2)) möglicherweise als {} abzuschließen
Was sind negative überstunden  ?? (CIT ?)
Im Deutschen hat sich "Überstunden" anstelle von "Stundensaldo" eingebürgert. Mit "negativ" ist es dann natürlich sprachlich ein Problem, aber jeder weiß, wie es gemeint ist.

Die Signatur von snb heißt übrigens vollständig
http://dolf.trieschnigg.nl/excel/index.php?langids=en+de (ich finde das optische Einkürzen von Links mittels ... in allen Foren schrecklich)
Ein Element und ein Ergebnis nicht unterscheiden: merkwürdig.

Ein UDF:

In M2: "=F_snb(A2:L2)"
Code:
Function F_snb(sn)
  F_snb = 12
  For j = 1 To sn.Count
    If sn(1, j) < 0 Then F_snb = 12 - j
  Next
End Function
Warum gleichzeitig 12 (hart) und sn.Count (flexibel)? Das schließt ja Fehler, die man macht, wenn es <>12 Zellen in einer Zeile sind, nicht aus.
Das hatte ich mich auch gewundert in https://www.clever-excel-forum.de/Thread...#pid258278

Und auch
PHP-Code:
=12-MAX((C2:N2<=0)*SPALTE(A2:L2)) 
meinst du ?

PHP-Code:
=12-MAX((A2:L2<=0)*SPALTE(A2:L2)) 
Ok. 12 = SPALTEN(A2:L2). Bei XL-Formeln geht es (oft, manchmal, gern, ungern) darum: Wer hat den kürzesten? ;)

Aber bei VBA ist so eine Mischung eher "Coding Horror". Denn die Fkt. wird dann nicht allgemein verwendbar.
Algemeine Verwendbarkeit war nicht die Frage.
Und es gibt keine VBA Alternative für sn.count in diesem Fall.
Seiten: 1 2