Zahlen in Formeltext-Funktionsausgabe formatieren
26.11.2025 12:39:05
Christian96
Ich möchte das Volumen eines Raumes berechnen und nebst dem Resultat auch die Berechungsformel darstellen (Formeltext).
Die Formel für die Volumenberechnung hat z.B. folgende Eingabe in Zelle A1: "=3.15 * 2.7 * 3+3.1 * 5.2 * 3.5" für einen Raum der in 2 Abschnitte mit unterschiedlichen Raumhöhen unterteilt ist.
Damit in einem Bericht die Berechungsgrundlage dokumentiert ist wird zusätzlich in A2 mit "=Formeltext(A1)" der Formelinhalt ausgegeben.
Ich möchte die Masse (Länge, Breite, Höhe) grundsätzlich mit 2 Nachkommastellen formatieren.
D.H im obenstehenden Beispiel sollte dann in Zelle A2 so aussehen "=3.15*2.70*3.00+3.10*5.20*3.50".
Mit verschachtelten REGEXERSETZEN habe ich mit einigen Klimmzügen mein Ziel erreicht, aber vielleicht kennt jemand eine elegantere Lösung.
Hier soweit mal meine Lösungsidee
A1: "=3.15 * 2.7 * 3 + 3.1 * 5.2 * 3.5" Leerzeichen vor und nach den Operatoren sind zwingend für die Funktionalität
A2: "=ERSETZEN(FORMELTEXT(A1);1;1;" ")" "="- Zeichen entfernen
A3: "=REGEXERSETZEN(A2 &" ";"( [0-9]+) ";"$1.00 ";;0)" Zahlen ohne Nachkommastellen ersetzen
A4: "=REGEXERSETZEN(A3;"( [0-9]+\.[0-9]) ";"$1 0 ";;0)" "Unerwünschter Zwischenschritt um Zahlen mit einer Nachkommastelle zu ersetzen.
A5: "=REGEXERSETZEN(A4;"([0-9]) ([0-9]) ";"$1$2 ";;0)" Zweiter Schritt um Zahlen mit einer Nachkommastelle zu ersetzen.
Führt schlussendlich zu folgender Ausgabe: "3.15 * 2.70 * 3.00 + 3.10 * 5.20 * 3.50"
Vielen Dank im Voraus
Freundliche Grüsse
Christian
PS. Eine Grosse Hilfe wäre auch schon eine Lösung für das kleinere Problem REGEXERSETZEN(A3;"( [0-9]+\.[0-9]) ";"$1 0 ";;0)
Das unerwünschte Leerzeichen im fetten Text zu eliminieren.
Anzeige