Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Elegante Lösung für Vorzeichenwechsel in einer Zahlungsreihe gesucht

590 views
Skip to first unread message

Thomas Mangold

unread,
Mar 25, 2008, 10:43:17 PM3/25/08
to
Hallo,

ich habe Zahlungsreihen und möchte wissen, wie oft in der Reihe ein
Vorzeichenwechsel stattfindet. Z.B:

-500
-300
-700
800
900

hat einen Vorzeichenwechsel

-500
300
-700
800
900

hat drei Vorzeichenwechsel

wie kann man das elegant lösen?

Thomas

Stefan Anderl

unread,
Mar 26, 2008, 3:37:00 AM3/26/08
to

"Thomas Mangold" wrote:

Ich würde jeweils das Produkt berechnen: Also A1*A2 in B2; A2*A3 in B3 usw.
Wenn das negativ ist, liegt ein Vorzeichenwechsel vor. Das wiederum kann man
dann mit =Zählenwenn(b1:b200;"<0") zählen. Wenn es noch schöner werden soll,
kann man alles auch in eine Matrix-Formel packen.

Stefan

Alexander Wolff

unread,
Mar 26, 2008, 3:47:34 AM3/26/08
to
> ich habe Zahlungsreihen und möchte wissen, wie oft in der Reihe ein
> Vorzeichenwechsel stattfindet. Z.B:

Deine Daten in A2:A10. A11 leer!

=SUMMENPRODUKT((A2:A10>=0)*(A3:A11<0)+(A2:A10<0)*(A3:A11>=0))
P.S.: Null gilt hier als Plus.

Falls Null ein drittes Vorzeichen sein soll:

=SUMMENPRODUKT(--(VORZEICHEN(A2:A10)<>VORZEICHEN(A3:A11)))-1
Achtung: Testen! Das scheint so noch nicht ganz zu stimmen!
--
Moin+Gruss Alexander - MVP für MS Excel - www.xxcl.de - mso2000sp3 --7-2


Thomas Mangold

unread,
Mar 26, 2008, 9:23:30 AM3/26/08
to
Alexander Wolff schrieb:

>> ich habe Zahlungsreihen und möchte wissen, wie oft in der Reihe ein
>> Vorzeichenwechsel stattfindet. Z.B:
>
> Deine Daten in A2:A10. A11 leer!
>
> =SUMMENPRODUKT((A2:A10>=0)*(A3:A11<0)+(A2:A10<0)*(A3:A11>=0))
> P.S.: Null gilt hier als Plus.
>
> Falls Null ein drittes Vorzeichen sein soll:
>
> =SUMMENPRODUKT(--(VORZEICHEN(A2:A10)<>VORZEICHEN(A3:A11)))-1
> Achtung: Testen! Das scheint so noch nicht ganz zu stimmen!


Hallo Alexaner,
hallo Stefan,

den Bereich um eins nach unten verschieben und dann rechnen ist eine
geniale Idee.

Warum funktioniert eigentlich folgende Formel nicht?

{=SUMME(A3:A11*A4:A12<0)}

Thomas

PS: was bewirken die zwei -- vor (VORZEICHEN?

Alexander Wolff

unread,
Mar 26, 2008, 10:47:14 AM3/26/08
to
Die Tastatur von Thomas Mangold wurde wie folgt gedrückt:

>> =SUMMENPRODUKT((A2:A10>=0)*(A3:A11<0)+(A2:A10<0)*(A3:A11>=0))
>>
>> Falls Null ein drittes Vorzeichen sein soll:
>>
>> =SUMMENPRODUKT(--(VORZEICHEN(A2:A10)<>VORZEICHEN(A3:A11)))-1
>
> Warum funktioniert eigentlich folgende Formel nicht?
>
> {=SUMME(A2:A10*A3:A11<0)}

Weil Du eine äußere () für SUMME und eine innere () für den booleschen
Ausdruck benötigst.

> PS: was bewirken die zwei -- vor (VORZEICHEN?

Diese erzwingen die Addierbarkeit von WAHR und FALSCH als 1 und 0. Es ginge
statt -- auch *1 oder +0. Ich ziehe -- vor, weil das optisch als
Typumwandlung ins Auge springt; die anderen beiden sehen zunächst aus wie
"just another operation" (nicht so direkt gegebenes Formelverständnis).

Nette Idee! =SUMMENPRODUKT(--(A2:A10*A3:A11<0))
Einschränkungen: Der Wert 0 führt in Nachbarschaft zu Minuswerten zu
Problemen.
--
Moin+Gruss Alexander - MVP for MS Excel - www.xxcl.de - mso2000sp3 --7-2


0 new messages