Calc - Zählenwenn

Hallo Robert & André,

so geht es:

Wenn man mit "=ZÄHLENWENN(D$2:D$6; ">="&D2)" arbeitet, muss man die Geschwindigkeiten runden "=RUNDEN(A2/B2;9)", sonst funktioniert das "=" in ">=" nicht:

Strecke[m] Zeit[s] Platz Geschwindigkeit[m/s]
2 7,31 5 0,273597811
10 2,24 1 4,464285714
1000 567,4 3 1,762425097
10 4,88 2 2,049180328
9,48 8,85 4 1,071186441

Gruß
Hans-Werner ;-))

Hallo Hans-Werner,

so geht es:

Wenn man mit "=ZÄHLENWENN(D$2:D$6; ">="&D2)" arbeitet, muss man die
Geschwindigkeiten runden "=RUNDEN(A2/B2;9)", sonst funktioniert das "="
in ">=" nicht:

Strecke[m]    Zeit[s]    Platz    Geschwindigkeit[m/s]
2    7,31    5    0,273597811
10    2,24    1    4,464285714
1000    567,4    3    1,762425097
10    4,88    2    2,049180328
9,48    8,85    4    1,071186441

... das scheint mir dann aber doch ein Bug zu sein, oder? 1,76 und 1,07
liegen doch wohl eindeutig nicht einmal halbwegs nah beieinander. Kann
nur etwas mit der Umsetzung von Werten zu Text zu tun haben ...

Gruß

Robert

Hallo Robert,

mit der Beziehung "1,762425097" zu "1,071186441" hat das nichts zu tun, sondern damit, dass - bezogen auf das Ergebnis der Division "9,48/8,85" - das "D$6" in "D$2:D$6" offensichtlich nicht exakt gleich "D6" ist, weswegen "ZÄHLENWENN" nur 3 anstatt 4 Zellen findet, die die Bedingung "=ZÄHLENWENN(D$2:D$6; ">="&D6)" erfüllen.

Mit beispielsweise

"A"____"B"_____"C"_____"D"

A1_____B1_____=ZÄHLENWENN(D1:D1; ">="&D1)_____A1/B1
A2_____B2_____=ZÄHLENWENN(D2:D2; ">="&D2)_____A2/B2

lassen sich auch noch andere "Divisionen" finden, die zu einem "fehlerhaften" Ergebnis (<<==) von "ZÄHLENWENN" führen.

9,48;8,85;0;1,07118644067797 <<==
9,48;8,86;1;1,06997742663657
9,48;8,87;1;1,06877113866967
9,48;8,88;1;1,06756756756757
9,48;8,89;1;1,06636670416198
9,48;8,90;1;1,06516853932584
9,48;8,91;1;1,06397306397306
9,48;8,92;0;1,06278026905830 <<==
9,48;8,93;1;1,06159014557671
9,48;8,94;1;1,06040268456376
9,48;8,95;1;1,05921787709497
9,48;8,96;1;1,05803571428571
9,48;8,97;1;1,05685618729097
9,48;8,98;1;1,05567928730512
9,48;8,99;0;1,05450500556174 <<==
9,48;9,00;1;1,05333333333333
9,48;9,01;1;1,05216426193119
9,48;9,02;1;1,05099778270510
9,48;9,03;1;1,04983388704319
9,48;9,04;1;1,04867256637168
9,48;9,05;0;1,04751381215470 <<==
9,48;9,06;1;1,04635761589404
9,48;9,07;1;1,04520396912900
9,48;9,08;1;1,04405286343612
9,48;9,09;1;1,04290429042904
9,48;9,10;1;1,04175824175824
9,48;9,11;1;1,04061470911087
9,48;9,12;1;1,03947368421053
9,48;9,13;1;1,03833515881709
9,48;9,14;1;1,03719912472648
9,48;9,15;1;1,03606557377049
9,48;9,16;1;1,03493449781659
9,48;9,17;1;1,03380588876772
9,48;9,18;1;1,03267973856209
9,48;9,19;1;1,03155603917301
9,48;9,20;0;1,03043478260870 <<==
9,48;9,21;1;1,02931596091205
9,48;9,22;1;1,02819956616052
9,48;9,23;1;1,02708559046587
9,48;9,24;0;1,02597402597403 <<==

Ohne den SourceCode von "ZÄHLENWENN" kann man nur spekulieren:

Ich spekuliere mal, dass "ZÄHLENWENN" die Division "A2/B2 ... A6/B6" bezogen auf "D$2 ... D$6" (in "D$2:D$6") und "D2 ... D6" mit unterschiedlicher Genauigkeit ausführt und/oder auf unterschiedliche Art ausführt. Gibt man die Divisionsergebnisse jeweils als konkrete Zahl ein ("D2 ... D6"), funktioniert "ZÄHLENWENN" wie erwartet, da "ZÄLENWENN" selbst keine Divisionen ausführen muss.

Siehe auch die Beiträge: "Wolfgang Jäth, Fri May 25 17:39:49 GMT 2018" und "Wolfgang Jäth, Fri May 25 17:55:13 GMT 2018"

Ob man das Ganze als BUG einstufen kann/sollte ?

JEIN ;-))

[1] Das hängt davon ab, ob es programmier-technisch überhaupt möglich ist, "ZÄHLENWENN" "besser" zu programmieren.
[2] Andererseits gilt ja auch die "uralte Programmierer-Weisheit": Gebrochene Zahlen niemals auf "=" vergleichen, das geht unter Umständen "schief".
[3] Es gibt ja auch eine "saubere" Alternative ohne "=": =ZÄHLENWENN(D$2:D$6; ">"&D6)+1

Gruß
Hans-Werner ;-))

------ Originalnachricht ------

Hallo Robert,

ich würde immer die alternative wählen, denn es ist so das = beim progammieren immer absolut gleich heißt, obwohl es vielleicht ja keine Rolle spielt wie die 25. Nachkommestelle aussieht. Also entweder in Hilfsfeldern rechnen und dann diese Hilfsfelder vergleichen oder gleich die Alternative wählen ohne "=".:wink:

Gruß
Christian Palm