Excel 2010: Wie kann ich nach einem String nach einem Whitespace (Space oder Zeilenvorschub) suchen?

Hallo,

Ich muss aus einer Excel-Tabelle die Namen von Dateien heraussuchen.

  • Dateinamen haben unterschiedliche Länge,
  • Dateiname beginnt an unbekannter Position innerhalb einer Zelle,
  • Start des Dateinamens kann mithilfe "Attachment: " als Markierung gefunden werden.

Hinter jedem Dateinamen kommt entweder ein Leerzeichen oder ein Zeilenvorschub.

Wenn ich rein vom Check der Tabelle her sehe, dass es sich um ein Leerzeichen handelt, finde ich das Ende des Dateinamens, indem ich die Position des ersten Leerzeichens hinter der Markierung mit der Markierung als Offset suchen lasse und der Dateiname ist dann dazwischen (hinter Markierung und vor dem Leerzeichen).
Dasselbe gilt, wenn ich sehe, es handelt sich um einen Zeilenvorschub (d.h. der Text in der Zelle geht noch weiter und wird über die nächste Zeile umgebrochen). Ich kann also obiges Verfahren statt mit Leerzeichen auch mit Zeilenvorschub anwenden.

Aber was mache ich nun, da die Tabelle ziemlich gross ist und ich das nicht alles händisch machen kann, wenn hinter dem Zeilenname unbekannterweise ein Leerzeichen oder ein Zeilenvorschub sein kann - wie finde ich dann sozusagen mit „entweder suche nach dem nächsten Leerzeichen hinter dem Dateinamen oder, falls das nächste Whitespace ein Zeilenvorschub ist, suche nach dem ersten Zeilenvorschub“. Ich müsste also statt nach „Space“ oder „Newline“ nach „Whitespace“ suchen kann, was ein dummy für beides ist.

Hoffe, es ist klar, was mein Problem ist.

Danke Euch für jeden Tipp!

Grüsse,
Crypto.

Hallo @CryptoLogic,
gerade habe ich einen Artikel gefunden in dem beschrieben ist wie man Reguläre Ausdrücke für Excel verwenden kann. Das könnte die Lösung für Dein Problem sein. Leider ist der Artikel englisch. Ebenfalls leider habe ich hier kein Excel verfügbar, mit dem ich testen kann, aber einen Versuch sollte es Wert sein.
Andernfalls müsstest Du eine Funktion mit Left, Right oder Mid für Deine Bedürfnisse bauen.
Viel Erfolg & Gruß,
charly60

Moin,

was soll passieren, wenn der Dateiname Leerzeichen enthält? Die Extension könnte Dich retten; wenn die nicht mitkommt, hast Du eh verloren.

Gruß Ralf

Zwecks Denkpause hier die Verlängerung:

Andernfalls suchst Du nach dem Punkt, und fertig ist die Laube.

Gruß Ralf

Hallo,

geht bestimmt einfacher, aber so hab ich es zusammengebastelt (Eintrag steht in A1):

=LINKS(GLÄTTEN(TEIL(A1;FINDEN(„Attachment:“;A1)+LÄNGE(„Attachment:“);9999));FINDEN(" „;GLÄTTEN(TEIL(A1;FINDEN(„Attachment:“;A1)+LÄNGE(„Attachment:“);9999));FINDEN(“.";GLÄTTEN(TEIL(A1;FINDEN(„Attachment:“;A1)+LÄNGE(„Attachment:“);9999))))-1)

Hab dann mal Versuche gemacht, was ein Zeilenumbruch nach der Extension ausmacht. Ich habe keinen Unterschied bemerkt. Mag sein, dass die verwendeten Textfunktionen das ignorieren.

Sollten es immer Dateien mit gleicher Erweiterung sein, geht es erst recht bestimmt einfacher…

fg

Dirk_P

Hallo charly060,

danke für den Link - REXP wären für mich manchmal auch an anderer Stelle in Excel interessant.

Allerdings habe ich inzwischen noch eine andere Lösung gefunden:

Aus der Zelle werden umittelbar vor der Suche einfach die Zeilenvorschübe/Returns durch Leerzeichen ersetzt. Dann kann ich also nach dem ersten Leerzeichen nach dem „tag“ suchen und lande damit hinter dem Dateinamen.

Die Dateinamen enthalten keine Leerzeichen, daher wird’s damit keine Probleme geben.

Grüsse,
Crypto.

Hallo Ralf,

der Punkt aus der Extension ist nicht dabei, und die Extension an sich auch nicht. Leider! Wird sich allerdings in zukünftigen Versionen des Dokuments noch ändern. Bis dahin muss ich so klarkommen.

Crypto.

Hallo Dirk,

der Trick besteht darin - so hab ich es jetzt gelöst - die Zeilenumbrüche zu ersetzen durch Leerzeichen und dann nach dem ersten Leerzeichen nach dem „tag“ (also "Attachment: ") zu suchen. Das schliesst dann den Dateinamen mit ein. Da die Extension nicht im Text steht, wird die leider nicht mitgeliefert, das muss ich später noch händisch ergänzen.

Danke für die Formel, ich schaue mal, ob das nicht anderweitig noch hilfreich wäre.

Crypto.