Excel Index-Vergleich-Wenn-Funktion

Exbex

Cadet 2nd Year
Dabei seit
März 2014
Beiträge
19
#1
Hy
Hab schon Dr. Google durchforstet aber leider keine passende Lösung gefunden.
Ich benötige grob gesagt eine WENN-Funktion die mehr als 64 Argumente zulässt.
Dabei bin ich auf die INDEX-VERGLEICH Funktion gestoßen.
Diese gibt mir aber nur exakt gesuchte Zellen aus.

Ich benötige es folgendermaßen:
Wenn in A1 der Text "XxX" eingetragen wird, soll in B1 ein vordefinierter Wert "0101" aufscheinen.

Danke schon mal für Lösungsvorschläge bzw. eine Formel dafür.

Ergebniss müsste zB. so aussehen:
FahrzeugPreis
WENN manuelle Eingabe des Fahrzeuges (zB. Fahrzeug B)DANN passender Wert (idF. 200) soll eingefügt werden

Index wäre zB:
FahrzeugReichweite
Fahrzeug A100
Fahrzeug B200
Fahrzeug C300
usw.usw.
 
Dabei seit
Apr. 2018
Beiträge
74
#2
Hola,
nimm den Sverweis mit 4. Parameter WAHR. Dazu muss die Suchmatrix aufsteigend sortiert sein.
Mehr kann man aufgrund der Beschreibung nicht sagen.
Edit: hier geht sogar der 4. Parameter FALSCH.
=sverweis(Zelle_mit_Fahrzeug;Tabelle2!A:B;2;0)

Gruß,
steve1da
 

Exbex

Cadet 2nd Year
Ersteller dieses Themas
Dabei seit
März 2014
Beiträge
19
#4
Oh ja super; vielen Dank.
Funktioniert und ist genau was ich brauche.
:daumen:
Ergänzung ()

Hy; nochmal retour das Ganze......
Auf dem Testsheet mit den beiden Spalten hat's ja super funktioniert.
Real habe ich aber mehrere Spalten aus denen gewählt werden soll; insgesamt 10.
Also um es anders auszudrücken; im Index habe ich 10 Spalten mit Werten, also mehr Daten.
Der Bezug für das Ergebnis ist aber dennoch immer nur eine Spalte.
Die obige Frage bleibt die selbe, nur der Index sieht halt anders aus.
Wusste nicht das die Menge der Daten/Spalten im INDEX eine Rolle spielt.

Die Daten im INDEX benötige ich aber für andere Aufgaben und muss ich deshalb so behalten.

Die Formel müsste also aussehen:
=SVERWEIS($A2;Tabelle2!A:J;7;0)
funktioniert aber nicht.

INDEX
FahrzeugBCDEFReichweiteHIJ
Fahrzeug Axxxxx100xxx
Fahrzeug Bxxxxx200xxx
Fahrzeug Cxxxxx300xxx

Ergebnis sollte wie oben erwähnt zB. so aussehen:
FahrzeugReichweite
WENN manuelle Eingabe des Fahrzeuges (zB. Fahrzeug B)DANN passender Wert (idF. 200) soll eingefügt werden
 
Zuletzt bearbeitet:
Dabei seit
Juli 2005
Beiträge
1.371
#5
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.
 

Exbex

Cadet 2nd Year
Ersteller dieses Themas
Dabei seit
März 2014
Beiträge
19
#6
@Wulfman_SG
Tausend Dank für die ausführliche Erklärung.
Hatte ja am Anfang schon den INDEX-VERGLEICH erwähnt, nur anscheinend die Funktionsweise falsch verstanden.
Werde das gleich mal ausprobieren und wenn es funktioniert für immer verinnerlichen :D

Jedenfalls nochmals DANKE für die tolle Beschreibung.
:daumen::daumen::daumen:
 
Top