Clever-Excel-Forum

Normale Version: SVERWEIS und VBA
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,

ich habe ein Problem mit dem SVERWEIS und VBA. Ich will den SVERWEIS nutzen, um zu einem Wert gehörige Daten aus einer Matrix zu suchen. Nutze ich den SVERWEIS "manuell" und trage in das Feld mit dem Suchkriterium einen Wert ein, bekomme ich die passenden Werte geliefert. Lass ich das Feld mit dem Suchkriterium nun aber über ein Makro füllen, bekomme ich vom SVERWEIS falsche Werte zurück.

Zur Erklärung siehe Bilder.
Auf Bild1 sieht man die Tabelle, auf der ich von Hand in Zelle J3 die Zahl 20 eingetragen habe. Dazu liefert mir der SVERWEIS auch die passenden Werte aus der nebenstehenden Matrix.
Bild2 zeigt die automatische Befüllung der Zelle über ein Makro.
Bild3 zeigt die Tabelle nach der Befüllung über das Makro. Man sieht, dass das Feld korrekt gefüllt wurde, aber der SVERWEIS liefert mir nicht die richtigen Werte.
Auf Bild4 habe ich die Zelle auch über das Makro gefüllt, allerdings statisch. So liefert mir der SVERWEIS auch die richtigen Daten.


Falls es von Bedeutung ist: "d1" ist eine Variable vom Typ Double. Ich vermute, dass der Wert von d1 minimal abweicht, aber gerundet dargestellt wird (in Wirklichkeit d1=0,019999999999...). Dann wundert es mich allerdings, dass auch in der Zelle der gerundete Wert dargestellt wird und nicht der exakte.

Ich hoffe einer von Euch kann mir sagen, wie es zu diesem Fehler kommt.

Gruß Max
Hola,

da man auf Bildern keine Formate sehen kann, oder wie die Zahlen tatsächlich aussehen, rate ich dann mal:


Code:
=SVERWEIS(GANZZAHL(J3);B3:H26;1;0)

Gruß,
steve1da
Kleiner Nachtrag:
Mein Verdacht scheint sich zu bestätigen, da wenn ich die Wert richtig runde auch der SVERWEIS die korrekte Daten liefert. Jedoch verstehe ich nicht ganz woher diese Abweichung kommen soll. d1 ist zwar das Ergebnis vieler vorangegangener Rechenoperationen, allerdings wird werden nicht viele Nachkommastellen dabei benötigt.
Hola,

dann google mal nach 

gleitkommaproblematik

Gruß,
steve1da
(06.12.2016, 11:55)steve1da schrieb: [ -> ]Hola,

da man auf Bildern keine Formate sehen kann, oder wie die Zahlen tatsächlich aussehen, rate ich dann mal:


Code:
=SVERWEIS(GANZZAHL(J3);B3:H26;1;0)

Gruß,
steve1da

Hi,

deine Lösung funktioniert. Gibt es eine Möglichkeit die ungerundete Zahl anzeigen zu lassen?

Gruß Max
Zusammenfassung, falls jemand das gleiche Problem hat:

Problemursache: Minimale Abweichung durch Rechnen mit Gleitkommazahlen. Es wurden gerundete Werte angezeigt und der SVERWEIS hat vermeintlich falsche Werte geliefert.

Lösung: Rundungsoperation