Negative-Werte zählen (mit Unterbrechung)
#11
Nicht alles, aber das meiste. Problematisch ist immer die Aufstellung der Codes.
Top
#12
Nur für Fortgeschrittene mit xl365 Insider: Ich beziehe mich auf meinen Beitrag #6 oben mit der Formel

C2: =WAHL(SPALTE(A1:B1);(VORZEICHEN(
A1:INDEX(A:A;ANZAHL(A:A)))<>VORZEICHEN(
A2:INDEX(A:A;ANZAHL(A:A)+1)))*VORZEICHEN(
A2:INDEX(A:A;ANZAHL(A:A)+1))*SEQUENZ(ANZAHL(A:A);;2);(
C1:INDEX(C:C;ANZAHL(A:A))=0)*(
D1:INDEX(D:D;ANZAHL(A:A))+
C1:INDEX(C:C;ANZAHL(A:A)))+VORZEICHEN(
A1:INDEX(A:A;ANZAHL(A:A))))

mit den 3 Einschränkungen a) xl365 b) Iteration c) anschließender Autofilter (nicht =FILTER()).
____________________________________

Die denkbare Abkürzung ... 

C2: =LET(
a;ANZAHL(A:A);
aa;VORZEICHEN(A1:INDEX(a:a;a));
ab;VORZEICHEN(A2:INDEX(a:a;a+1));
ac;C1:INDEX(C:C;a);
WAHL(SEQUENZ(;2);(aa<>ab)*ab*SEQUENZ(a;;2);(
ac=0)*(
D1:INDEX(D:D;a)+
ac)+aa))

funktioniert nicht. Der Grund ist folgender: LET speichert genau die Variablen zu Beginn einmalig statisch ab, deren Zellwerte über Iteration jedoch überhaupt erst entstehen sollen. Die Iteration wirkt also nicht in die LET()-Register (warum sollte sie es auch tun?).
____________________________________

Die Formel ... 

C2: =WAHL(SEQUENZ(;2);(aa<>ab)*ab*SEQUENZ(a;;2);(ac=0)*(D1:INDEX(D:D;a)+ac)+aa)

jedoch klappt mit den in C2: benannten Formeln ...

a: =ANZAHL(A:A)
aa: =VORZEICHEN(A1:INDEX(a:a;a))
ab: =VORZEICHEN(A2:INDEX(a:a;a+1))
ac: =C1:INDEX(C:C;a)

die bekanntlich nur ein anderes Sichtfenster auf die Zellformel darstellen. Sie sind insbesondere nicht schneller (es wird genauso oft und lange gerechnet) und insgesamt vom Speicherbedarf her nicht kürzer.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top
#13
Wozu brauchst du VBA ?
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste