SVERWEIS mit mehreren Kriterien (o.ä.)
#1
Moin in die Runde, vielleicht könnt ihr mir weiterhelfen.

Im Prinzip habe ich ein Zielblatt und ein Quellblatt in einer Datei, siehe Anhang für Beispiel-Nachbau.

In dem Zielblatt möchte ich zu jeder Artikelnummer bestimmte Werte in passend aus dem Quellblatt ziehen, für jede Artikelnummer soll nur eine Zeile existieren. In dem Quellblatt sind zu einer Artikelnummer jedoch mehrere Zeilen, welche je detailliertere Daten verschiedener Kategorien enthalten. Sagen wir zu Preis, Farbe, Gewicht, usw..
In meinem Zielblatt möchte ich aber eben nur einzelne Daten rausziehen, die dann in den Spalten der jeweiligen Artikelnummer erscheinen.

Ich habe bereits verschiedene Varianten probiert, darunter einen modifizierten SVERWEIS mit WAHL-Funktion. Leider immer ohne Erfolg.

Vielleicht hat hier jemand anhand der Beispieldatei im Anhang eine Idee, wie das Problem gelöst werden könnte.

Vielen Dank und viele Grüße!


Angehängte Dateien
.xlsx   Beispiel.xlsx (Größe: 10,9 KB / Downloads: 11)
Top
#2
Hallo,

ich würde das mit PowerQuery bzw. ab Office 2016 unter "Daten" -> "Abrufen und transformieren" -> "Neue Abfrage".

Dann Spalte Kategorie auswählen -> "Spalte pivotieren" -> "ohne Aggregation"
Gruß
Michael
Top
#3
Du könntest dir durch VERKETTEN einen key aus Artikelnummer und Kategorie auf beiden tabs zusammenbauen. Dann suchst du per SVERWEIS einfach nach dem entsprechenden key in der Quelldatei.
Top
#4
Hallo!

Ja Verketten war auch mein Ansatz =INDEX(Quellblatt!$E$3:$E$11;VERGLEICH($B3&Zielblatt!E$2;Quellblatt!$H$3:$H$11;0))

Liebe Grüße
Alex
Top
#5
Hier eine Variante mit Verkettung in Kombination mit SVERWEIS und WAHL:
Code:
{=SVERWEIS($B3&"|"&E$2;WAHL({1.2};Quellblatt!$B$3:$B$11&"|"&Quellblatt!$D$3:$D$11;Quellblatt!$E$3:$E$11);2;FALSCH)}
Achtung Matrixformel! Die Klammern {} nicht eingeben, stattdessen die Formel mit Strg+Shift+Enter abschließen!

Hier noch eine Variante mit VERWEIS:
Code:
=VERWEIS(2;1/(($B3=Quellblatt!$B$3:$B$11)*(E$2=Quellblatt!$D$3:$D$11));Quellblatt!$E$3:$E$11)

Der Vollständigkeit halber noch die (funktionierende/n) Variante/n mit INDEX/VERGLEICH:

als Matrixformel:
Code:
{=INDEX(Quellblatt!$E$3:$E$11;VERGLEICH($B3&"|"&E$2;Quellblatt!$B$3:$B$11&"|"&Quellblatt!$D$3:$D$11))}

ohne Matrixformel:
Code:
=INDEX(Quellblatt!$E$3:$E$11;VERGLEICH($B3&"|"&E$2;INDEX(Quellblatt!$B$3:$B$11&"|"&Quellblatt!$D$3:$D$11;)))

Ich würde aber trotzdem die Power Query Variante bevorzugen.
Gruß
Michael
Top
#6
Hallo, der TE muss die CSE-Formeln nicht mit CSE abschließen... ... ich wäre auch für PQ
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#7
Danke für die Anregungen. Ich habe es dann schlußendlich mit einer simplen Pivot-Tabelle und entsprechend simplen SVERWEISen lösen können - manchmal ist es dann doch einfacher, als man es sich vorstellt Tongue
Top
#8
Zielblatt!E3: =GLÄTTEN(TEIL(WECHSELN(TEXTVERKETTEN(" ";;WENN(B3=Quellblatt!B$3:B$11;Quellblatt!E$3:E$11;""));" ";WIEDERHOLEN(" ";49));SEQUENZ(;3)*49-48;49))

als Vorwegnahme eines bald wohl möglichen

Zielblatt!E3: =SPLITTEN(TEXTVERKETTEN(" ";;WENN(B3=Quellblatt!B$3:B$11;Quellblatt!E$3:E$11;""))

wobei die Datensätze in der Reihenfolge der Kreuztabellierung angenommen sind (wie im Beispiel).
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste