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

Funktion Vergleich defekt?

16 views
Skip to first unread message

Holger Ostlender

unread,
Jun 4, 1999, 3:00:00 AM6/4/99
to
Hallo Peter,

irgendwie scheint Excel mit der Formel Schwierigkeiten zu haben, stellt man
in den Optionen unter Berechnen "Genauigkeit wie angezeigt" ein,
funktioniert es wunderbar.
Zwischenlösung ist auch das Suchkriterium zu Runden, sprich
=VERGLEICH(RUNDEN(B1;A$1$:A$2$;0)

Gruß
Holger

http://www.spotlight.de/ewf-faq

henner juengst

unread,
Jun 4, 1999, 3:00:00 AM6/4/99
to
Hi,

versuchs mal mit runden
=VERGLEICH(RUNDEN(B1;2);$A$1:$A$2;0)

Pfüti
Henner


Peter Dorigo

unread,
Jun 8, 1999, 3:00:00 AM6/8/99
to
Danke Holger & Henner
Eigentlich ging's mir mehr darum, ob ich den
Fehler eher bei mir oder bei XL suchen sollte
und ausserdem, ob jemand eine Erklärung
dafür hat, wieso die Rückgabe der Funktion
Werte-abhängig ist !?! Dieses Rätsel konnte
ich bis Dato noch nicht lösen.
Peter

Franz-Josef Raabe

unread,
Jun 8, 1999, 3:00:00 AM6/8/99
to
Hallo Peter,
ich vermute mal, daß es weder an EXCEL noch an Dir liegt, sondern an der
üblichen Darstellung von reelwertigen Zahlen auf einem Rechner.
Die basiert nicht auf dem Dezimalsystem, sondern auf dem Dualsystem.
Dadurch kommt es häufig vor, daß eine Zahl mit nur einer dezimalen
Nachkommastelle als Dualzahl periodisch wird. Die Zahl 0,2 dezimal ist
z.B. = 0,001100110011.... dual. Da der Rechner aber nur endlich viele
Stellen hat, kann der dargestellte Wert nicht identisch 0,2 sein.
Genauso wie 1/3 nie gleich 0,3333333 ist, wenn ich nur endlich viele
Stellen habe. Außerdem wird das Komma bei einer Zahl > 1 soweit
verschoben, daß sie mit 0,xxx beginnt. Die Anzahl der
Kommaverschiebungen werden getrennt gespeichert (Stichworte Mantisse und
Exponent). Wenn Du zu so einer Zahl einen Wert addierst und dann wieder
abziehst, können wegen der Kommaverschiebung hin und wieder zurück am
Ende Stellen verloren gehen.
Dieser Erklärung liegen keine tieferen Kenntnisse von EXCEL meinerseits
zugrunde, sondern allgemein ist es in der Programmierung problematisch,
reellwertige Rechenergebnisse auf "=" zu prüfen.
Wie man damit umgeht, zeigen ja die Anworten auf Dein Posting.

MfG
Franz-Josef


Peter Dorigo schrieb:

Peter Dorigo

unread,
Jun 10, 1999, 3:00:00 AM6/10/99
to
Hallo Franz-Josef

Erstmal herzlichen Dank für deine ausführliche Antwort.
Auch ich hatte ua Vermutungen in dieser Richtung,
deshalb hatte ich (in D1, D2) noch einen weiteren Test
der Werte auf =heit eingebaut. Hier jedoch erkennt XL
die Werte als identisch! Andrerseits kann ich mir aber
nicht vorstellen dass die Funktion VERGLEICH eine
andere Methode anwendet.
Was mich dabei aber am meisten "verbittert", ist die
Erkenntnis, dass es offenbar nicht genügt, eine
Anwendung mit ein paar zufällig ausgewählten
Testwerten zu kontrollieren, es könnte ja sein, dass
es mit einigen (speziellen) Werten nicht funktioniert!?

mfg Peter


Franz-Josef Raabe schrieb in Nachricht
<375D4B87...@Rhein-Main.Net>...

Franz-Josef Raabe

unread,
Jun 11, 1999, 3:00:00 AM6/11/99
to
Hallo Peter,
wie schon gesagt habe ich keine Ahnung, was EXCEL intern wirklich macht.
Aber daß bei Vergleichen erstmal Umwandlungen stattfinden, merkt man ja
schon bei der Groß-/Kleinschreibung. Auch bei Zahlenvergleichen scheint
die Prüfung geringste Differenzen zuzulassen. Schlichtes Beispiel:

Zelle A1: "=1/3", Zelle B1: "=0,333333333333333" (15 3-er), Zelle C1:
"=A1=B1", Zelle D1: "=A1-B1".

Sieht alles so aus, als seien die Werte A1 und B1 völlig identisch. Sind
sie aber wohl nicht. Denn:

Zelle A2: "=A1+2-2", Zelle B2: "=B1+2-2", Zelle C2: "=A2=B2", Zelle D2:
"=A2-B2".

Hier liefert "=" zwar noch "Wahr", aber die Differenz ist 4,44089E-16.
Für die meisten Fälle wird diese großzügigere Prüfung auf "=" sinnvoll
sein.

VERGLEICH prüft scheints viel schärfer, da liefert Vergleich(B1;A1:A1;0)
bereits #NV.
Vielleicht war das Absicht, oder es hat sich über die Programmierung so
ergeben.
Die Ideallösung gibts bei endlich vielen Stellen eben nicht. Bei dem
Problem muß man halt immer aufpassen, egal ob man selbst programmiert
oder ein Programm anwendet.
Ich finde es o.k. so, sonst bräuchte man vielleicht unsereins bald
garnicht mehr.
MfG
Franz-Josef

Peter Dorigo schrieb:
>

0 new messages