EXCEL – Grenze des SVERWEIS

In der Grundlagenschulung sprechen wir über den SVERWEIS. Eine tolle Funktion welche wir täglich, bei vielen Gelegenheiten, einsetzen können. Kurze Wiederholung:

Der SVERWEIS sucht in den Zeilen einer sortierten Spalte nach einem Wert der kleiner oder gleich dem Gesuchten ist und gibt einen Wert aus einer Spalte, selber Zeile, RECHTS von der Spalte mit dem gesuchten Wert wieder.

Wir haben ausreichend im Unterricht mit numerischen Werten geübt, vor allem mit dem vierten Parameter des SVERWEIS.

SVERWEIS(Suchkriterium;Matrix;Spaltenindex;Bereich_Verweis)

Der Bereich_Verweis ist ein optionaler, Boolscher Wert. Nicht spezifiziert, ist der Wert immer WAHR. Das heisst, es wird ein Wert gesucht, der annähernd kleiner oder gleich dem gesuchten Wert ist. Setze ich den Wert als FALSCH, wird nach absoluter Gleichheit gesucht.

In diesem Fall, führt der SVERWEIS auch in einer nicht sortierten Tabelle zu einem richtigen Ergebnis!

Im letzten Schulungsbeispiel haben wir die Grenzen des SVERWEIS kennen gelernt; nämlich dann, wenn mehrere Werte gesucht werden. Auch haben wir den Befehl zweckentfremdet in dem wir alphanumeriche Werte gesucht haben. Das funktioniert sehr gut, solange wir den vierten Parameter FALSCH angeben, also nach absoluter Übereinstimmung suchen.

Um die Grenze des SVERWEIS zu überwinden, benutzen wir den VBA Code. Die Programmierung in Visual Basic ist Inhalt des Intensivkurses und dient hier nur der Veranschaulichung.

Eine FOR EACH ……. NEXT Schleife macht im Prinzip nichts anderes wie der SVERWEIS, ist nur wesentlich flexibler und kann uns mehrere Werte zurück liefern. In unserem Beispiel haben wir anstatt einer Datenbank, eine Tabelle mit Werten angelegt. Es sind Zutaten für ein Rezept sowie ein Verschnitt, der bei der Zubereitung des Lebensmittels entsteht, aufgeführt. Der SVERWEIS funktioniert in unserem Beispiel nur, wenn ein Wert gesucht wird. Ein Rezept hat aber mehrere Zutaten und ist so nicht lösbar. In diesem Beispiel sind beide Varianten FOR EACH und SVERWEIS zu beobachten.

Code zum Beispiel