von Eia » Fr, 11.05.2007 08:00
Ok. Noch etwas Theorie.
Die Preisliste: ist die eindeutig? Also kommt jeder Artikel nur genau einmal vor? Das ist die erste Voraussetzung.
Dann zur Funktion selbst. SVERWEIS hat 4 Parameter:
SVERWEIS(Suchbegriff;Matrix;Spalte;sortiert)
Bei "Suchbegriff" steht jetzt bei Dir eine Zelladresse, bei "Matrix" der Tabellenbereich, in dem sich die Preise befinden und bei "Spalte" die Spaltennummer (gerechnet ab der ersten Matrix-Spalte) in welcher der Preis steht. Der letzte Parameter, "sortiert", der muss auf 0 stehen, wenn man eindeutige Ergebnisse braucht oder eine Fehlermeldung, wenn der Suchwert in der Matrix nicht vorkommt.
Auszug aus einer wiki-Seite hat geschrieben:SVERWEIS-Tabellen sind angeordnet wie DatenBank-Tabellen. Die erste Spalte übernimmt dabei die Funktion des Schlüsselfeldes, über das man auf die rechts stehenden Informationen zugreift. Wenn man eindeutige Ergebnisse benötigt, muss die Tabelle so aufgebaut sein, dass jeder Eintrag in Spalte 1 nur genau einmal vorkommt.
Die Funktion durchsucht also jeweils die erste Spalte einer Matrix nach dem Suchbegriff, welcher ihr übergeben wird. Wird der Suchbegriff gefunden, so liefert die Funktion als Ergebnis den Inhalt einer bestimmten Spalte aus der gefundenen Zeile. Welche Spalte das sein soll, muss der Funktion ebenfalls mitgegeben werden, wobei 1 die erste Spalte der Matrix ist, also die "Schlüsselfeld-Spalte". 1 kann man benutzen, wenn man nur überprüfen will, ob der Eintrag überhaupt in der Matrix existiert.
Standardmàßig ist die Funktion nicht darauf ausgerichtet, eindeutige Werte zu finden. Sie geht davon aus, dass die Matrix. welche durchsucht werden soll, aufsteigend nach der ersten Spalte sortiert ist. Stößt sie beim Durchsuchen dieser ersten Spalte auf einen höheren Wert als den gesuchten, ohne den genauen Wert gefunden zu haben, so sucht sie nicht mehr weiter und liefert den nächstkleineren Wert zurück, da sie ja annimmt, die folgenden Werte können nur noch höher sein. Teilt man der Funktion jedoch im vierten Parameter mit, dass die Matrix nicht aufsteigend sortiert sit, so sucht sie entweder bis zum Auffinden des gesuchten Wertes oder sonst bis zum Ende der Matrix und liefert einen Fehlerwert zurück, wenn der exakte Wert nicht gefunden wird.
Wenn man also vermeiden will, dass man bei nicht vorhandenem exakten Suchergebnis einen Annäherungswert bekommt, muss man der Funktion jeweils den vierten Parameter 0 für unsortiert mitgeben, auch wenn eine aufsteigende Sortierung vorliegt.
Die ganze wiki-Seite zu SVERWEIS:
http://ooowiki.de/CalcFunktionenTabellen
Wenn Du willst, kannst Du mir Deine Tabellen auch mal schicken, dann sehe ich sie mir an (PM).
mfG
Ok. Noch etwas Theorie.
Die Preisliste: ist die eindeutig? Also kommt jeder Artikel nur genau einmal vor? Das ist die erste Voraussetzung.
Dann zur Funktion selbst. SVERWEIS hat 4 Parameter:
SVERWEIS(Suchbegriff;Matrix;Spalte;sortiert)
Bei "Suchbegriff" steht jetzt bei Dir eine Zelladresse, bei "Matrix" der Tabellenbereich, in dem sich die Preise befinden und bei "Spalte" die Spaltennummer (gerechnet ab der ersten Matrix-Spalte) in welcher der Preis steht. Der letzte Parameter, "sortiert", der muss auf 0 stehen, wenn man eindeutige Ergebnisse braucht oder eine Fehlermeldung, wenn der Suchwert in der Matrix nicht vorkommt.
[quote="Auszug aus einer wiki-Seite"]SVERWEIS-Tabellen sind angeordnet wie DatenBank-Tabellen. Die erste Spalte übernimmt dabei die Funktion des Schlüsselfeldes, über das man auf die rechts stehenden Informationen zugreift. Wenn man eindeutige Ergebnisse benötigt, muss die Tabelle so aufgebaut sein, dass jeder Eintrag in Spalte 1 nur genau einmal vorkommt.
Die Funktion durchsucht also jeweils die erste Spalte einer Matrix nach dem Suchbegriff, welcher ihr übergeben wird. Wird der Suchbegriff gefunden, so liefert die Funktion als Ergebnis den Inhalt einer bestimmten Spalte aus der gefundenen Zeile. Welche Spalte das sein soll, muss der Funktion ebenfalls mitgegeben werden, wobei 1 die erste Spalte der Matrix ist, also die "Schlüsselfeld-Spalte". 1 kann man benutzen, wenn man nur überprüfen will, ob der Eintrag überhaupt in der Matrix existiert.
Standardmàßig ist die Funktion nicht darauf ausgerichtet, eindeutige Werte zu finden. Sie geht davon aus, dass die Matrix. welche durchsucht werden soll, aufsteigend nach der ersten Spalte sortiert ist. Stößt sie beim Durchsuchen dieser ersten Spalte auf einen höheren Wert als den gesuchten, ohne den genauen Wert gefunden zu haben, so sucht sie nicht mehr weiter und liefert den nächstkleineren Wert zurück, da sie ja annimmt, die folgenden Werte können nur noch höher sein. Teilt man der Funktion jedoch im vierten Parameter mit, dass die Matrix nicht aufsteigend sortiert sit, so sucht sie entweder bis zum Auffinden des gesuchten Wertes oder sonst bis zum Ende der Matrix und liefert einen Fehlerwert zurück, wenn der exakte Wert nicht gefunden wird.
Wenn man also vermeiden will, dass man bei nicht vorhandenem exakten Suchergebnis einen Annäherungswert bekommt, muss man der Funktion jeweils den vierten Parameter 0 für unsortiert mitgeben, auch wenn eine aufsteigende Sortierung vorliegt.[/quote]
Die ganze wiki-Seite zu SVERWEIS:
http://ooowiki.de/CalcFunktionenTabellen
Wenn Du willst, kannst Du mir Deine Tabellen auch mal schicken, dann sehe ich sie mir an (PM).
mfG