Meine Situation: Ich habe von einem Hersteller von Produkten für meinen Online-Shop eine riesige Excel-Tabelle erhalten. Dieses Format:
product ID | price | name | ...
Jede Woche schickt mir der Hersteller eine aktualisierte Liste mit neuen Produkten. Ich muss also wissen, welche Produkte in dieser Liste neu sind. Was ich also brauche, ist ein Code-Snippet, das Folgendes macht:
- Ich werde die alte Produktliste in Blatt 1 einfügen (manuell)
- Ich werde die neue Produktliste in Blatt 2 einfügen (manuell)
- Vergleichen Sie die Produkt-IDs von Sheet1 und Sheet2
- Fügen Sie die Produkte (Zeilen) aus der neuen Liste (Tabelle 2) in Tabelle 3 ein, die in der alten Liste (Tabelle 1) nicht vorhanden sind.
Das Ergebnis in Sheet3 wären also alle neuen Produkte. Ich hoffe, Sie können mich in die richtige Richtung lenken.
Grüße
Antwort1
Ich glaube, Sie könnten so etwas brauchen:
=VLOOKUP(Sheet1!A1:A100,Sheet2!A1:F100,6,FALSE)
Natürlich können Sie dies auch lösen, indem Sie VBA mit Schaltflächen und allen möglichen ausgefallenen Dingen verwenden.
Antwort2
Eigentlich würde ich es ganz anders machen, indem ich das PowerQuery-Add-In von Microsoft verwende, aber ich weiß nicht, wie gut das in Excel 2010 funktioniert (in Excel 2007 würde es nicht funktionieren). Damit können Sie Anfügeabfragen mit Gruppierung nach Ihrer Produkt-ID durchführen, sodass Sie eine eindeutige Liste erhalten.
Die andere Möglichkeit besteht darin, die Blätter in unterschiedlichen Dateien aufzubewahren und mit dem Excel-Abfragetool eine Join-Abfrage für die beiden Tabellen in einer neuen Tabelle auszuführen.
Sobald Sie Ihre neue Tabelle haben, speichern Sie sie in jedem Fall zur Vorbereitung auf die nächste Zusammenführung.
Antwort3
Fügen Sie in Sheet2
(aktualisierter Artikel) eine Spalte D hinzu, die prüft, ob das Produkt neu ist:
=MATCH(A2,Sheet1!$A:$A,0)>0
Fügen Sie eine Spalte E hinzu, die den TRUE
Werten in Spalte D eine eindeutige Kennung gibt
=D5&COUNTIF(D$2:D2)
Gehen Sie jetzt zu Sheet3
(den neuen Elementen) und fügen Sie beispielsweise in Spalte E eine Indexspalte mit den Werten TRUE1
, TRUE2
, TRUE3
usw. ein, und zwar so viele, wie Sie Ihrer Meinung nach jemals benötigen werden (wenn es beispielsweise eines Tages 20 neue Elemente gibt und Sie nur bis gegangen sind TRUE15
, werden Ihnen 5 Elemente fehlen).
Die neuen Artikel können Sie dann einbringen mit:
=INDEX(Sheet2!A:A,MATCH($E2,Sheet2!$E:$E,0))