String auf mehrere Zellen aufteilen!

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

JtfF
**
Beiträge: 25
Registriert: So, 24.03.2013 08:32

String auf mehrere Zellen aufteilen!

Beitrag von JtfF »

Hallo und Danke im Vorraus für eure Mühe! :-)

Das sind ein paar Zeilen meines Problems!

Code: Alles auswählen

355710 - Porter - Back - 5 ml
356010 - Grapefruit - 15 ml
356310 - Heiler - Immobilien / Stark - 5 ml
331610 - ldaho Essig Star - Balsamico (Idaho) - 15 ml
309310 - Idaho Blue Star - Idaho Essig-Föhre - 5 ml
356910 - Gänse - Ganz - 5 ml
ich würde gerne Die ZAHL in eine Spalte den TEXT in die nächste Spalte und die ml Angabe in eine weitere Spalte aufteilen. Die Zahl zu trennen ist kein Problem.

Code: Alles auswählen

=WERT(TEIL(A10;1;FINDEN("-";A10)-1))
Jetzt aber wird es für mich schwierig :-(

Mit LINKS/RECHTS/LÄNGE/SUCHEN bekomme ich nur entweder den Rest nach der Zahl oder nur einen Teil des Textes oder den letzteren Teil des Textes plus den Milliliterangaben.
Wie bekomme ich die Position des letzten "-" Zeichens in meiner Zeichenkette heraus?

Code: Alles auswählen

=FINDEN(" ";A10;1) 
gibt ja nur das Zeichen von der Linken Seite des Strings aus. Wenn ich mit RECHTS / LINKS herum experimentiere bekomme ich nur einen String zurück und dieser ist nicht korrekt. (so wie ich mir das wünsche ... ah Wunschkonzert)

Code: Alles auswählen

A1 = Herr Felix Mustermann A2= =RECHTS( A10;LÄNGE(A10)-SUCHEN(" ";A10))
ergibt Felix Muster und nicht wie gewünscht nur Felix :/


Ich habe ordentlich gegoogelt (2. Std) habe da die wunderschöne Funktion MID gefunden. Leider finde ich diese Funktion nicht im deutschen OOo.

Wenn es mitl BASIC in Calc einfacher zu bewerkstelligen ist könnt ihr mir das auch sagen (ein wenig Ahnung haben ich von Basic/Calc)

http://wiki.openoffice.org/wiki/Documen ... D_function

Könnte mir da einer mit eurem Wissen weiterhelfen?


Ich danke und wünsche einen schönen Tag aus Wien
Josef
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: String auf mehrere Zellen aufteilen!

Beitrag von clag »

Hallo Josef

wenn die Daten nur einmal zum Import umgebaut werden sollen
würde ich die eine Lösung mit suchen und ersetzen voschlagen
markiere den Teil der "aufgedröselt" werden soll
starte Suchen und Ersetzen
suche nach
([0-9]) - (.*) - ([0-9]+) (.*)
ersetze durch
$1|$2|$3|$4
unter Mehr Option
[x] Nur in Selektion
[x] Reguläre Ausdrücke

und dann Ersetze alles

danach wählst du Menue - Daten - Text in Spalten
hakst den [ ] Tabulator ab, dafür [X] Andere anhaken und gibst dahinter | ein
dann ok
und die neue Tabelle sollte aussehen wie du es wünscht

ich hoffe das hilft dir
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
paljass
******
Beiträge: 803
Registriert: Do, 25.10.2012 07:25

Re: String auf mehrere Zellen aufteilen!

Beitrag von paljass »

Moin allerseits,
falls es um einen nicht nur einmaligen Datenimport geht, funktioniert die Aufteilung mit folgenden Formeln, wenn der Text in A1 steht (die Formeln sind naturlich nach unten kopierbar):
Formel für B1:

Code: Alles auswählen

=WERT(TEIL(A1;1;SUCHEN("-";A1)-1))
Formel für C1:

Code: Alles auswählen

=TEIL(A1;SUCHEN("-";A1)+2;SUCHEN("[0-9]";A1;7)-2-11)
Formel für D1:

Code: Alles auswählen

=TEIL(A1;SUCHEN("[0-9]";A1;7);99)
Ach ja,für die Formeln muss unter Extras - Einstellungen - OoCalc - Berechnen die Eingabe von regulären Ausdrücken in Formeln zugelassen werden.
habe da die wunderschöne Funktion MID gefunden. Leider finde ich diese Funktion nicht im deutschen OOo.
Nun ja, MID ist halt der englische Name einer Funktion, die du selbst benutzt hast; es handelt sich um die Funktion "Teil()".
Eine Gegenüberstellung von deutschen und englischen Funktionsnamen findest du bei Interesse hier.

Gruß
paljass
EDV ist wie U-Boot fahren - machst du ein Fenster auf, fangen die Probleme an.
JtfF
**
Beiträge: 25
Registriert: So, 24.03.2013 08:32

Re: String auf mehrere Zellen aufteilen!

Beitrag von JtfF »

Danke für eure Mühe!

Muss öfter was einlesen aus verschiedenen externen Files. PDF/DOC/TXT Files.

Werde mir eure Anregungen / Vorschläge durchschauen und probieren ob ich mein Problem dadurch lösen kann. gebe ich am Abend mal Bescheid!

Liebe Grüße und Dank

Josef aus Wien
JtfF
**
Beiträge: 25
Registriert: So, 24.03.2013 08:32

Re: String auf mehrere Zellen aufteilen!

Beitrag von JtfF »

So jetzt hatte ich Zeit. Danke Paljass funktioniert wie geschmiert!

Allerdings ist mir...

Code: Alles auswählen

=TEIL(A10;SUCHEN("-";A10)+2;SUCHEN("[0-9]";A10;7)-2-11)
dieser Code ein wenig undurchsichtig. Wieso wird da +2 und -2-11 verwendet. Nach der Funktionsbeschreibung konnte ich das ja selber eben nicht "zusammenbasteln".
Es scheint so als braucht man dafür "verstecktes" Wissen um mein Problem lösen zu können. Wenn du noch genug Geduld aufbringst kannst du mir das Geheimnis hinter den einzelnen Abschnitten erläutern?

Trotz alledem Danke vielmals das es klappt!

Liebe Grüße aus Wien
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: String auf mehrere Zellen aufteilen!

Beitrag von lorbass »

JtfF hat geschrieben:Danke Paljass funktioniert wie geschmiert!
Was meinst du?
  • Danke, Paljass funktioniert wie geschmiert!
    oder
  • Danke Paljass, funktioniert wie geschmiert!
Gruß
lorbass
paljass
******
Beiträge: 803
Registriert: Do, 25.10.2012 07:25

Re: String auf mehrere Zellen aufteilen!

Beitrag von paljass »

Moin,
@lorbass
Sehr feinsinnig der Herr (uups, habe ich da jetzt ein Komma vergessen?) :lol:

@JtfT
SUCHEN("[0-9]";A10;7)-2-11) bestimmt die Länge des Teilstrings. Eigentlich wollte ich die beiden Zahle noch zu -13 zuammenfassen, habe ich aber wohl vergessen.
Erklärung:
Für die Länge des Teilstrings suche ich nach der Position der ersten Zahl, die nicht in dem führenden Sechserblock steht. Dieser Positionswert ergibt also die Länge des Strings von vorne bis zur gesuchten Zahl. Um nun nur den Texteintrag zu erhalten, muss dieser Wert vermindert werden um
die Anzahl der führenden Zahlen (6)
die Anzahl der Zeichen zwischen führenden Zahlen und Text (3)
die Anzahl der Zeichen, zweischen Text und ml-Zahl (3)
und
eins für die gefundene Zahl selbst (1)

Gruß
paljass
EDV ist wie U-Boot fahren - machst du ein Fenster auf, fangen die Probleme an.
Antworten