Seite 1 von 2

4 Dezimalzahlen aus einem String extrahieren

Verfasst: So 25. Feb 2024, 10:01
von TuxMax
Hallo,

gibt es eine Formelkombination, mit der ich aus einem String 4 Dezimalzahlen in je eine Zelle extrahieren kann?
z. B. steht in (natürlich ohne {})
A1:{0.6°C sonnig, KOL 3.7°C, TSP 21.9°C, S3 61.9°C}
Ergebnis:
B1:{0.6}
C1:{3.7}
D1:{21.9}
E1:{61.9}

oder
A2:{'-1.6°C klar, KOL -1.4°C, TSP 11.0°C, S3 61.9°C}
Ergebnis:
B2:{-1.6}
C2:{-1.4}
D2:{11.0}
E2:{61.9}

oder
A3:{'+2.0°C trüb, KOL 2.4°C, TSP 11.6°C S3 60.4°C }
Ergebnis:
B3:{2.0}
C3:{2.4}
D3:{11.6}
E3:{60.4}
?

Als Sahnehäubchen dann noch das Wort hinter dem ersten {°C}, also "sonnig", "klar" etc in eine Zelle.

Re: 4 Dezimalzahlen aus einem String extrahieren

Verfasst: So 25. Feb 2024, 10:13
von Mondblatt24
Hallo,
für den Fall, dass Du nicht gefunden hast, wo man eine Beispieldatei anhängen kann.

Dateianhänge..png
Dateianhänge..png (95.84 KiB) 2015 mal betrachtet

Re: 4 Dezimalzahlen aus einem String extrahieren

Verfasst: So 25. Feb 2024, 10:23
von TuxMax
Mondblatt24 hat geschrieben:
So 25. Feb 2024, 10:13
Hallo,
für den Fall, dass Du nicht gefunden hast, wo man eine Beispieldatei anhängen kann.


Dateianhänge..png
Ich dachte die Beschreibung reicht.
Hier ein Auszug.

Re: 4 Dezimalzahlen aus einem String extrahieren

Verfasst: So 25. Feb 2024, 10:33
von karolus
Hallo
in B1:

Code: Alles auswählen

=WERT(WECHSELN(REGAUS(A1;"(-?\d+\.\d+)";;{1.2.3.4});".";","))
als Matrixformel per strg+shift+enter bestätigen

und mit gedrückter strg-taste nach unten kopieren

ps: in deinem Beispiel in A17 sind kaputte Daten

Re: 4 Dezimalzahlen aus einem String extrahieren

Verfasst: So 25. Feb 2024, 10:34
von Mondblatt24
TuxMax hat geschrieben:
So 25. Feb 2024, 10:23
Ich dachte die Beschreibung reicht
Ja, aber warum sollten X-Leute anfangen, eigene Dateien erstellen,
obwohl sie doch die Zeit schon nutzen könnten, eine Lösung zu finden?

Re: 4 Dezimalzahlen aus einem String extrahieren

Verfasst: So 25. Feb 2024, 10:41
von TuxMax
das klappt leider nicht.
Ich stehe in Zelle B1, kopiere "=WERT(WECHSELN(REGAUS(A1;"(-?\d+\.\d+)";;{1.2.3.4});".";","))" als Zellinhalt und beende mit strg+shift+enter.
Ergebnis:
Fehler:539

Re: 4 Dezimalzahlen aus einem String extrahieren

Verfasst: So 25. Feb 2024, 10:50
von karolus
Vielleicht musst du ; statt . als Trennzeichen setzen {1.2.3.4}{1;2;3;4} oder gleich SPALTE(A1:D1)

Re: 4 Dezimalzahlen aus einem String extrahieren

Verfasst: So 25. Feb 2024, 10:55
von karolus

Re: 4 Dezimalzahlen aus einem String extrahieren

Verfasst: So 25. Feb 2024, 11:02
von TuxMax
also das
=WERT(WECHSELN(REGAUS(A1;"(-?\d+\.\d+)";;{1;2;3;4});".";","))
strg+shift+enter
ergibt
in B1 - B4
Fehler:502

und das
=WERT(WECHSELN(REGAUS(A1;"(-?\d+\.\d+)";;{SPALTE(A1:D1});".";","))
wenn ich es richtig eingegeben habe, in B1 -B4
Fehler:539

Sollte vielleicht noch anmerken, dass ich unter Linux arbeite und die Länderkennung für Zahlen auf Schweiz gestellt habe, Libreoffice sich weigert die globale Regionaleinstellungen zu nehmen, bei der der Dezimaltrenner ein Punkt ist. Andere Programme wie Gnumeric oder Softmaker können das. Schade.

Re: 4 Dezimalzahlen aus einem String extrahieren

Verfasst: So 25. Feb 2024, 11:13
von karolus
Dein Beispielsdokument ist aber eindeutig auf Deutsch (Deutschland) eingestellt!

mit Dezimalpunkt kannst du auch WECHSELN( … ".";",") aus der Formel rausnehmen!