Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

SVERWEIS und VBA
#1
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


Angehängte Dateien Thumbnail(s)
               
Antworten Top
#2
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
[-] Folgende(r) 1 Nutzer sagt Danke an steve1da für diesen Beitrag:
  • Maxm
Antworten Top
#3
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.
Antworten Top
#4
Hola,

dann google mal nach 

gleitkommaproblematik

Gruß,
steve1da
Antworten Top
#5
(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
Antworten Top
#6
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
Antworten Top


Gehe zu:


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