HERBERS Excel-Forum - das Archiv

Thema: Geschwindigkeit SVERWEIS vs. XVERWEIS

Geschwindigkeit SVERWEIS vs. XVERWEIS
Dieter Krüsemann
Bei der Optimierung eines Tabellenblattes mit ca. 97.000 (ja. richtig gelesen: 97.000) SVERWEISEN bin ich zufällig auf die Tabellenfunktion XVERWEIS gestoßen, die angeblich schneller sein soll. Bisher habe ich keine Informationen, um wieviel schneller XVERWEIS ist, um zu beurteilen, ob sich ein Umbau auf XVERWEIS tatsächlich lohnt.

Bei meiner Anwendung wird auf nur einen Wert in einer ca. 20 x 20 Matrix zugegriffen. Die erste Spalte ist Text, die übrigen sind eindeutige Zahlen. Der Zugriff erfolgt über den Text in der ersten Spalte.

Sämtliche SVWERWEISE werden in einer VBA-Routine mehrfach durchlaufen, was in Durchschnitt ca. 40 sec. dauert. Ist zwar etwas gemütlich, aber bei meiner Applikation gerade noch erträglich.

Auf wieviel (dicker Daumenwert) würde sich die Durchlaufzeit nach Eurer Einschätzung verringern?

Danke im Voraus für Eure Unterstützung
Dieter
AW: Geschwindigkeit SVERWEIS vs. XVERWEIS
Daniel
Das kann man schwer sagen warum probierst du es nicht einfach selber aus?
Vermutlich ist der Zeitfresser in deinem Makro ein ganz anderer.
Aber ohne deine Datei und dein Makro zu kennen, lässt sich da schwer was sagen.
Gruß Daniel
AW: Geschwindigkeit SVERWEIS vs. XVERWEIS
Daniel
AW: Geschwindigkeit SVERWEIS vs. XVERWEIS
Dieter Krüsemann
Moin Daniel,

vielen Dank für Deine schnelle Antwort. Der Link zu den Zeitmessungen enthält genau die Informationen, die ich gesucht habe. Danach sind SVERWEIS und XVERWEIS über den Daumen gleichwertig, wobei SVERWEIS tendenziell etwas schneller ist. Damit ist der aufwändige Tabellenumbau für mich hinfällig. ...

... Ein guter Wochenstart, den ich auch Dir wünsche.
Dieter

PS: Ich muss jetzt nur noch die passenden Lobhudelbuttons finden :-)
AW: Geschwindigkeit SVERWEIS vs. XVERWEIS
Daniel
Der wichtigste Schritt zum Beschleunigen von SVerweisen ist, die Liste, die der SVerweis durchsucht, aufsteigend zu sortieren damit die schnelle Variante des Verweises verwendet werden kann.
Hier hätte der XVerweis den Vorteil, dass man bei im die "Suche in sortierter Liste" mit "genauer Übereinstimmung" kombinieren kann, was beim SVerweis nicht geht und eine doppelte Ausführung des SVerweises erfordert.

Gruß Daniel
AW: Geschwindigkeit SVERWEIS vs. XVERWEIS
Dieter Krüsemann
Moin Daniel,

die durchsuchte Tabelle ist, wie von ihr abhängige Tabellen, alfabetisch sortiert. Das erlaubt den gegenseitigen Zugriff über die identischen Zeilennummern, ohne hier einen weiteren SVERWEIS einsetzen zu müssen. Außerdem erleichtert mir diese Methode den Überblick. ...

... Da bin ich ganz bei SVERWEIS :-)

Möglicherweise bin ich auf eine verallgemeinerte - gewollt oder nicht - Aussage hereingefallen, als XVERWEIS beschleunigend als letzter Rettungsanker bei einer verquasten Dateistruktur geholfen hat. Ich habe mir die Variablenstruktur von XVERWEIS einmal angesehen. Danach ist XVERWEIS wohl umso länger beschäftigt, je mehr Optionen genutzt werden. Dies könnte die unterschiedlichen Laufzeiten erklären, bei denen SVERWEIS in einigen Fällen gewinnt.

Es lohnt sich also fast immer, Lösungen zu hinterfragen, bevor sie einfach übernommen werden.

Ähnliches habe ich mehrfach in diesem Forum beobachtet. Da werden nicht selten ganze Kathedralen von feinstem Code für Fälle präsentiert, die sich mit ein paar Zeilen Code in "Kartoffeldruck" lösen lassen.

Grüße
Dieter
AW: Geschwindigkeit SVERWEIS vs. XVERWEIS
Luschi
Hallo Dieter,

bei dieser Anzahl von gleichartigen Formeln sollte man über fortschrittlichere Methoden in Excel nachdenken und endlich einsetzen:
- Power Query, Power Pivot und 'table relationships' (Tabellenbeziehungen )

- ein gutes Gesamtbeispiel findet man hier: https://goodly.co.in/you-dont-need-xlookup-and-vlookup/

Gruß von Luschi
aus klein-Paris
AW: Geschwindigkeit SVERWEIS vs. XVERWEIS
Dieter Krüsemann
Moin Luschi,

danke für die Info. Werde mich mal reinknien, nachdem das laufende Projekt noch mit 'steam punk' SVERWEIS fertiggestellt ist. Mit Deinen Hinweisen könnte dann eine neue Version entstehen.

Klein-Paris? ...

... Da greife ich mal in meinen Lostopf: Leipzig?

Beste Grüße
Dieter