Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1748to1752
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zuordnung multipler Werte

Zuordnung multipler Werte
26.03.2020 09:17:00
Paul
Hallo Excel-Gurus,
ich habe folgendes Problem:
Ich habe eine Liste mit mehreren Nummern, sagen wir Materialnummern. Diese sind in einem Tab gelistet und eindeutig.
In einem zweiten Tab habe ich zu diesen Materialnummern die Hersteller gelistet. Das können dann zu einer Materialnummer auch mal zwei oder drei Hersteller sein.
Hier könnt ihr das Beispiel sehen:
https://www.herber.de/bbs/user/136109.xlsx
Alle Hersteller aus dem Tab "Hersteller" sollen jetzt den Materialnummern im Tab "Material" zugeordnet werde. Eigentlich eine Sache für einen SVERWEIS. Der funktioniert aber immer nur mit dem ersten Eintrag eines Herstellers. Ich möchte jedoch, sofern es mehrere Hersteller zu einer Materialnummer gibt, pro Materialnummer/Hersteller Kombination eine neue Zeile haben.
Genauso wie es im Tab "Hersteller" aussieht.
Zur Erklärung, denn das klingt sicher auf den ersten Blick blöde, denn, wenn ich das schon habe, warum soll es dann nochmals gematcht werden? Ganz einfach; der Tab "Material" ist in der Realität die Liste, die ich brauche, und da stehen noch sehr viel mehr Daten drin. Ich möchte also alle notwendigen Daten aus verschiedenen Tabs in einem zusammenbringen.
Hat jemand eine Idee für mich? Vielen Dank im voraus, viele Grüße, bleibt gesund
Paul

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nachgefragt ...
26.03.2020 09:43:37
neopa
Hallo Paul,
... wie viele Datensätze sind denn ca. max auszuwerten und welche Excelversion soll/kann denn dazu genutzt werden?
Unklar ist auch, warum Du für eine Materialnummer für die es mehrere Hersteller gibt, auch mehrere Datensätze (Zeilen) anlegen willst und nicht einfach die verschiedenen Hersteller in benachbarte Spaltenzellen der jeweiligen Materialnummer einschreiben lassen willst? Dann wäre nämlich auch eine relativ einfache Formellösung möglich.
Gruß Werner
.. , - ...
AW: nachgefragt ...
26.03.2020 11:30:23
Paul
Hallo Werner,
ich habe ca. 35000 Datensätze (Material) und dazu ca. 450 Datensätze (Hersteller). In diesen 450 Datensätzen gibt es etwa 150 Duplikate.
Die Hersteller sollen in einer neuen Zeile angezeigt werden, da zu jeder Kombination Material/Hersteller noch weitere unterschiedliche Datensätze angezeigt werden müssen. Beispiel: ein Hersteller hat bei einem Material die Prüfstufe 0 erreicht, ein zweiter Hersteller für das gleiche Material erst die Prüfstufe 1.
Sofern man Deine Formellösung auch verwenden kann, wäre das sicher auch eine Möglichkeit, indem man einfach weitere Spalten nach jedem Hersteller zufügt.
Meine Office Version ist übrigens 2016 Standard.
Bin gespannt.....
Anzeige
AW: dann ist eine Formellösung nicht angebracht...
26.03.2020 12:26:19
neopa
Hallo Paul,
... als eine Alternative zu einer VBA-Lösung käme bei Deiner ExcelVersion dann evtl. eine PowerQuery-Lösung in Frage, ohne dass ich jetzt en Detail gleich schreiben könnte, wie diese aussehen müsste.
Gruß Werner
.. , - ...
AW: dann ist eine Formellösung nicht angebracht...
26.03.2020 13:01:10
Paul
Hallo Werner,
vielen Dank für Deine Antworten. Power-Query klingt zwar gut, aber ich habe leider keine Ahnung, was das ist.
Grüße
Paul
AW: dann ist eine Formellösung nicht angebracht...
26.03.2020 13:02:01
Günther
Moin Paul,
aus meiner Sicht ist das mit Power Query sehr gut und auch mit relativ wenigen Schritten lösbar. Ich habe mal eben die Muster-xlsx "durchgespielt" und hatte ein Ergebnis, welches wohl deinen Wünschen entspricht. Was mich irritierte: Reichlich Nummern, die keinen Hersteller in der 2. Liste hatten ...
Gruß
Günther
Anzeige
AW: dann ist eine Formellösung nicht angebracht...
26.03.2020 15:22:00
Paul
Hallo Werner,
davon habe ich leider kein Ahnung. Ich werde mal etwas herumspielen.
Gruß
Paul
AW: dann ist eine Formellösung nicht angebracht...
27.03.2020 07:33:23
Paul
Hallo zusammen,
erst einmal vielen Dank für Eure Beiträge. Leider komme ich mit dem Power Query auch nicht weiter, da fehlt mir die Erfahrung.
Ich werde den Post erst einmal offen lassen, vielleicht hat ja doch noch jemand eine Idee für ein Makro
Grüße
Paul
Anzeige
AW: dann ist eine Formellösung nicht angebracht...
27.03.2020 18:05:23
Paul-Werner
Hallo Günther,
danke, das sieht ganz gut aus. Ich werde mal versuchen, das irgendwie nachzuvollziehen.
Viele Grüße
paul
AW: Zuordnung multipler Werte
26.03.2020 12:15:29
Joni
Hallo Paul,
Ich selber habe enorm viel aus diesem Forum gelernt und dies wird meine erste Antwort auf eine Frage.
Ich verstehe noch nicht ganz, wie die Daten aufgebaut sind: Du hast im Tab MAterial jede MAterialnummer genau einmal gelistet und im Tab Hersteller Kombinationen Materialnummer -> Hersteller, wobei ein MAterial mehrfach zu einem Hersteller zugeordnet werden kann?
Also z.B.
Tab MAterial
0815
4711
1234
Tab Hersteller
0815 -> Edeka
0815 -> Amazon
0815 -> Aldi
4711 -> Lidl
4711 -> Penny
1234 -> Penny
1234 -> Aldi
Was genau willst du erreichen?
Ich vermute, dass du die Liste Tab Hersteller komprimieren möchtest, ungefähr so:
Tab MAterial (ergänzt um die Hersteller):
0815 -> Edeka, Amazon, Aldi
4711 -> Lidl, Penny
1234 -> Penny, Aldi
Richtig?
Ich würde das Ganze so anstellen, dass ich für jede Zurodnung MAterial -> Hersteller den Hersteller zwischenspeichere und an einen Ausgabewert anfüge:

Sub ListAllSupplier()
Dim Hrst As Worksheet
Dim Mtrl As Worksheet
Dim tmp As String ' Variable zum Zwischenspeichern
Dim show_list As String ' Variable zum "VErketten" der gefundenen Hersteller
Dim mtrl_i As String ' das i-te Material für vlookup
Dim i As Long ' Zähler für die Material-Liste
Dim j As Long ' Zähler für Hersteller-Liste
Dim LastRowMtrl As Long ' Ermittlung/Festlegung der letzten Zeile
Dim LastRowHrst As Long
Set Hrst = ThisWorkbook.Worksheets("Hersteller")
Set Mtrl = ThisWorkbook.Worksheets("Material")
LastRowMtrl = 4 'wird für meine Beispiel festgelegt, müsste man wahrscheinlich individuell  _
ermitteln... ist für mei Beispiel aber unerheblich
LastRowHrst = 5
tmp = ""
For i = 2 To LastRowMtrl
mtrl_i = Mtrl.Range("A" & i).Value
'MsgBox mtrl_i
For j = 2 To LastRowHrst
' Ermitteln des j-ten Herstellers zum i-ten MAterial
tmp = Application.WorksheetFunction.VLookup( _
mtrl_i, _
Hrst.Range("A2:B5"), _
2, _
False) ' ich gehe also mit i zeilenweise durch das Tabellenblatt Material und
' verkleinere über das j die Auswahl der Zuordnungen MAterial zu Hersteller
If tmp  "" Then
show_list = show_list & ", " & tmp ' show_list wird ergänzt um den Hersteller.
'Mit dieser Quick and dirty-Lösung hast du zu  _
Beginn immer noch ein ', '
'stehen, das kann man aber codeseitig entweder  _
rausschneiden oder über
'andere Mittel nicht erstellen lassen.
End If
Mtrl.Range("B" & i).Value = show_list ' nachdem das j einmal durch die Herstellerliste
'gelaufen ist, wird das Ergebnis in die  _
MAterialliste
'zurückgeschrieben in Spalte 2
Next
Next
End Sub

Anzeige
AW: Zuordnung multipler Werte
26.03.2020 13:16:41
Paul
Hallo Joni Boni,
danke für Deine Anregungen.
Deine Annahmen sind überwiegend korrekt. Nur das Ergebnis, das ich erreichen möchte, sieht etwas anders aus.
Wenn ich als Anwender die Liste nach Material filtere, möchte ich sehen, welche Hersteller dieses Material produziert und wie der Qualitätstand dazu aussieht. Wie vorher schon beschrieben, hat jeder Hersteller eine andere Qualitätsstufe und das ist genau das, was ich mit dieser Liste erreichen möchte. Dazu kommen noch andere Daten, die durchaus von Hersteller zu Hersteller verschieden sein können.
Daher muss die sortierte Liste meines Uploads so aussehen wie die Liste im Reiter Hersteller:
Material Hersteller Q-Stufe andere Daten 1 andere Daten 2
0815 Edeka 10 ABC DEF
0815 Amazon 20 QWE 456
0815 Aldi 10 DDF
4711 Lidl 30 etc. etc.
4711 Penny 30
1234 Penny 10
1234 Aldi 30
Ich würde das normalerweise mit einem SVERWEIS machen, aber da kann ich immer nur einen Wert zuordnen.
Gruß
Paul
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige