Excel: Phrasen vergleichen und ggf. verketten

Hallo,

in einer Spalte stehen verschieden Phrasen untereinander, die jeweils mit einem Datum beginnen, z.B. „01.03.02 Schering“. In der nächsten Zeile steht dann entweder eine ganz andere Phrase (z.B. „01.07.02 Siemens“) oder aber sie beginnt mit dem gleichen Datum (z.B. „01.03.02 ThyssenKrupp“). Sofern beide mit dem gleichen Datum beginnen, soll aus „01.03.02 Schering“ in Feld A1 und „01.03.02 ThyssenKrupp“ in Feld A2 „01.03.02 Schering ThyssenKrupp“ in Feld B1 werden.

So weit so gut. Schwierig wird es jetzt, weil nicht nur 2x nacheinander, sondern beliebig oft eine Phrase in der nächsten Zeile mit dem gleichen Datum beginnen kann wie in der jetzigen. Sofern in A3 beispielsweise „01.03.02 Siemens“ steht, soll in Feld B1 dann „01.03.02 Schering ThyssenKrupp Siemens“ erscheinen.

Hast du eine Idee (Excel 2000)? Ich komme hier nicht weiter, habe aber spontan erst mal an die Verweis-Funktion gedacht. In jedem Fall sollte es eine Formel-Lösung sein und nicht mit Makros, weil ich nur das erstere nachvollziehen und bei Variation der Aufgabenstellung neuen Bedürfnissen anpassen kann.

Gruß
Jörg

Hallo Jörg,

mein Vorschlag: in 3 Stufen vorgehen:

  1. Deine Daten stehen in Spalte A ab Zeile 2

  2. In Spalte B passiert der erste Schritt:
    In B2 kommt die Formel:
    =WENN(LINKS(A2;8)LINKS(A1;8);A2;VERKETTEN(B1;" ";RECHTS(A2;LÄNGE(A2)-9)))
    Die Formel runterkopieren.
    Zeile für Zeile bauen sich die Strings auf. Bei neuem Datum wird neuer String angefangen.

  3. In Spalte C passiert der zweite Schritt:
    In C2 kommt die Formel:
    =WENN(ISTFEHLER(SUCHEN(B2;B3;1));B2;"")
    Die Formel runterkopieren.
    Die unvollständigen Strings werden ausgeblendet.

  4. Kopiere Spalte C und füge die Werte in Spalte D ein. Daten Sortieren. Fertig.

Den dritten Schritt kann man auch über eine Pivot-Tabelle lösen. Dann mußt Du nur „Daten aktualisieren“

Bin gespannt, wer eine elegantere Lösung hat.

Gruß,
Philipp

Hallo Philipp,

also für meinen Geschmack ist die Lösung schon recht elegant.

Allerdings gibt es noch ein kleines Problem beim Sortieren im 3. Schritt: Da es sich jetzt nicht um ein Datumsformat handelt, sortiert er nicht wie ein Datum und die Phrasen stehen nach Abschluß des Sortiervorgangs nicht in der richtigen Reihenfolge. Selbst wenn ich die Daten per =TEIL(D2;1;8) in Spalte E und =TEIL(D2;10;25) in Spalte F noch mal auseinanderziehe und denen in Spalte E ein Datumsformat zuweise, lassen sie sich anschl. immer noch nicht sortieren, weil die Zuweisung des Datumsformat irgendwie nicht klappt (wenn man auf eine einzelne Zelle klickt, steht da beispielsweise 02.02.02 in der Statusleiste genauso wie in der Zelle, wogegen 02.02.2002 erscheint, wenn ich in einer vorher unbearbeiteten Zelle 02.02.02 eingebe).

Gruß
Jörg

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Jörg,

Problem erkannt. Das macht das ganze ein wenig umständlicher.
Neuer Vorschlag: in 5 Stufen vorgehen.
(Die Formeln sind für die Zeile 2 vorgegeben und müssen in die darunterliegenden Zeilen kopiert werden.)

  1. Spalte A
    Ausgangsdaten ab Zeile 2

  2. Spalte B
    Formel: =DATUM(TEIL(A2;7;2);TEIL(A2;4;2);TEIL(A2;1;2))
    Ergebnis: Datum extrahiert.

  3. Spalte C
    Formel: =WENN(B2B1;RECHTS(A2;LÄNGE(A2)-9);VERKETTEN(C1;" ";RECHTS(A2;LÄNGE(A2)-9)))
    Ergebnis: Zeile für Zeile bauen sich die Strings auf. Bei neuem Datum wird neuer String angefangen. Das Datum ist nicht Bestandteil der Strings.

  4. Spalte D
    Formel: =WENN(B2=B3;"";B2)
    Ergebnis: Nur das jeweils letzte Datum einer Gruppe aufeinanderfolgender identischer Daten (Datums) wird noch angezeigt.

  5. Spalte E
    Formel: =WENN(ISTFEHLER(SUCHEN(C2;C3;1));C2;"")
    Ergebnis: Die unvollständigen Strings werden ausgeblendet.

  6. Spalten F und G
    Kopiere Spalten D und E und füge die Werte ab Spalte F ein. Daten nach Spalte F sortieren. Fertig.

Den letzten Schritt kann man auch über eine Pivot-Tabelle lösen. Dann mußt Du nur „Daten aktualisieren“.

Gibt es wirklich keinere elegantere Lösung?

Gruß,
Philipp

PS.: Auf Wunsch kann ich Dir das ganze in einer Beispieldatei schicken. PM genügt.

Hallo Philipp,

ich komme auf die Beispiel-Datei ggf. nochmal zurück. Vorläufig ist das nicht so aktuell, weil ich das Problem einfach umgangen habe, indem in die deutsche Datumsformatierung „30.01.02“ in die englische „02/01/30“ geändert habe. Dann erhält man zum Schluß beispielsweise „02/01/30 Commerzbank“ und das läßt sich dann natürlich problemlos sortieren.

Ich möchte aber gerne noch einen draufsetzten und diesen Ausdruck in „I 02/01/30 Commerzbank“ verwandeln, „02/02/19 Quiagen Volkswagen“ in „II 02/02/19 Quiagen Volkswagen“ und „02/03/05 Dt.Telekom FMC Henkel“ in „III 02/03/05 Dt.Telekom FMC Henkel“. Vielleicht fällt dir hierzu noch was ein. Die Aufgabenstellung habe ich im Einzelnen weiter oben unter der Überschrift „Phrasen je nach Umfang ihres Inhalts ergänzen“ gepostet.

Gruß
Jörg

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]