Mehrere Tabellen blätterübergreifend zusammenfügen und Werte vergleichen
#1
Hallo liebes Forum,

ich habe eine Aufgabe bekommen die meine Excel-Kenntnisse leider bisschen überschreiten.

Die Aufgabe: Ich habe 2 Tabellen die jeweils 3 Spalten (Material[A], Artikel[B], ID[C]) haben. Jetzt soll ich die Tabellen vergleichen und bei einer Übereinstimmung von dem Artikel[B], die ID von Tabelle_2 als Spalte [D] hinter die ID der Tabelle_1 schreiben. Also: wenn ich 2 ID's für einen Artikel habe, sollen diese hintereinander in Tabelle 1 stehen. Und falls es keine Übereinstimmung gibt, soll der Eintrag aus Tabelle 2, als neuer Eintrag, in Tabelle 1 übernommen werden.

Ich hoffe mir kann da jemand mit einer Formel helfen. Blush
Top
#2
Hallo Unbekannter,

eine Beispieldatei bzw ein Auszug des Tabellenblatts ist aussagekräftiger als viele Worte. Stellt sich auch die Frage, ob Artikel in  B mehrmals vorkommen oder nicht. Die Übereinstimmung und Spalte D/E? füllen, könnte man noch per Formel hinbekommen. Aber für das unten anfügen ist VBA sicherlich besser geeignet. Aber dies sieht man, wenn man ein Bsp. vor sich hat.
Top
#3
Hutju,

mit Power Query könnte es so gehen:

Query Tabelle1
Code:
let
   Source = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
   #"Changed Type" = Table.TransformColumnTypes(Source,{{"Material", Int64.Type}, {"Artikel", type text}, {"ID", Int64.Type}})
in
   #"Changed Type"

Query Tabelle2
Code:
let
   Source = Excel.CurrentWorkbook(){[Name="Tabelle2"]}[Content],
   #"Changed Type" = Table.TransformColumnTypes(Source,{{"Material", Int64.Type}, {"Artikel", type text}, {"ID", Int64.Type}})
in
   #"Changed Type"

Query Append1
Code:
let
   Source = Table.Combine({Tabelle1, Tabelle2}),
   #"Merged Queries" = Table.NestedJoin(Source,{"Artikel"},Tabelle2,{"Artikel"},"Tabelle2",JoinKind.LeftOuter),
   #"Expanded {0}" = Table.ExpandTableColumn(#"Merged Queries", "Tabelle2", {"ID"}, {"Tabelle2.ID"}),
   #"Added Conditional Column" = Table.AddColumn(#"Expanded {0}", "ID2", each if [ID] = [Tabelle2.ID] then null else [Tabelle2.ID] ),
   #"Removed Columns" = Table.RemoveColumns(#"Added Conditional Column",{"Tabelle2.ID"}),
   #"Removed Duplicates" = Table.Distinct(#"Removed Columns", {"Artikel"})
in
   #"Removed Duplicates"
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Top
#4
vielen vielen dank schonmal für die Antworten :)
Hier sind mal zwei Tabellen, wie es ungefähr aussieht.
Z.B.: Artikel G123 ist in Tabelle1 und Tabelle 2 gleich. Jetzt soll die ID2 (9) aus Tabelle 1 hinter die ID1 (6) in Tabele 2.
Dann steht schlussendlich in der Zeile: 999; G123; 6; 9

hoffe dadurch wird es ein bisschen verständlicher.
vielen dank im voraus
Top
#5
[
Bild bitte so als Datei hochladen: Klick mich!
]
[
Bild bitte so als Datei hochladen: Klick mich!
]
Top


Gehe zu:


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