Mit SVERGLEICH wirst du früher oder später an eine grenze stoßen - nämlich dann wenn dein Matchpoint nicht in der ersten Spalte deiner "Matrix" steht.
A B C D
1
2
3
4
Suchfeld: [E1]
In deinem Beispiel steht Fahrzeug A in Spalte A. Das gesuchte Ergebnis in Spalte 2. In E1 trägst du Fahrzeug A ein und bekommst in F1 dein Ergebnis (100). Einfacher Fall für SVERWEIS:
Code:
SVERWEIS(E1; A:B; 2; FALSCH)
E1 : hier trägst du das Suchkriterium ein.
A : B => in der ERSTEN Spalte steht irgendwo dein Suchkriterium ... in B dein Treffer
2 : die 2. SPALTE von deiner Matrix [die hier nur 2 spalten hat].
Falsch: sucht eine genaue Übereinstimmung. WAHR würdest du nehmen wenn in Spalte A zahlen stünden: 1023, 1204 ... dein Suchkriterium wäre aber 1022 - FALSCH: kein Treffer, WAHR: 1023.
Jetzt ist aber, wie gesagt, das Problem: das Suchkriterium muss in der ersten Spalte der Suchmatrix sein (hier also A). Das geht gerade bei großen Tabellen nicht immer auf und man muss mit Hilfsspalten arbeiten ... bzw. an erste erstelle die "Suchkriterien-Spalte" doppeln. Das nervt. Arbeite mal mit Tabellen mit 20-50 Spalten ....
Besser wäre hier dann ein INDEX-VERGLEICH. Deine Fahrzeuge stehen jetzt in Spalte D. In A ist der Verbrauch, B und C steht sonst was
. Mit SVERWEIS musst du jetzt tricksen - unschön. Dein Suchkriterium gibst du in [G1] ein. Also nutzt du INDEX-VERGLEICH:
Code:
INDEX(A:D;VERGLEICH(G1;D:D;0);1)
Erstmal: INDEX(matrix; Zeile, Spalte)
Für Zeile (und ggf. auch Spalte) setzen wir die VERGLEICHS-Funktion ein. Sie sagt uns in welcher Spalte bzw. Zeile sich ein Suchbegriff befindet. Mit Beiden Werten haben wir dann unseren Treffer.
A : D => die Komplette Tabelle wo relevante Daten stehen.
G1 => Suchkriterium
D : D => wir wissen das das Fahrzeug in D gelistet ist.
0: bitte genaue
1: wir wissen das das Ergebnis in der ersten Spalte steht.
Das wäre also die Kurzversion der flexiblen SVERWEIS-Variante.
Jetzt stellen wir uns mal eine riesige Tabelle vor (in meinem Arbeitsumfeld hat man bei den Spalten schon mal 2 Buchstaben ...) und wir wissen nicht das Reichweite in Spalte A steht. Zudem kann sich die Tabelle ändern - Spalten +/- ... aber die Beschriftung bleibt gleich.
Zelle F2 enthält "Reichweite" in G2 soll der Treffer.
Code:
INDEX(A:D;VERGLEICH(G1;D:D;0); ---->>>VERGLEICH(F2;A1:D1;0)<<<----)
(wegen den dämlichen Smilies musste ich das etwas unschön gestalten um es hervorzuheben; FETT geht in CODE leider nicht)
F2 : Reichweite
A1 : D1 sind die Spaltenüberschriften
0 : genauer Treffer
Vorteil einer so flexiblen Formel:
Der Chef ruft plötzlich: die Reichweite interessiert mich nicht! Ich brauch die Tankgröße. Mhh wo steht die noch? Puhh irgendwie zwischen K und Z. also in F2 einfach "Tank" eintragen. Fertig
==>>> ich war früher SVERWEIS-FAN ... absolut. Aber die grenzen von SVERWEIS nervten doch mit der Zeit - ständig Hilfspalten anlegen und ständig "Spalten zählen" und wenn sich was ändert ... puhh ... Mit INDEX-VERGLEICH bin ich da flexibler. Würde dir daher raten, wenn du insgesamt mehr mit EXCEL machen wirst, machen musst etc., halt dich nicht mit SVERWEIS auf - fürn Quickie ist der gut - aber sonst zu unflexible. Präg dir direkt die Funktionsweise von INDEX-VERGLEICH ein.