Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1896to1900
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

zwei Zelleinträge -> zwei Zeilen

zwei Zelleinträge -> zwei Zeilen
31.08.2022 13:19:23
Wolfango
Hallo Experten,
folgendes: In einer Spalte einer Tabelle befinden sich Personennamen. Meistens ist es ein Name, leider ab und zu auch zwei Namen gleichzeitig (alles getrennt durch Semikola, sowohl zwischen Vorname/Zuname als auch zwischen verschiedenen Namen).
Diese Tabelle möchte ich nun (via Formeln!) in eine neue Tabelle überführen, in welcher dann der Name in der Spalte nur einmal vorkommt. Aus einer Zeile mit zwei Namen müssen also zwei Zeilen erzeugt werden.
Das verlinkte Beispiel soll verdeutlichen was genau passieren soll.
Ich meine mich zu erinnern, dass das irgendwie geht....bekomme es aber nicht mehr hin...
Bitte Hilfe...Danke!!!!
Wo
Beispiel:
https://www.herber.de/bbs/user/154896.xlsx

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zwei Zelleinträge -> zwei Zeilen
31.08.2022 13:29:14
Daniel
Hi
btw: Semikolon ist das: ;
du verwendest in der Datei aber Kommas, die sehen so aus: ,
wenn die Daten so vorliegen wie dargestellt, wirds schwierig da was zu machen.
solange es nicht eindeutig ist, ob das Komma jetzt trennt oder nicht, musst du von Hand die Liste überarbeiten.
Es sei denn, du kannst eine Regel formulieren, an der erkannt werden kann, ob ein Komma jetzt trennen soll oder nicht.
Aber selbst wenn, sehe ich eine Lösung eher mit VBA als mit Formeln.
Gruß Daniel
AW: zwei Zelleinträge -> zwei Zeilen
31.08.2022 13:37:52
Wolfango
...es sind durchweg Kommas in der Datei und nirgendwo semikolas (sorry für Widerspruch).
Anzeige
AW: diese Aussage hilft nicht wirklich, s.u. owT
31.08.2022 13:42:06
neopa
Gruß Werner
.. , - ...
AW: zwei Zelleinträge -> zwei Zeilen
31.08.2022 13:44:00
Daniel
macht nix.
solange nicht eindeutig ist, ob das Zeichen, egal ob Komma oder Semikolon, eine neue Zeile erzeugen soll oder nicht, wird's schwierig hier was automatisiert zu machen.
Gruß Daniel
AW: zwei Zelleinträge -> zwei Zeilen
31.08.2022 13:54:53
Wolfango
...nun ja, die Eindeutigkeit besteht darin, dass es immer genau das zweite Komma ist, welches zwei Namen trennt. Kann man damit was machen?
AW: Deine Datentrennung ist uneinheitlich ...
31.08.2022 13:31:57
neopa
Hallo Wolfgang,
... wenn Du teilweise ein Komma als Trennzeichen zwischen Nachname und Vorname hast und die Trennung zwischen zwei (oder evtl. auch mehreren?) Personen auch mit Komma zu stehen hast ist eine logische eindeutige Trennung wie von Dir gewünscht nicht möglich. Es sollte die Trennung zwischen zwei Personen mit einem anderen Trennzeichen vorliegen.
Gruß Werner
.. , - ...
Anzeige
AW: Deine Datentrennung ist uneinheitlich ...
31.08.2022 14:00:17
Wolfango
....einheitlich ist, dass es immer genau das zweite Komma ist, welches die Namen voneinander trennt. Hilft das?
Oder lässt sich das jeweils zweite Trennzeichen via (automatisch startendem) Makro in ein anderes Trennzeichen wandeln?
AW: so eindeutig, wenn ...
31.08.2022 14:23:44
neopa
Hallo Wolfango,
...max zwei Namen zu trennen sind. Denn bei dem zweiten Namen hast Du keine Komma zwischen Vor- und Nachname.
Habe selbst kein XL365 womit eine Formellösung sicherlich auch realisierbar ist.
Es gibt aber eine Lösung ganz ohne Formeln und auch ohne VBA und zwar mit der Power Query (PQ) Funktionalität, die bereits ab XL2016 in Excel integriert ist.
(M)ein Lösung damit sieht z.B. im (interaktiv erstellten) M-Code wie folgt aus:

let
Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
#"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Spalte A", type text}, {"Spalte B", type text}, {"Spalte C", type text}}),
#"Spalte nach Trennzeichen teilen" = Table.SplitColumn(#"Geänderter Typ", "Spalte B", Splitter.SplitTextByDelimiter(", ", QuoteStyle.Csv), {"Spalte B.1", "Spalte B.2", "Spalte B.3"}),
#"Zusammengeführte Spalten" = Table.CombineColumns(#"Spalte nach Trennzeichen teilen",{"Spalte B.1", "Spalte B.2"},Combiner.CombineTextByDelimiter(", ", QuoteStyle.None),"Spalte B.1"),
#"Ersetzter Wert" = Table.ReplaceValue(#"Zusammengeführte Spalten"," ",", ",Replacer.ReplaceText,{"Spalte B.3"}),
#"Entpivotierte andere Spalten" = Table.UnpivotOtherColumns(#"Ersetzter Wert", {"Spalte A", "Spalte C"}, "Attribut", "Wert"),
#"Hinzugefügter Index" = Table.AddIndexColumn(#"Entpivotierte andere Spalten", "Index", 1, 1, Int64.Type),
#"Pivotierte Spalte" = Table.Pivot(#"Hinzugefügter Index", List.Distinct(#"Hinzugefügter Index"[Attribut]), "Attribut", "Spalte A"),
#"Neu angeordnete Spalten" = Table.ReorderColumns(#"Pivotierte Spalte",{"Spalte B.1", "Wert", "Spalte C", "Index", "Spalte B.3"}),
#"Nach unten gefüllt" = Table.FillDown(#"Neu angeordnete Spalten",{"Spalte B.1"}),
#"Umbenannte Spalten" = Table.RenameColumns(#"Nach unten gefüllt",{{"Spalte B.1", "Spalte A"}, {"Wert", "Spalte B"}}),
#"Entfernte Spalten" = Table.RemoveColumns(#"Umbenannte Spalten",{"Index", "Spalte B.3"})
in
#"Entfernte Spalten"
Geht sicherlich noch kürzer, aber es tut es auch so.
Gruß Werner
.. , - ...
Anzeige
AW: zwei Zelleinträge -> zwei Zeilen
31.08.2022 15:32:05
Wolfango
Danke allen fürs Nachdenken!!
Die Variante über Powerquery ist mir bekannt, es soll aber möglichst eine Formellösung werden.
Wenn ich es richtig verstanden habe, ist das Problem die nichteindeutige Trennung.
Mit viel Lesen und Denken habe ich eine Formellösung gefunden, die das Komma zwischen Vorname und Nachname belässt und das Komma zwischen zwei Personen durch ein Semikolon ersetzt (mit der Funktion WECHSELN)....siehe neuer Link:
https://www.herber.de/bbs/user/154901.xlsx
Im Beispiel habe ich das mal für bis zu vier Personennamen gemacht (Verschachtelungenmöglich), dass lässt sich dann noch fortsetzen.
Nach wie vor bleibt für mich aber die Frage offen, wie nun aus einer Zeile zwei Zeilen werden können (siehe gewünschtes Ergebnis im Link)?
Wo
Anzeige
AW: zwei Zelleinträge -> zwei Zeilen
31.08.2022 15:58:53
Daniel
Hi
noch ne Frage:
du hattest geschrieben: "...nun ja, die Eindeutigkeit besteht darin, dass es immer genau das zweite Komma ist, welches zwei Namen trennt. Kann man damit was machen?"
aber jetzt tauchen auf einmal Zeilen auf, die drei Namen haben.
bisher hattest du immer von maximal 2 Namen geschrieben. Welche Überraschungen hast du noch auf Lager?
Bitte beschreibe die Aufgabe so exakt wie möglich.
Es hilft nichts, wenn du die Aufgabe vereinfacht darstellst, denn vereinfachte Aufgaben benötigen meistens auch nur vereinfachte Lösungen, die dann mit der eigentlichen Aufgabe nicht funktioinieren.
Gruß Daniel
Anzeige
AW: zwei Zelleinträge -> zwei Zeilen
31.08.2022 16:13:38
Wolfango
...vielmals Pardon!! Ich gebe Dir absolut recht! Exaktheit ist das A und O des Austausches hier. Dass es mehr als zwei Namnen sein können habe ich selbst gerade erfahren und mir erlaubt dies in meinem Demo-Beispiel direkt zu berücksichtigen.
Also, zwei oder mehrere (macimal sechs) Personen nun via Formel getrennt durch Semikola.
Gruß, Wo
AW: zwei Zelleinträge -> zwei Zeilen
31.08.2022 16:14:50
Daniel
hier jetzt mal ein Lösungsansatz für die Variante mit den eindeutigen Trennern.
solange Excel noch keine Funktion zum Trennen von Texten hat, muss man hierfür das etwas sperrige xmlfiltern verwenden.
https://www.herber.de/bbs/user/154902.xlsx
Gruß Daniel
Anzeige
AW: zwei Zelleinträge -> zwei Zeilen
31.08.2022 16:29:15
Wolfango
"etwas sperrig" ist da wohl zutreffend...
Aber sie tut was sie soll!
(werde noch überlegen, ob ich die Syntax verstehen muss, oder die Formel einfach benutze...)
Vielen herzlichen Dank!!!
Wo
AW: zwei Zelleinträge -> zwei Zeilen
31.08.2022 16:34:06
Daniel
Hi
wie xmlfiltern zum texttrennen funktioniert, ist hier beschrieben:
http://www.excel-ticker.de/xmlfiltern-zum-aufteilen-von-text-verwenden/
kompliziert ist es eigentlich nicht, man muss halt nur verstehen, dass die einzelnen Textteile nicht Trennzeichengetrennt sein müssen, sondern zwischen HTML-Tags stehen müssen und man dann noch einen HTML-Tag um das ganze braucht.
Gruß Daniel
Anzeige
AW: hierzu festgestellt ...
31.08.2022 18:06:04
neopa
Hallo Wolfango,
... Deine WECHSELN() Formeln berücksichtigen offensichtlich noch nicht Ausnahmen. Z.B. angenommen Du ergänzt die Namen in B5 mit: ", Habeck, Robert" dann erkennst Du, was ich meine. Korrekte Datenerfassung ist und bleibt das A und O jeglicher Auswertung.
In Deiner Zielvorgabe hast Du übrigens unseren Kanzler einmal zu wenig als Text_6 gelistet. Was das wohl für Auswirkungen haben kann ;-)
Und wenn eine "saubere" Datenerfassung mit ";" zwischen den Namen vorliegt, plädiere ich weiterhin für eine PQ-Auswertung. Diese ist etwas anders (einfacher) als die bereits aufgezeigte, berücksichtigt dann auch mehrere Namen korrekt.
Gruß Werner
.. , - ...
Anzeige
AW: hierzu festgestellt ...
01.09.2022 15:03:57
Wolfango
Danke für die Anmerkungen!
Die beiden genannten Dinge sind Flüchtigkeitsfehler im von mir konstruierten Beispiel (worüber ich mich immer sehr ärgere, nun ich versuche daraus zu lernen...).
- Die Ausgangsdaten werden (im realen Anwendungsfall) automatisch generiert und da fehlt dann (hoffentlich) kein Komma.
- Und ja, den Datensatz für Herrn Scholz habe ich schlicht vergessen im gewünschten Ziel-Szenario (und dass die namensgleiche Person auch schon mal was vergisst, soll das nicht entschuldigen...)
Herzlichen Dank fürs genaue Hinschauen!
Wo
AW: bitteschön owT
06.09.2022 16:57:24
neopa
Gruß Werner
.. , - ...
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige