Registriert seit: 11.12.2016
Version(en): 2016
Hallo Experten,
ich habe folgendes Problem. Ich bekomme wöchentlich Auswertungen von zwei verschiedenen Firmen zugeschickt. Diese zwei Excel Tabellen muss ich zusammenführen. Dies möchte anhand von zwei Spalten machen die in beiden Tabellen vorhanden sind. In der ersten Spalte steht ein Datum mit Uhrzeit ( dd.mm.yyyy ; h:m -> keine Sekunden) und in der zweiten Spalte der Name der bei beiden Tabellen identisch ist aber mehrmals vorkommt zu unterschiedlichen Zeiten. Das Problem ist, da diese Auswertungen von zwei Firmen kommen ist des öfteren die Uhrzeit oft um 1-2 Minuten unterschiedlich und somit kann ich mit meinem Kenntnisstand diese Tabellen nicht mehr zusammenführen. Ich suche also nach einer Lösung das Excel von beiden Tabellen die Uhrzeit und den Namen vergleicht und die zusammenführt welche von der Uhrzeit her am geringsten auseinander sind und den identische Namen haben. Wichtig dabei manchmal fehlen auch Daten bei einer Firma und somit darf der zeitliche Unterschied maximal 5 Minuten betragen.
Ich hoffe ihr versteht das Problem.
LG
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
11.12.2016, 12:26
(Dieser Beitrag wurde zuletzt bearbeitet: 11.12.2016, 12:27 von WillWissen.)
Hi Knut, Zitat:Ich hoffe ihr versteht das Problem. einigermaßen, sicher bin ich mir aber (noch) nicht. Poste doch bitte einmal einen relevanten Tabellenausschnitt mit den beiden Tabellen. So 10 - 15 Datensätze sind ausreichend. In einer Nachbarspalte trage bitte händisch dein Wunschergebnis ein. So kannst du einen Tabellenausschnitt posten: http://www.clever-excel-forum.de/thread-47.htmlBitte keine ScrShots!
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 11.12.2016
Version(en): 2016
11.12.2016, 12:54
(Dieser Beitrag wurde zuletzt bearbeitet: 11.12.2016, 12:55 von Knut.)
Hab ich mir schon gedacht. Ich versuche es erstmal an einem kleinen Beispiel. Aus Datenschutzgründen kann ich keine direkten Auszüge posten.
Tabelle 1:
Uhrzeit - Name - Preis - ( hier sind weitere Spalten aber erstmal nicht relevant)
01.01.2016 13:01 - Wasser- "fehlender Wert aus Tabelle 2" - 01.01.2016 13:05 - Bier - "fehlender Wert aus Tabelle 2" - 01.01.2016 13:50 - Sekt- "fehlender Wert aus Tabelle 2" - 01.01.2016 15:12 - Bier - "fehlender Wert aus Tabelle 2" - 01.01.2016 16:15 - Wasser- "fehlender Wert aus Tabelle 2" - 01.01.2016 18:05 - Bier - "fehlender Wert aus Tabelle 2" -
Tabelle 2:
Uhrzeit - Name - Preis - ( hier sind weitere Spalten aber erstmal nicht relevant)
01.01.2016 13:04 - Wasser- 5 - 01.01.2016 13:05 - Bier - 7 - 01.01.2016 14:15 - Sekt- 8 - 01.01.2016 15:14 - Bier - 5 - 01.01.2016 16:16 - Wasser- 8 - 01.01.2016 18:07 - Bier - 4 -
Gewünschtes Ergebnis in Tabelle 1 nach dem Zusammenführen:
Uhrzeit - Name - Preis - ( hier sind weitere Spalten aber erstmal nicht relevant)
01.01.2016 13:01 - Wasser- 5 - 01.01.2016 13:05 - Bier - 7 - 01.01.2016 13:50 - Sekt- hier soll kein Wert auftauchen da die Differenz größer 5 Minuten ist - 01.01.2016 15:12 - Bier - 5 - 01.01.2016 16:15 - Wasser- 8 - 01.01.2016 18:05 - Bier - 4 -
So ich hoffe nun versteht man es :)
Registriert seit: 11.04.2014
Version(en): 2021
Hallo,
also ich würde das mit einem Makrodurchlauf organisieren.
1. Beide Tabellen in eine neue Tabelle untereinander kopieren 2. dann die Zeilen nach folgenden Kriterien in dieser Reihenfolge sortieren: Datum, Name, Uhrzeit 3. nun eine Schleife rückwärts über die Zeilen laufen lassen, die die Gleichheit des Namens untereinander liegender Zeilen und die Zeitdifferenz prüft 4. sind die Bedingungen erfüllt, wird die untere Zeile in die obere Zeile addiert und die untere Zeile gelöscht.
Soweit verstanden?
Gruß Günter aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Registriert seit: 11.12.2016
Version(en): 2016
(11.12.2016, 14:40)Glausius schrieb: Hallo,
also ich würde das mit einem Makrodurchlauf organisieren.
1. Beide Tabellen in eine neue Tabelle untereinander kopieren 2. dann die Zeilen nach folgenden Kriterien in dieser Reihenfolge sortieren: Datum, Name, Uhrzeit 3. nun eine Schleife rückwärts über die Zeilen laufen lassen, die die Gleichheit des Namens untereinander liegender Zeilen und die Zeitdifferenz prüft 4. sind die Bedingungen erfüllt, wird die untere Zeile in die obere Zeile addiert und die untere Zeile gelöscht.
Soweit verstanden? danke Glausius, also wie es theoretisch funktionieren soll verstehe ich. Schritt 1 und 2 habe ich bereits ausgeführt. Bei Punkt 3 fehlt mir das Wissen wie man so ein Makro schreiben muss. Über eine konkretere Antwort würde ich sehr freuen. lg
Registriert seit: 11.04.2014
Version(en): 2021
13.12.2016, 14:46
(Dieser Beitrag wurde zuletzt bearbeitet: 13.12.2016, 14:46 von Glausius.)
Hallo Knut, eigentlich ist das Makro recht schnell geschrieben, wenn die entsprechenden Spalten bekannt wären ( ), im Prinzip so: Code: For i = letzte_belegte_Zeile to erste_Zeile_nach_Überschrift Step - 1 If Cells(i, Datumspalte) = Cells(i - 1, Datumsspalte) and Cells(i - 1, Namensspalte) = Cells(i, Namenspalte) then If Cells(i - 1, Uhrzeitspalte) - Cells(i, Uhrzeitsspalte <= gewählte_Zeitdifferenz then Cells(i - 1, Wertespalte) = Cells(i - 1, Wertespalte) + Cells(i, Wertespalte) Rows(i).Delete Shift:=xlUp End If End If Next
Wenn es einen Tabellenausschnitt gäbe, könnten die Zellen-/Spaltennamen richtig angepasst werden... ACHTUNG! Bei der Berechnung der Zeitdifferenz die Zeitenanzeige und -berechnung von Excel beachten!
Gruß Günter aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Registriert seit: 10.04.2014
Version(en): 2016 + 365
23.12.2016, 14:28
(Dieser Beitrag wurde zuletzt bearbeitet: 23.12.2016, 14:29 von Rabe.)
Hi Knut, erläuternd zu dem, was Günter schrieb: (13.12.2016, 14:46)Glausius schrieb: Wenn es einen Tabellenausschnitt gäbe, könnten die Zellen-/Spaltennamen richtig angepasst werden... Auch wenn die Originaldaten nicht veröffentlichbar sind, kann das, was in Deinem früheren Beitrag steht auch in eine Tabelle an die richtige Position eingefügt werden und dann diese Excel-Tabelle hier gezeigt werden, siehe die als Wichtige Themen: markierten Forums-Beiträge. Deine Mustertabelle sollte mindestens etwa 10-15 Datensätze haben, sensible Daten anonymisiert. Vom Aufbau her muss sie aber deinem Original gleichen. Auch ein Wunschergebnis sollte dargestellt und als solches erkennbar sein. Die farbigen Texte sind anklickbare Links: Hier steht, wie es geht: Beitrag 2 WICHTIG: Arbeitsmappen zur Verfügung stellenBeitrag 3 WICHTIG: Tabellenausschnitte und VBA-Codes im Forum einstellen
|