Formel steht als Text in Zelle
Verfasst: Fr, 14.05.2010 00:10
Moin!
In meinem Calc-Dokument wird per Makro aus der Zwischenablage Text eingefügt.
Sofern es sich dabei um reine Zahlen handelt, lassen diese sich ja sehr einfach in Zahlenwerte umwandeln.
In manchen Zellen steht aber als Text ein Konstrukt wie z.B.: "28+350" oder "1025+310".
Wie kann ich Calc dazu bringen, jede Formel, die als Text aus der Zwischenablage in eine Zelle eingefügt wird, tatsächlich zu berechnen?
Edit:
Das Thema hat mir dann doch keine Ruhe gelassen und nachdem ich die Frage hier reingestellt habe, habe ich nochmal ein bisschen rumprobiert.
Die Anforderungen sind folgende:
Der Text aus der Zwischenablage kann folgende Formen annehmen:
a) Positive Zahl
b) negative Zahl
c) 0
d) [LEER]
e) Formel (einfache Addition)
Was auch immer in der Zelle steht, es soll entweder der Wert als positive ganze Zahl ausgegeben werden, oder eben 0.
Um alle Eventualitäten abzudecken bin ich jetzt auf folgende Formel gekommen:
Im Test hat die Formel auch alles korrekt verarbeitet, nur ist das Ding natürlich viel zu lang.
Die Frage lautet daher, gibt es hierfür eine Lösung, die noch einigermaßen überschaubar ist?
Gruß
Thomas
In meinem Calc-Dokument wird per Makro aus der Zwischenablage Text eingefügt.
Sofern es sich dabei um reine Zahlen handelt, lassen diese sich ja sehr einfach in Zahlenwerte umwandeln.
In manchen Zellen steht aber als Text ein Konstrukt wie z.B.: "28+350" oder "1025+310".
Wie kann ich Calc dazu bringen, jede Formel, die als Text aus der Zwischenablage in eine Zelle eingefügt wird, tatsächlich zu berechnen?
Edit:
Das Thema hat mir dann doch keine Ruhe gelassen und nachdem ich die Frage hier reingestellt habe, habe ich nochmal ein bisschen rumprobiert.
Die Anforderungen sind folgende:
Der Text aus der Zwischenablage kann folgende Formen annehmen:
a) Positive Zahl
b) negative Zahl
c) 0
d) [LEER]
e) Formel (einfache Addition)
Was auch immer in der Zelle steht, es soll entweder der Wert als positive ganze Zahl ausgegeben werden, oder eben 0.
Um alle Eventualitäten abzudecken bin ich jetzt auf folgende Formel gekommen:
Code: Alles auswählen
=WENN(ABS(G3+1)>1;ABS(G3);WENN(ODER(G3="";G3=0);0;ABS(WERT(LINKS(G3;FINDEN("+";G3))))+ABS(WERT(TEIL(G3;FINDEN("+";G3);15)))))
Die Frage lautet daher, gibt es hierfür eine Lösung, die noch einigermaßen überschaubar ist?
Gruß
Thomas