Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1752to1756
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

Schön trennen

Schön trennen
16.04.2020 14:37:18
niem
Hallo zusammen,
ich benötige bitte Hilfe bei der Trennung von den Werten von einer Zelle in mehrere Spalten.
Ziel wäre es über "Text in Spalten" oder mit einer Formel den Zellinhalt einer Zelle B2 in mehrere Spalten B3, B4 etc. aufzuteilen.
Wichtig ist dabei, dass in einer Zelle maximal 50 Zeichen enthalten sein dürfen. Somit sollte eine Trennung stattfinden beim letztmöglichen Leerzeichen, bevor die Zellanzahl 50 erreicht ist.
Zudem sollte eine Trennung bei dem Sonderzeichen "•" erfolgen, da dieses in der vorliegenden Tabelle als Auflistungssymbol verwendet wurde.
Sobald die Trennung in Spalten vorgenommen wurde, werde ich eigenständig mit Power Query die Daten so aufbauen, dass zu einem Artikel die einzelnen Spalten untereinander stehen, wie in der Excel beispielhaft gezeigt. https://www.herber.de/bbs/user/136786.xlsx
Über eine Unterstützung eurerseits freue ich mich sehr. Vielen Dank im Voraus.
Viele Grüße
Tobi

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: und warum trennst Du nicht auch in PQ? owT
16.04.2020 14:42:36
neopa
Gruß Werner
.. , - ...
würde mich interessieren - wie ?
16.04.2020 15:43:39
Helmut
Hallo Werner,
hast Du in der Datei die Vorgabe angesehen?
Gruß Helmut
AW: hierzu angemerkt, die Fragestellung des TE ...
16.04.2020 16:11:38
neopa
Hallo Helmut,
... war mE vor einer reichlichen Woche schon einmal eingestellt, da jedoch lediglich mit Frage nach Trennung bei bis zu max 50 Zeichen. Da hatte ich den Fragesteller (ich vermute es ist der gleiche) auf PQ und http://www.excel-ist-sexy.de/ und evtl. zusätzliche Nachfrage bei Günther verwiesen.
Da er die anschließende Transformierung nun per PQ selbst vornehmen will, ging ich davon aus, dass er sich mit PQ beschäftigt hat. Dann sollte die Trennung beim Sonderzeichen "•" kein Problem sein.
Bleibt die Problematik bestehen, wenn diese Sonderzeichen nicht vorhanden sind bzw. der Vortext schon länger als 50 Zeichen ist. Ich hätte dann die gleichen Hinweise wieder gegeben wie bereits vor Tagen. Eine Lösung mit einer Formel (wie ich es tun könnte) kam meiner Erinnerung nach nicht in Frage, weil es sich um eine Massendatenauswertung handeln sollte.
Aber wenn auch eine Formellösung in Frage kommt, könnte ich eine solche sicherlich aufstellen.
Gruß Werner
.. , - ...
Anzeige
AW: hierzu angemerkt, die Fragestellung des TE ...
17.04.2020 06:58:43
niem
Hallo Werner,
wenn du eine Formellösung erstellen könntest, wäre ich dir sehr dankbar. Ich bin über http://www.excel-ist-sexy.de/ leider nicht zu dem gewünschten Ergebnis gekommen bei meiner jetzigen Aufgabe.
Die Aufgabe davor, wie du schon richtig vermutet hattest, konnte ich selbst lösen. Nun stehe ich aber davor zu knapp 8.000 Produkten die Online-Beschreibungen in unser ERP-System zu importieren. Der Hersteller macht es mir mit seiner Formatierung nicht gerade leicht.
Vielen Dank im Voraus.
Gruß
Tobi
Wohl kaum rationell möglich!
17.04.2020 15:04:36
Luc:?
Ich glaube nicht, Tobi,
dass das rationell für 8000 Produkte möglich ist. An meinem unteren Bsp für nur ein Produkt ist ersichtlich, dass es kaum ohne Hilfszellen und folglich EinzelVerarbeitung möglich sein wird. Es gibt nämlich keine Xl-Fkt, die komfortabel Texte unter Bezug auf eine maximale ZeichenAnzahl pro Zeile bzw Zelle trennen kann. Meine UDF TxRows kann das auch nur im Block, so dass zuallererst die Trennung in TeilTexte (•) erfolgen müsste. Dann ergibt sich aber das Problem, dass mit weiterer Teilung ein 3dimensionales Datenfeld (bzw 3stufiger Tensor) entsteht, der so weder konvertiert noch abgebildet wdn kann. Die Aufteilungen müssten also auf einmal erfolgen, wobei die ZeichenZählung (bzw -Suche) bei jedem absoluten Trenner (•) neu beginnen müsste. Das dürfte besser oder gar nur per VBA-Pgm zu bewerkstelligen sein (zumal bei der Datenfülle!).
Gruß, Luc :-?
„Der beste Beweis für intelligentes Leben im Universum ist, dass noch niemand versucht hat, Kontakt mit uns aufzunehmen.“ H.Lesch, 2018, Sonneberg
Deshalb Intelligenz steigern mit …

Anzeige
AW: genau und ...
17.04.2020 17:51:55
neopa
Hallo Luc,
... deshalb hatte ich ihn ja auch auf die evtl. Realisierungsmöglichkeit in PQ verwiesen, ohne ihm dafür allerdings die Realisierungsmöglichkeit aufzuzeigen.
Für weniger Daten hätte ich schon eine Realisierungsmöglichkeit mit einer Formel gesehen, wenn die vorhanden Datenlänge nicht viel länger als 100 Zeichen sind.
Gruß Werner
.. , - ...
Ja, und garantiert bleibt noch Etliches ...
17.04.2020 19:03:12
Luc:?
…an manueller Arbeit zu tun, Werner,
während ein gut gemachtes Pgm dafür keine 5min benötigen würde. Auch mit Einbeziehung des PgmSchreibens wäre der ZeitAufwand sicher geringer als der von DatenVorbereitung, Fml-Finden und DatenNachbearbeitung zusammen.
Gruß, Luc :-?
Anzeige
FormelLösung m.Hilfszellen u.UDFs
16.04.2020 22:31:20
Luc:?
Morhn, Tobi;
glaube kaum, dass dir die bisherigen AWen weiterhelfen, es sei denn, du findest in PQ eine KomplettLösungsmöglichkeit.
Anderenfalls kann man das pro derartigem Datensatz wie im Betreff genannt machen. Die vorangestellten Standort-Bereichsangaben der folgenden Fmln sind natürlich variabel, die inneren Bezüge auf dein Bsp bezogen. Bei der 1.(Hilfszellen-)Fml ist natürlich zu beachten, dass eine darüberliegende Bezugszelle leer ist.
2 Schritte wären erforderlich. Eine Fml für ergebniskumulierende Hilfszellen und eine mit Bezug auf die letzte dieser Hilfszellen für das EndErgebnis.
1.Schritt: (Hilfszellen - Fml nach unten ziehen!) (Fml enthält 2 maussensitive Archiv- bzw DownLoadLinks)
P2[:P7]:=GLÄTTEN(WECHSELN(P1&" "&
WECHSELN(TxRows(INDEX(VSplit(WECHSELN(B$3;"•";"|•");"|");ZEILE(A1));50);ZEICHEN(10);"|")&"|";"| ";"|"))
2.Schritt: (Variante 2.1 - plurale MatrixFml für GesamtErgebnisBereich)
P9:P16: {=GLÄTTEN(MTRANS(VSplit(P7;"|")))}
2.Schritt: (Variante 2.2 - NormalFml für zeilenweises Ziehen)
P9[:P16]:=INDEX(GLÄTTEN(VSplit(P$7;"|"));ZEILE(A1))
Anmerkung: Dies ist die kurze Quintessenz des verlorengegangenen 1.AW-Versuchs!
Gruß, Luc :-?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige