Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Excel: SVerweis geht nur mit per Hand erstellter Matrix





Frage

Hallo, ich habe in Excel 2007 (W Vista Home Rechner) eine Mappe, mit der ich über SVerweis verschiedene sportliche Werte (Meter, Zeiten) in einem Tabellenblatt mit der jeweiligen Matrix in einem anderen Tabellenblatt vergleiche. Das klappt auch alles gut, aber: Problem ist, dass es nicht klappt, wenn zwei Dinge zusammenkommen: 1. Die Formatierung in der Matrix für die Zeit sieht so aus: 0:02:30,5 (oder auch 2:30,5) 2. Das gesuchte Feld wurde über das nach unten Ziehen in einer Reihe kopiert. Wenn ich also z.B. 2:30,5 (min) händisch in ein Feld eintrage, so funktioniert SVerweis. Habe ich aber in der Matrix die Reihe erzeugt, funktioniert es nicht. Fehlermeldung: #NV Mit anderer Formatierung ohne Zehntelsekunden funktioniert es auch. Ich brauche die Zehntel aber. Mir ist noch folgendes aufgefallen: Wenn ich auf eine Zelle mit obiger Formatierung klicke, so wird der Wert für diese Zelle in der Bearbeitungszeile ohne die Zehntel dargestellt. Wenn ich aber Zellen addiere, werden die Zehntel mitberechnet. Excel lässt die Zehntel also nicht einfach unter den Tisch fallen. Kann es sein, dass aber beim Ziehen der Zahlenreihe nach unten kleine Berechnungsfehler auftreten, die man auch in der Bearbeitungszeile nicht sehen kann, weil selbst die Zehntel nicht dargestellt werden? Alle Werte per Hand einzutragen ist bei 3000 Zeilen etwas viel! (Käme auch mit 30 Zeilen aus, dazu müsste ich aber wissen, wie ich SVerweis dazu bringe, wenn es die Reihe in aufsteigender Reihenfolge durchläuft, auch bei 2:30,9 die 2:30,0 zu verwenden) Hier noch mein Befehl der Vollständigkeit halber: =WENN(AB3 <> "";( WENN($D3="m";SVERWEIS(AB3;'Leistungstabellen LA 5 -11'!$DE$4:$DP$3300;($C$2-3);FALSCH);SVERWEIS(AB3;'Leistungstabellen LA 5 -11'!$DE$4:$DP$3300;($C$2-1);FALSCH)));"__") Zuerst wird geprüft, ob beim Sportler eine Zeit eingetragen ist. Dann wird geprüft, ob der Sportler männlich oder weiblich ist (bestimmt die Ausgabespalte). Danach wird der entsprechende SVerweis ausgeführt. Bin mir recht sicher, dass der Befehl passt, da ich ja die richtigen Werte bekomme, wenn die zu überprüfende Zelle per Hand ausgefüllt war. Wer kann helfen? Ich bedanke mich herzlich für jede Unterstützung. Gruß me08

Antwort 1 von rainberg

Hallo me08,

nach dem was Du schreibst, kann es sich eigentlich nur um ein Formatproblem handeln.

Könntest Du die Datei hochladen, ansonsten ist alles nur Rätselstunde?

Mit diesem Link wäre das möglich.
http://rapidshare.com/

Nach dem Hochladen bekommst Du einen Downloadlink gezeigt, den Du kopierst und hier im Beitrag einfügst.

Beachte dabei die Formatierungsoptionen oberhalb des Antwortfensters.

Gruß
Rainer

Antwort 2 von me08

Hallo Rainer,
danke für deine schnelle Antwort. Ich glaube allerdings nicht, dass es an der Formatierung liegt, weil ich diverse vorhandene und selbst erstellte ausprobiert habe. Aber wer weiß?... Ich habe die Datei mal hochgeladen. Musste sensible Daten entfernen, aber die Problembereiche sind unberührt.
Hier der Link:

http://rapidshare.com/files/166213172/SVerweis_Problem.xlsx.html

Danke
me08

Antwort 3 von Saarbauer

Hallo.

da deine Datei mit Excel 2007 (.xlsx) erstellt wurde, können dir nur Nutzer von Excel 2007 helfen. Alle Andern können dir nur bei einer XLS-Datei helfen

Gruß

Helmut

Antwort 4 von rainberg

Hallo me08,

offensichtlich kann Excel nicht mit den Rundungsdifferenzen die beim Verarbeiten von Sekundenbruchteilen auftreten, umgehen.

Da fällt mir nur ein, die Funktion RUNDEN() in die Formel zu integrieren.
Allerdings muss die Formel dann als Matrixformel angewendet werden.
(Formeleingabe mit Strg+Shift+Enter abschließen!)

Die Formel für AI3 sieht dann so aus:

=WENN(AB3<>"";WENN($D3="m";SVERWEIS(RUNDEN(AB3;15);RUNDEN('Leistungstabellen LA 5 -11'!$DE$4:$DP$3300;15);$C$2-3;FALSCH);SVERWEIS(RUNDEN(AB3;15);RUNDEN('Leistungstabellen LA 5 -11'!$DE$4:$DP$3300;15);$C$2-1;FALSCH));"__")

Du hattest übrigens ein paar Klammern zu viel in Deiner Formel.

Gruß
Rainer

Antwort 5 von rainberg

@Saarbauer

Hallo Helmut,

es hat wenig Sinn eine Excel 2007-Mappe in das Excel 97-2003-Format zu konvertieren.

Obwohl eine Abwärtskompatibilität vorgetäuscht wird, kommt es öfter als erwünscht zu Kompatibilitätsproblemen und selbst einfache Funktionen arbeiten falsch.

Ich rede aus Erfahrung.

Gruß
Rainer

Antwort 6 von Saarbauer

Hallo @rainberg,

da hast schon recht. Aber @me08 kann deshalb nur auf einen helferkreis zurückgreifen und vielleicht gibt es auch eine Lösung die aus den alten Excelversionen funktioniert und bei 2007 genauso zu nutzen ist.

Gruß

Helmut

Antwort 7 von Saarbauer

Hallo,

hier gehört noch ein

Zitat:
nur auf einen begrenzten helferkreis


hin

Gruß

Helmut

Antwort 8 von me08

Hallo,
erst mal Danke an rainberg und Saarbauer.

@rainberg
Dein Vorschlag löst das Problem tatsächlich! Super! Excel scheint da tatsächlich nicht sauber zu arbeiten. Man sollte doch erwarten können, das 0,1 + 0,1 immer 0,2 ergibt. Oder erwarte ich da zuviel? An das Runden hätte ich überhaupt nicht gedacht! Na ja, vielleicht irgendwann mal ;-)
Werde die Skalen jetzt mit den richtigen Werten füllen und mich hier wieder melden, falls es Probleme wegen Rundungsfehlern geben sollte.

@Saarbauer
Hatte mich aus den Gründen, die rainberg anführte, gegen die .xls Variante entschieden. rainberg hat ja schon eine Lösung parat, aber wenn ich dein Interesse geweckt haben sollte, hier noch einmal die gleiche Datei im xls-Format:
http://rapidshare.com/files/166275790/SVerweis_Problem.xls.html


Liebe Grüße und besten Dank
Martin