[EXCEL] Text bereinigen

AwesomSTUFF

Rear Admiral
Registriert
Juli 2011
Beiträge
5.400
Moinsens,

also ich habe hier ein PDF mit einem Inhaltsverzeichnis. Ich möchte gerne die einzelnen Kapitelüberschriften im Excel haben. Pro Zeile ein Titel . Hab Mal die ersten zwei Zeilen als Bild angehängt.
Wenn ich das nun in EXCEL kopiere hab ich natürlich die ganzen Punkt-Platzhalter, Seitenzahlen und Kapitelnummern.
Ich bin mir realtiv sicher, dass man mit einer geschickten Verkettung von Funktionen bestimmt nur den Text herausbekommt.

Müsste ich das nur 1x machen, würde ichs manuell machen obwohl ich da eigentlich kaum Lust habe. Muss es aber bestimmt noch für 3-4 weitere PDFs machen.

"Helft mir, Obi-Wan Kenobi!"
Ich hoffe hier jemanden zu finden, dessen Kung-Fu stark genug ist um das aufzulösen.

LG
Screenshot 2024-08-30 135013.jpg
 
AwesomSTUFF schrieb:
Ich bin mir realtiv sicher, dass man mit einer geschickten Verkettung von Funktionen bestimmt nur den Text herausbekommt
ich würde das snippet tool in win 11 nehmen , Screenshot machen von den besagten stellen und dann Text Erkennung und mir dann alles rauskopieren oder andere Text Erkennung Software
1725019546155.png

keine Ahnung ob dir was bringt und ich das richtig verstanden habe aber alles in den screenshot an text wäre jetzt copy&paste möglich :D
 
Tool: Microsoft PowerToys - das Tool darin: Text Extractor (Shift+Windows+T)

Ich habe das gesamte weiße Feld mit Shift+Windows+T kopiert und so sieht es unbearbeitet in diesem Chat-Textfeld aus:

Inhalt
Geltungsbereich
Vertraulichkeit / Geheimhaltung

Und so sieht es unbearbeitet in Excel aus:

1725020359272.png



Tipp:
Je nach Auswahlgröße ändert sich das Ergebnis, da der Text Extractor dann bewerten kann, ob etwas "gehaltlos" ist. Wenn das Ergebnis nicht passt, einfach nochmals versuchen und das Auswahlfenster ändern.
 
  • Gefällt mir
Reaktionen: AwesomSTUFF
Wenn du die Zeichenketten ab A1 stehen hast die Formel danaben kopieren und runterziehen.
=TEIL(A1; MAX(WENNFEHLER(FINDEN("."; A1; ZEILE(INDIREKT("1:" & LÄNGE(A1)))); 0)) + 1; LÄNGE(A1))
 
  • Gefällt mir
Reaktionen: AwesomSTUFF
Probier mal mit
Code:
=TEXTTEILEN(A1;".")
funktioniert aber nicht, wenn du die "1." immer mit kopierst UND es auch so etwas wie 1.1 gibt.

EDIT:
Deshalb besser ".."
Code:
=TEXTTEILEN(A1;"..")

Könntest du den Text, den du oben als Bild eingefügt hast, hier als "Code" einfügen?
Dann wüsste man besser, welche Zeichen genau kopiert werden.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: AwesomSTUFF
Stubing schrieb:
Wenn du die Zeichenketten ab A1 stehen hast die Formel danaben kopieren und runterziehen.
=TEIL(A1; MAX(WENNFEHLER(FINDEN("."; A1; ZEILE(INDIREKT("1:" & LÄNGE(A1)))); 0)) + 1; LÄNGE(A1))
Hm ja nee, da bekomm ich zwar die Nummerierung weg, aber dann müsste ich irgendwie noch EXCEL sagen: lösch alles recht sobald das Zeichen ein PUNKT ist Screenshot 2024-08-30 150335.jpg

AI-Nadja schrieb:
Microsoft PowerToys
Danke, funktioniert auch soweit, dass ich wie bei @Stubing s Lösung die Punkte noch drin habe.
Screenshot 2024-08-30 150423.jpg

Ich könnte natürlich jeden Titel einzeln kopieren oder extracten, aber dann kann ichs auch abtippen.

Rexaris schrieb:
Probier mal mit
Code:
=TEXTTEILEN(A1;"..")
Die Funktion kennt mein Excel gar nicht 😱
 
Zuletzt bearbeitet:
StefanArbe schrieb:
ich würde suchen und ersetzen machen in excel
Ja ... warum eine Formel?
Man kann die Seitenzahlen sagen wir mal die sind maximal 2 stellig: =LINKS(A1;LÄNGE(A1)-2)
Dann kommt bei den 1-stelligen ein Punkt weniger raus, aber egal, oder?
Oder man löscht die on Hand, kommt auf die Menge drauf an.

Suchen nach . und ersetzen durch "" (also einfach nichts)
Fertig.
 
  • Gefällt mir
Reaktionen: BFF und just-me4
Ja, aber wirklich nur optional, würde die Zahlen wahrscheinlich von Hand löschen. Aber keine Formel , um die Punkte weg zu bekommen.
Letzten Endes kommt es auf die Datenmenge an.
 
Mit aktuellem Excel könnte auch ein PDF Import probiert werden.
 

Anhänge

  • Bildschirmfoto 2024-08-30 um 16.58.34.jpg
    Bildschirmfoto 2024-08-30 um 16.58.34.jpg
    156,5 KB · Aufrufe: 46
Also wenn es wirklich nur darum geht, ein paar Zahlen und Punkte zu entfernen, kann man auch die gewöhnliche "Suchen und ersetzen" Funktion (Strg+H) nutzen.

Wenn das nicht genug ist, gibt es bspw. "KuTools", welche die "Suchen und ersetzen"-Funktion erweitern und nach mehreren Argumenten gleichzeitig suchen kann. Man kann es sogar mit AI verwenden, sodass man nach "Zahlen", "Städten", "Obst", oder sonst was suchen kann.
https://de.extendoffice.com/product/kutools-for-excel.html

Kostenlos geht es natürlich auch, wenn man sich VBA zutraut.
Mit ChatGPT kann man sich den VBA Code sogar schreiben lassen...
Der AI-Hype ist eben kein Hype. Höchsten AI-Neuland, so wie das Internet für Boomer (und Millenials?) Neuland ist.
 
Moin!
Außer Konkurrenz (Excel 365 Insider) mal etwas ungewöhnliches:
=GLÄTTEN(REGEXEXTRACT(A1;"[a-zA-Z /]+"))
Screenshot1.png
 
  • Gefällt mir
Reaktionen: AwesomSTUFF
Wenn ich die Sachen "zu Fuß" machen wollte, würde ich doch hier nicht fragen. Weshalb hab ich doch auch erläutert.

BFF schrieb:
Welches Excel hast/benutzt Du?
Im Büro glaube 2010 aber ich habe 365 privat, probier ich aus.

ohmsl schrieb:
Entschuldige, aber inwiefern hilft mir das bei meinem Problem?

RPP63 schrieb:
Excel 365 Insider
Screenshot 2024-08-31 110407.png
Screenshot 2024-08-31 110433.png


@Rexaris
Deine Formel funzt unter 365 soweit, dass ich zumindest das bekomme:

Screenshot 2024-08-31 110728.png
 
Zuletzt bearbeitet:
Hab gerade keine Gelegenheit das zu testen, aber um die Kapitelnummern auch noch loszuwerden, müsste man nach dem ersten Leerzeichen suchen (FINDEN) und ab dem darauffolgenden Zeichen den rechten Teil (RECHTS) übernehmen.
 
AwesomSTUFF schrieb:
Wenn ich das nun in EXCEL kopiere hab ich natürlich die ganzen Punkt-Platzhalter, Seitenzahlen und Kapitelnummern.
Dann kopiere das eben nicht nach Excel…
…sondern schleuse es durch Word und bereinige es da bevor es nach Excel geht.
Mache ich ja auch.

CN8
 
Rexaris schrieb:
gerade keine Gelegenheit das zu testen
Jetzt habe ich das noch mal ausprobiert:
Code:
=TEXTTEILEN(RECHTS(A1;LÄNGE(A1)-FINDEN(" ";A1));"..";;WAHR)

Änderungen:
  • TEXTTEILEN hat noch das Argument "WAHR" erhalten, damit leere Inhalte ignoriert werden (erzeugt nicht so viele unnütze spalten)
  • Statt den kopierten Text direkt zu verarbeiten wird vorher mit der Kombination aus RECHTS, LÄNGE und FINDEN alles vor dem ersten Leerzeichen " " abgetrennt.
Dank des Hinweise von @kartoffelpü in einem anderen Thread geht das mit Office 365 auch einfacher:
kartoffelpü schrieb:
Ich würde textafter() / textnach() nutzen:
Code:
=TEXTNACH(TEXTVOR(A1;"..");" ")


1725259807492.png
 
Zuletzt bearbeitet:
Zurück
Oben