Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel: Text nach maximal 40 Zeichen trennen

Excel: Text nach maximal 40 Zeichen trennen
09.03.2019 11:18:40
Andre
Hallo,
ich habe für unseren Shop eine Artikelkurzbezeichnung.
Diese müsste ich nach maximal 40 Zeichen wortgenau trennen. Dh ich bräuchte eine Lösung quasi:
Spalte A: Webshoptext
Spalte B: Zähle bis 40 Zeichen und trenne ab dem letzten Leerzeichen vor den 40 Zeichen.
Spalte C: Mach da weiter, wo in Spalte B getrennt wurde.
Ist das irgendwie umzusetzen?
Danke!
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Excel: Text nach maximal 40 Zeichen trennen
09.03.2019 11:19:43
Andre
Ach ja Ergänzung: Wenn der Text in Spalte A kürzer als 40 Zeichen ist, soll natürlich trotzdem in Spalte B der Text von A komplett ausgegeben werden
AW: Excel: Text nach maximal 40 Zeichen trennen
09.03.2019 11:33:34
Matthias
Hallo
Du meinst so ?
Tabelle1

 FGHI
3WebshopText mit mehr als vierzig Zeichen steht hier in der Zelle WebshopText mit mehr als vierzig Zeichensteht hier in der Zelle
464 4023

Formeln der Tabelle
ZelleFormel
F4=LÄNGE(F3)
H4=LÄNGE(H3)
I4=LÄNGE(I3)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Das hab ich mit Daten Text in Spalten so eingerichtet.
Gruß Matthias
Anzeige
AW: Excel: Text nach maximal 40 Zeichen trennen
09.03.2019 11:38:27
Andre
Hi,
ja im Prinzip schon. Nur ich dachte Text in Spalten trennt nicht wortgenau?
Du weißt aber wieviele Zeichen Du willst ...
09.03.2019 12:14:30
Matthias
Hallo
Das war ja auch nur ein erster genereller Vorschlag ...
Du kannst Text in Spalten benutzen, wie dargestellt.
Userbild


Userbild
Einfach die unerwünschten Pfeile per Doppelklich entfernen.


Userbild


Anzeige
AW: Du weißt aber wieviele Zeichen Du willst ...
09.03.2019 12:16:59
Andre
Das hilft mir nicht wirklich. Ich hab eine Excel mit knapp 500.000 Textzeilen. Ich brauche eine einfache Formel, die mir das oben genannte realisiert.
Alternative ...
09.03.2019 12:41:52
Matthias
Hallo
Du willst 500.000 Textzeilen mit Formeln bedienen? Wow!
Versuchs mal mit den Formeln ...
  • =Links()

  • =Teil()

  • =Rechts()

  • ... in Verbindung mit dem Suchen/Finden von Leerzeichen.
    Anzeige
    AW: Alternative ...
    09.03.2019 12:57:46
    Andre
    Ich habs mal so probiert, aber hab hier noch zwei probleme:
    A: Text
    B: =LINKS(A2;FINDEN(" ";A2;40))
    C: =WECHSELN(A2;B2;"")
    Nur leider habe ich dann in Spalte C teilweise mehr als 40 Zeichen und wenn Spalte A weniger als 40 Zeichen hat, kommt in Spalte B kein Ergebnis...
    AW: Alternative ...
    09.03.2019 13:01:52
    Günther
    Mir fehlen die passenden Worte; ich lebe in der falschen Zeit :-(
    Einen Webshop mit einer halben Millionen Artikeln betreiben und dann nicht so viel A... in der Hose haben, einen professionellen Dienstleister für ein (zugegebenermaßen kleines) Makro/VBA-Programm zu beauftragen. Eine Punktlandung für den Werbespruch des Kaufhauses Saturn, der ab ab Oktober 2002 die Gemüter bewegte.
    Günther
    Anzeige
    warum sendest Du Deine Antworten immer an mich :-(
    09.03.2019 13:11:01
    Matthias
    .
    AW: warum sendest Du Deine Antworten immer an mich :-(
    09.03.2019 13:15:51
    Günther
    IMMER?
    Ist mir nicht bewusst. Ich habe einfach auf den letzten Beitrag geantwortet. Und dass der TE gemeint ist, versteht sich doch von alleine, oder? - Und ehrlich gesagt, ich habe keine Lust, wegen der recht individuellen Struktur der Foren-Soft andauernd hin und her zu klicken und dann doch nicht da zu landen, wo ich hin will ...
    Also, nimm es bitte nicht persönlich ...
    Gruß
    Günther
    Anzeige
    und ich habe keine Lust immer ...
    09.03.2019 13:26:35
    Matthias
    Ich habe keine Lust immer Beiträge zu lesen die nicht an mich gerichtet sind,
    denn wenn Du sie an meine Beiträge anhängst denke ich auch das sie an mich gerichtet sind!
    Gestern schon:
    Userbild
    Wenn Du mit der, Zitat:individuellen Struktur der Foren-Soft nicht zufrieden bist
    dann musst Du Dich bei Hans.W.Herber äußern, nicht bei mir.
    Gruß Matthias
    Anzeige
    OT: Naja, so etwas kann halt passieren, wenn ...
    09.03.2019 15:08:14
    Luc:-?
    …man nicht darauf achtet, wo man gerade im Thread steht, und im Eifer des Gefechts die eigene AW gleich nach dem zuletzt Gelesenen eintippt, Günther (& Matti);
    passiert mir auch manchmal.
    Es gibt ja Baumstruktur-Foren, bei denen SekundärAWen erst mal eingeklappt sind und zu jeder AW eigene AW-Buttons existieren. Mehr Hilfestellung dürfte dann auch nicht möglich sein. Hier wurde aber auf derartigen Aufwand verzichtet und das AW-Formular steht jederzeit bereit → für die zuletzt (!) angezeigte AW. Also muss man ggf auf deren Kopf, indem der BT verlinkt ist, auf den gerade geantwortet wurde, klicken, um an die richtige Stelle im Baum zu gelangen.
    Gruß, Luc :-?
    „Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
    Anzeige
    Nun, für sowas gibt's schon seit vielen Jahren ...
    09.03.2019 15:44:56
    Luc:-?
    …eine UDF (TxRows) im Archiv, André,
    die alle logischen Trennmöglichkeiten unmittelbar vor bzw auf einer angegebenen TeilText-MaximalLänge berücksichtigt und an diesen Stellen harte ZeilenUmbrüche einfügt. Wenn man stattdessen die Teile in eigenen Zellen haben will, kann man nachträglich Text-in-Spalten oder gleich eine weitere UDF auf Basis der vbFkt Split (zB VSplit aus dem Archiv) verwenden: =VSplit(TxRows(A1;40);ZEICHEN(10))
    Da es sich aber um sehr viele Texte handelt, wäre eine SubProzedur wohl angebrachter. Aber auch in der kann man TxRows, dann in Kombination mit Split, anwenden: Const maxTTL As Long = 40 Dim avTxt, zTxt As Range For Each zTxt In Intersect(ActiveSheet.Columns(1), ActiveSheet.UsedRange) avTxt = Split(TxRows(zTxt, maxTTL), vbLf) zTxt.Resize(0, UBound(avTxt) + 1 - LBound(avTxt)) = avTxt Next zTxt Ggf kann man sich an der UDF auch nur orientieren, um ein eigenes Pgm zu schreiben.
    ArchivLinks:
    TxRows https://www.herber.de/bbs/user/61870.xls (BspDatei, bzw BT →) https://www.herber.de/cgi-bin/callthread.pl?index=1084680#1085532
    VSplit (Vs1.1) https://www.herber.de/bbs/user/99024.xlsm (BspDatei)
    Gruß, Luc :-?
    „Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
    Anzeige
    OT: Mit meiner UDF-Fml komme ich ...
    10.03.2019 02:06:45
    Luc:-?
    …auf eine günstigere Ausnutzung der maximalen TeilTextLänge, Walter,
    was hier wohl daran liegen mag, dass neine UDF ohnehin bei Zeilenumbruch überflüssig werdende Leerzeichen gar nicht erst mitzählt. Statt der Längen {77;73;79;74;78;74;79;54} bei eurem Ergebnis erhalte ich so {77;80;75;77;75;77;77;50} Zeichen. Bei einer maxi­malen TeilTextLänge von 40 wären es dann {37;39;37;35;38;40;40;39;36;38;38;38;37;39;40;9}. Und das alles bei nur einer pluralen MatrixFml, natürlich auch unrationell und länger (INDEX-Auswahl) als NormalFml möglich.
    Allerdings halte ich die Verwendung eines Gedichts als TextBsp für wenig sinnvoll, denn dadurch wird sein Versmaß zerstört. Auch kön­nen in der Art von Texten wie sie in dieser konkreten Aufgabe auftreten wdn, sicher irreguläre (Satz-)Zeichen­Setzungen vorkommen, mit denen die UDF sinnvoll umgehen kann. Desweiteren ist es in der aktuellen Version der UDF auch möglich, relative Trennzeichen in den OriginalText einzufügen, die dann im Ergebnis entweder entfernt oder durch einen Trennstrich ersetzt wdn, so dass die maximale TeilTextLänge auch mal kürzer als das längste Wort sein darf (das dann aber an entsprd Stellen mit relativen Trennzeichen versehen wdn muss).
    Außerdem dürften Fmln bei der hier sehr großen Zahl von aufzuteilenden, benennenden Texten kaum viel Freude bereiten… ;-]
    Morhn, Luc :-?
    Anzeige
    bei UDF / VBA schalte ich auf Durchzug
    10.03.2019 10:58:05
    WF
    ... weißt Du doch.
    WF
    Natürlich, aber ich hatte noch mehr geschrieben, …
    11.03.2019 04:00:36
    Luc:-?
    …Walter,
    was eure Fml sicher verlängern dürfte, falls das berücksichtigt wdn müsste… ;-)
    Und Du weißt ja auch, dass gerade textmanipulierende Fktt in Xl unterrepräsentiert sind, auch, wenn neuerdings einige wenige dazu­gekommen sind. Dass die überwiegende Mehrheit der im INet zu findenden UDFs deutlich weniger leistungsfähig ist als Xl-Fktt, heißt ja nicht, dass das für alle gilt geschweige denn VBA insgesamt. Man muss sie nur so gestalten, dass gewisse Einschränkungen nur noch an der Natur derselben an sich (oder sehr speziellen Quelldaten) liegen. UDFs müssen Xl-Fmln nicht vollständig ersetzen, nur Xl-Fktt sinn­voll ergänzen. Je nachdem könnten die dann auch in früheren Versionen, in denen neue Xl-Fktt nicht zV stehen, angewendet wdn.
    Luc :-?
    Anzeige
    ;

    Forumthreads zu verwandten Themen

    Anzeige
    Anzeige
    Entdecke relevante Threads

    Schau dir verwandte Threads basierend auf dem aktuellen Thema an

    Alle relevanten Threads mit Inhaltsvorschau entdecken
    Anzeige
    Anzeige

    Infobox / Tutorial

    Text in Excel nach maximal 40 Zeichen trennen


    Schritt-für-Schritt-Anleitung

    Um einen Text in Excel nach einer maximalen Anzahl von Zeichen, beispielsweise 40 Zeichen, zu trennen, kannst Du die folgenden Schritte befolgen:

    1. Daten in die Tabelle eingeben: Trage Deinen Text in Spalte A (z.B. A1) ein.

    2. Formel für Spalte B: Verwende die folgende Formel in Zelle B1, um den Text bis zum letzten Leerzeichen vor den 40 Zeichen zu extrahieren:

      =WENN(LÄNGE(A1) <= 40; A1; LINKS(A1; FINDEN(" "; A1; 40)))

      Diese Formel prüft, ob der Text in A1 40 Zeichen oder weniger hat. Wenn ja, gibt sie den gesamten Text zurück. Andernfalls schneidet sie den Text.

    3. Formel für Spalte C: Um den verbleibenden Text in Spalte C anzuzeigen, kannst Du die folgende Formel verwenden:

      =WENN(LÄNGE(A1) <= 40; ""; RECHTS(A1; LÄNGE(A1) - FINDEN(" "; A1; 40)))

      Diese Formel gibt den Text nach dem letzten Leerzeichen in Spalte A zurück.

    4. Formeln nach unten ziehen: Ziehe die Formeln in den Spalten B und C nach unten, um sie auf die gesamte Datenreihe anzuwenden.


    Häufige Fehler und Lösungen

    • Fehler: In Spalte B wird kein Ergebnis angezeigt: Dies passiert, wenn der Text in A kürzer als 40 Zeichen ist. Stelle sicher, dass die Formel in B die Bedingung <= 40 richtig prüft.

    • Problem: Zu viele Zeichen in Spalte C: Überprüfe, ob die Formel in C korrekt auf das letzte Leerzeichen verweist. Achte darauf, dass FINDEN(" "; A1; 40) auch tatsächlich ein Leerzeichen findet.


    Alternative Methoden

    Wenn Du eine weniger komplexe Lösung suchst oder mehrere Texte gleichzeitig verarbeiten möchtest, kannst Du die Funktion Text in Spalten verwenden:

    1. Text markieren: Wähle die Zellen in Spalte A aus, die Du aufteilen möchtest.
    2. Daten -> Text in Spalten: Gehe zu „Daten“ und wähle „Text in Spalten“.
    3. Getrennt oder Festbreite: Wähle „Getrennt“ für die nächste Option und klicke auf „Weiter“.
    4. Trennzeichen wählen: Setze ein Häkchen bei „Leerzeichen“.
    5. Fertigstellen: Klicke auf „Fertigstellen“. Excel wird den Text an den Leerzeichen trennen, kann aber keine maximale Zeichenlänge garantieren.

    Praktische Beispiele

    Angenommen, Du hast folgende Daten in Spalte A:

    A
    Webshoptext mit mehr als vierzig Zeichen steht hier in der Zelle.
    Kurzer Text.

    Mit den oben beschriebenen Formeln erhältst Du in Spalte B:

    B C
    Webshoptext mit mehr als vierzig Zeichen steht hier in der Zelle.
    Kurzer Text.

    Tipps für Profis

    • VBA verwenden: Wenn Du regelmäßig mit großen Datenmengen arbeitest, kann ein VBA-Skript die Effizienz verbessern. Du kannst eine benutzerdefinierte Funktion (UDF) erstellen, um den Text nach einer maximalen Anzahl von Zeichen zu trennen.

    • Fehlermeldungen in Formeln: Nutze die Funktion WENNFEHLER(), um saubere Ergebnisse zu erzielen und Fehler in Deinen Formeln zu vermeiden.


    FAQ: Häufige Fragen

    1. Wie kann ich die maximale Anzahl der Zeichen in einer Zelle festlegen?
    Du kannst die maximale Zeichenanzahl in einer Zelle nicht direkt festlegen, aber Du kannst die Eingabe mit einer Datenvalidierung einschränken.

    2. Funktioniert das auch in älteren Excel-Versionen?
    Ja, die beschriebenen Funktionen sind in den meisten Excel-Versionen verfügbar, einschließlich Excel 2010 und neuer.

    3. Was tun, wenn es keine Leerzeichen gibt?
    Wenn die Texte keine Leerzeichen enthalten, kannst Du die Zeichen einfach nach der gewünschten Anzahl trennen, z.B. mit der Formel =LINKS(A1;40) für die ersten 40 Zeichen.

    4. Wie trenne ich den Text nach bestimmten Zeichen?
    Du kannst die FINDEN-Funktion verwenden, um das gewünschte Zeichen zu suchen und dann mit LINKS oder RECHTS den Text entsprechend zu trennen.

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Entdecke mehr
    Finde genau, was du suchst

    Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

    Suche nach den besten Antworten
    Unsere beliebtesten Threads

    Entdecke unsere meistgeklickten Beiträge in der Google Suche

    Top 100 Threads jetzt ansehen
    Anzeige