excelrookie
Goto Top

Excel: Vor und Nachname aus zusammengeschriebener Zelle exportieren mittels Funktion

Liebe Community,

folgendes Problem hätte ich gerne gelöst:

HaroldKimball
LukeWolters
Gomez

Ich würde gerne Vor und Nachnamen aus obigen Beispielen exportieren.
Da aber teilweise nur Vornamen angegeben sind, soll (wenn kein Nachname vorhanden ist) auch nichts in der Zelle bei "Nachname" stehen.

Vielen Dank und lieben Gruß!

Content-Key: 571478

Url: https://administrator.de/contentid/571478

Printed on: April 16, 2024 at 15:04 o'clock

Member: Guenther45
Guenther45 May 13, 2020 at 19:25:44 (UTC)
Goto Top
@ certifiedit.net: Hmmm, mein Dictionary übersetzt Rookie mit "Anfänger". Haben wir da unterschiedliche Quellen?

@ TE: Wenn du Office 2019 oder 365 hast, dann geht das ganz gut mit Power Query (Daten | Abrufen und transformieren).
Member: excelrookie
excelrookie May 13, 2020 at 19:25:57 (UTC)
Goto Top
Das habe ich natürlich nicht bereits schon versucht und frage hier nur aus Jux und Tollerei ... :/
Member: excelrookie
excelrookie May 13, 2020 at 19:28:28 (UTC)
Goto Top
@Guenther45 werde ich mich mal mit beschäftigen - hast du da vielleicht eine empfehlbare Quelle ?
Member: falscher-sperrstatus
falscher-sperrstatus May 13, 2020 at 19:39:38 (UTC)
Goto Top
Würde dir lieber empfehlen dir einfach die Funktionen und Excel anzu schauen
Member: erikro
erikro May 13, 2020 updated at 19:51:21 (UTC)
Goto Top
Moin,

das geht in Excel nicht ohne VBA. Da da ja kein Leerzeichen zwischen Vor- und Nachname ist, kommt man mit den Textfunktionen nicht weiter. Ich würde die Daten daher, wenn möglich vor dem Import nach Excel massieren z. B. mit der Powershell. Die kann regex und auch direkt Exceldateien bearbeiten.

<edit>Ganz vergessen. Hier ein Link auf eine sehr schöne Zusammenstellung, wie das in VBA geht mit Code-Beispielen:
https://stackoverflow.com/questions/22542834/how-to-use-regular-expressi ... </edit>

Liebe Grüße

Erik
Member: Guenther45
Guenther45 May 13, 2020 updated at 20:21:02 (UTC)
Goto Top
Moin,
speziell zur Trennung kenne ich keine Quelle, aber einen Hinweis: Wenn du die Daten in Power Query importiert hast, dann gehe über Spalte teilen und du wirst fündig (ab Excel 2019).

Eine allgemeine Quelle zum Thema Power Query wäre beispielsweise www.excel-ist-sexy.de und dort beispielsweise für den allerersten Einstieg www.excel-ist-sexy.de/power-query-das-add-in/ und einige weitere Beiträge.

[EDIT]
@ erikro: Doch, es geht (ab 2019) mit Bordmitteln, ohne VBA/PowerShell/regex; siehe hierüber ...
Member: lcer00
lcer00 May 13, 2020 at 20:41:03 (UTC)
Goto Top
Hallo,

Da der TO ja schon ein fertiges VBASkript zum Stutzen seiner Daten hat: Zufällig getippte Stränge vor erstem großen Buchstaben löschen mittels Makros könntet Ihr ihm das doch am besten gleich dort einbauen.

Grüße

lcer
Member: excelrookie
excelrookie May 13, 2020 at 21:43:02 (UTC)
Goto Top
@Guenther45 habe mich da mal eingelesen, aber habe echt 0 Ahnung, wie ich mir da alles zusammenbastel.

@erikro irgendwie habe ich trotz hinzufügen der "Microsoft VBScript Regular Expressions 5.5" trotzdem keine regex Funktion erhalten.
Member: excelrookie
excelrookie May 13, 2020 at 21:45:53 (UTC)
Goto Top
Ich müsste halt "nur" definieren, dass der Vorname vom Beginn der Zelle bis zum Anfang des 2ten großen Buchstaben ist.
Nachname quasi dann von dem Buchstaben bis zum Ende der Zelle.

Hört sich vielleicht verständlich an, habe aber leider noch keine Lösung gefunden :/
Member: excelrookie
excelrookie May 13, 2020 updated at 23:18:00 (UTC)
Goto Top
=LINKS(A1;VERWEIS(99;FINDEN(ZEICHEN(ZEILE($65:$90));A1;2))-1)&" "&TEIL(A1;VERWEIS(99;FINDEN(ZEICHEN(ZEILE($65:$90));A1;2));99)

Das nutze ich derzeit - leider erhalte ich bei manchen #NV aber bei den gut der Hälfte geht es.

ArianneMilestrgs -> Arianne Milestrgs
SteveRossettian -> SteveRossettian (mit WENNFEHLER) und ohne -> #NV

Mittlerweile gebe ich es echt auf, hat da jemand vielleicht was?
Member: eisbein
eisbein May 14, 2020 at 04:15:21 (UTC)
Goto Top
Guten Morgen,

=LINKS(A1;VERWEIS(99;FINDEN(ZEICHEN(ZEILE($65:$90));A1;2))-1)&" "&TEIL(A1;VERWEIS(99;FINDEN(ZEICHEN(ZEILE($65:$90));A1;2));99)

Das nutze ich derzeit - leider erhalte ich bei manchen #NV aber bei den gut der Hälfte geht es.

Bei mir kommt kein Fehler. #NV kommt nur wenn die Zelle mit dem Namen leer ist oder nur 1 Großbuchstabe vorhanden ist!

Wie genau sieht denn die Formel aus, die bei SteveRossettian den Fehler verursacht?
Schau dir die Namen und die dazugehörigen Formeln noch mal genau an.

Gruß
eisbein

PS: Man kann den #NV Fehler auch analysieren - klick einfach in die #NV-Zelle und dann in das gelbe Rufzeichen ! - die 3. Auswahl (Berechnungs-Schritte anzeigen) gibt oft schlüssige Informationen
Mitglied: 144260
144260 May 14, 2020 updated at 14:19:24 (UTC)
Goto Top
Powershell is your friend
$quelle= 'D:\test.txt'  
$ziel = 'D:\out.csv'  
gc $quelle | %{[regex]::match($_.trim(),'([\p{Lu}][\p{Ll}]+(-[\p{Lu}][\p{Ll}]+)*)?([\p{Lu}][\p{Ll}]+(-[\p{Lu}][\p{Ll}]+)*)$') | select @{n='Vorname';e={$_.Groups[1].Value}}, @{n='Nachname';e={$_.Groups[2].Value}}} | export-csv $ziel -Delimiter ";" -NoType -Encoding UTF8  

screenshot
Member: Guenther45
Guenther45 May 14, 2020 at 11:22:16 (UTC)
Goto Top
Hmmm, es sieht so aus, dass Excel und du nie Freunde oder gar Vertraute werden.
Ich habe eben einmal deiner (spärlichen) 2 Namen mit Power Query verarbeitet. Nach dem Import in den Editor waren es genau 2 Mausklicks, und die beiden Namen waren korrekt auf dem Bildschirm sichtbar ...

Und da in den meisten Foren (aus gutem Grund und Gott sein Dank) nur Hilfe zur Selbsthilfe angeboten wird könntest du ja einmal darüber nachdenken, einen Dienstleister zu beauftragen. Wie gesagt, mit Excel 2019/365 ist das eine Sache von wenigen Minuten (einschließlich Import und schreiben der Daten).

Gruß
Günther