
https://i.stack.imgur.com/1GIk4.png
Hallo, ich muss SVERWEIS verwenden, um nach mehreren Kriterien und Synonymen zu suchen und einen Wert basierend auf Tabelleneingaben auszugeben. Bild 1 ist beispielsweise die Liste der Synonyme, die einen nachfolgenden Wert in einer anderen Tabelle haben werden. Ich möchte, dass die Funktion nach JEDEM dieser Namen sucht und den Wert in der entsprechenden SVERWEIS-Spalte für jedes Beispiel ausgibt. Ich habe Folgendes versucht:
=VLOOKUP(OR(C$2=TRUE,C$3=TRUE,C$4=TRUE,C$5=TRUE,C$6=TRUE,C$7=TRUE,C$8=TRUE)=TRUE,'[Worksheet2.xlsx]BD-7 1'!$F$1:$G$73,2)
aber ich habe kein Glück. Es sieht nicht so aus, als ob SVERWEIS die Verwendung mehrerer Kriterien schätzt. Vielen Dank für jede Hilfe!
Antwort1
- SVERWEIS() findet EIN Element (erstes Argument) in einer Liste,
- die Liste befindet sich in der ersten Spalte des Arrays, das Sie als zweites Argument haben,
- Das dritte Argument gibt an, welche Spalte aus Ihrem Array ausgewählt werden soll. 1 = gibt das passende Element zurück
- und das letzte Argument muss FALSE sein, damit versucht wird, eine GENAUE Übereinstimmung zu finden.
Nachdem das gesagt ist: Du kannst jedes (einzelne) der Synonyme oder sogar ein Übereinstimmungsmuster[1] eingeben, um zu suchen.
Der zurückzugebende Wert oder das zurückzugebende Element kann sich in einer beliebigen Spalte rechts von der ersten (in der Array-Definition enthalten) oder in der ersten Spalte befinden.
[1] *
für mehrere mögliche Zeichen, ?
für ein einzelnes
Antwort2
Ihre Lösung in den Kommentaren zu Hannu
der Antwort von sollte gut funktionieren. Das Folgende könnte als etwas transparenter angesehen werden und würde das Abfangen von mehr Fehlern ermöglichen. (Das Abfangen von mehr Fehlern könnte jedoch Probleme verbergen, die Sie lieber erkennen und lösen möchten, obwohl dies nicht unbedingt ein Problem darstellt, wenn Ihre Daten (Suchwerte ODER Datensätze mit Rückgabewerten) anständig sind und wahrscheinlich immer anständig sein werden.)
=SUM(IFERROR(VLOOKUP(C1:C3,C13:D14,2,FALSE),0))
Es fängt IFERROR()
die fehlgeschlagenen Suchvorgänge ab und weist ihnen den Wert Null zu, sodass der gewünschten Summe nichts hinzugefügt wird, und SUM()
addiert sie dann einfach alle.
(Möglicherweise geht es schneller, vielleicht aber auch nicht. Wahrscheinlich ist es kein Problem, wenn die Suche an einer einzigen Stelle erfolgt, aber wenn sie für den gesamten Datensatz berechnet wird, könnte es je nach Größe von Bedeutung sein.)