Seite 1 von 1

[gelöst] Aufteilen in Spalten

Verfasst: Mo 28. Nov 2022, 23:50
von norre
Hallo Miteinander,

ich habe wieder mal ein Problem :oops:
Der neue DB Fahrplan ist rausgekommen und ich soll für Mutti das platzsparend aufbereiten.
Leider bekomme ich das so nicht hin und bevor ich das alles händisch mache dachte ich mir fragste halt mal bei den Profis nach ob es eine Möglichkeit gibt den Text in Spalten zu bekommen.
Der Text kommt aus einer PDF die leider keine Spalten oder Ähnliches zum Trennen besitzt

Auszug als Testdatei hängt an

Viele Grüße
Norre

Re: Aufteilen in Spalten

Verfasst: Di 29. Nov 2022, 01:31
von echo
Hallo
Leider sind deine Spalten nicht gleich breit oder haben ein einheitliches Trennzeichen
du solltest dir das Menü (Daten) "Text in Spalten" trotzdem mal ansehen.

Ich habe das daher mal mit Formeln aufgelöst.
Diese lassen sich nachträglich auch wieder löschen in dem du die Spalten markierst , kopierst und dann mit
einen Rechtsklick "Inhalte einfügen" > "Werte" wählst.

Gruß Holger

Re: Aufteilen in Spalten

Verfasst: Di 29. Nov 2022, 10:31
von norre
Hallo Holger,

Klasse wie du das mit den Formeln gelöst hast Bild
Vielen Dank.

Wenns über Summe rausgeht bin ich aufgeschmissen :D

Ja, Text in Spalten wäre dann meine Option gewesen und eben Händisch jeweils ein Trennzeichen einfügen.
Bei drei Zugverbindung, hin und zurück wäre ich ein bisserl beschäftigt gewesen.

Nochmals vielen Dank
Gruß
Norre

Hier noch die 1-Formel-Lösung für das kostenlose XLWeb

Verfasst: Mi 30. Nov 2022, 09:07
von Lupo
=LET(q;A14:A19;
r;WECHSELN(q;" ";"#");
s;ERSETZEN(r;FINDEN(":";r)+3;0;" ");
t;ERSETZEN(s;FINDEN(":";s;5)-2;0;" ");
u;ERSETZEN(t;FINDEN(":";t;5)+3;0;" ");
v;ERSETZEN(u;FINDEN(":";u;25)+3;0;" ");
w;GLÄTTEN(ERSETZEN(v;LÄNGE(v)-2;0;" "));
x;GLÄTTEN(WECHSELN(TEIL(WECHSELN(w;" ";WIEDERHOLEN(" ";199));SEQUENZ(;6;1;199);199);"#";" "));
x)


Achtung: Formel darf nur im Zitiermodus kopiert werden, da einmal mehrere Leerzeichen hintereinander stehen (was man hier nicht sieht)! Hatte keine Lust, zu maskieren.

Wohlgemerkt: "1-Formel" ist nicht pro Zeile gemeint, sondern für die ganze Matrix (bzw. importierte Spalte).

Urheber vom GLÄWEXWDH bin übrigens ich (weil echo nicht so gern Quellen angibt). Weder TEXTTEILEN noch XMLFILTERN teilt Arrays auf.

Re: [gelöst] Aufteilen in Spalten

Verfasst: Mi 30. Nov 2022, 11:20
von karolus
Hallo

Code: Alles auswählen

import re

rex = re.compile(r"(\d+:\d+) "
                 "([RBEIC]+\s\d+(?: \w+)?) "
                 "(\d+:\d+) "
                 "(\d+:\d+) "
                 "(.+) "
                 "(.+)$")

def split_fahrplan(*_):
    doc = XSCRIPTCONTEXT.getDocument()
    sel = doc.CurrentSelection
    cursor = sel.Spreadsheet.createCursorByRange(sel)
    data = sel.DataArray
    out = []
    for row in data:
        out.append(rex.search(row[0]).groups())
    cursor.collapseToSize(len(out), len(out[0]))
    cursor.DataArray = out

und nebenbei: mit einer Formel gehts auch:

=REGEX(A14:A19;"(\d+:\d+) (.+) (\d+:\d+) (\d+:\d+) (.+) (.+)$";{"$1"|"$2"|"$3"|"$4"|"$5"|"$6"}) als [x]matrix

Variation mit Funktionsnamen in deutsch ;
=REGAUS(A14:A19;"(\d+:\d+) (.+) (\d+:\d+) (\d+:\d+) (.+) (.+)$";"$"&SPALTE(A:F))

Re: [gelöst] Aufteilen in Spalten

Verfasst: Fr 2. Dez 2022, 14:54
von norre
Hallo,
@karolus, @Lupo
vielen Dank für eure Mühe aber ich glaube das ist mir Formeldummy zu hoch.
Ich hab sie eingefügt aber es passiert nichts.
Ich bin auch mit der Formel von @echo zurechtgekommen

Nochmals Danke
Gruß
Norre

Re: [gelöst] Aufteilen in Spalten

Verfasst: Fr 2. Dez 2022, 15:33
von karolus
Hallo

Was Lupos Antwort angeht: die ist hier komplett irrelevant, er »trollt« halt gerne seine »1-Formel-Lösungen für das kostenlose XLWeb« … da kann man nix machen :roll:

Zur »REGAUS«-formel: Wenn du mal die Bereichsangabe A14:A19 an deine Verhältnisse anpasst und auch noch im →→Formelassistenten die [x]matrix-option setzt, funktioniert die mit deiner LibreOffice-version

zugegeben

Verfasst: Fr 2. Dez 2022, 15:39
von Lupo
In Excel fehlt leider eine direkt (also ohne irgendeine VBA-Ansprache) ansprechbare REGEX-Formel..

Klar geht das auch mit echos Formel-Universum. Es war halt ein bisschen Ansporn für eine einzelne Formel.

XLWeb ist für jeden kostenlos. So wie LO auch.

Re: [gelöst] Aufteilen in Spalten

Verfasst: Sa 3. Dez 2022, 14:13
von norre
karolus hat geschrieben:
Fr 2. Dez 2022, 15:33
Was Lupos Antwort angeht: die ist hier komplett irrelevant, er »trollt« halt gerne seine »1-Formel-Lösungen für das kostenlose XLWeb« … da kann man nix machen :roll:
Aja bin froh wenn ich mit Libre zurechtkomme, da brauche ich nicht noch was, auch wenns kostenlos ist ;)
karolus hat geschrieben:
Fr 2. Dez 2022, 15:33
Zur »REGAUS«-formel: Wenn du mal die Bereichsangabe A14:A19 an deine Verhältnisse anpasst und auch noch im →→Formelassistenten die [x]matrix-option setzt, funktioniert die mit deiner LibreOffice-version
funktioniert so auch.

Danke
Gruß
Norre