Clever-Excel-Forum

Normale Version: addieren einer Zahlenreihe in einer Zelle
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich möchte eine Zahlenreihe 1+2,75-1,5*2*4, die in einer Zelle (als Text formatiert) eingegeben wurde, ausrechnen.
Auf dem Blatt soll diese Zahlenreihe in A1 auch so erscheinen, das Ergebnis soll in A2 stehen.

Könnt ihr mir helfen? Bitte erklärt es für Anfänger.

LG Klina
Hi,

das kannst du auf einem Umweg bewerkstelligen. In meinem Beispiel ist in A1 dein gewünschter Zahlentext und in B1 soll das Ergebnis stehen. Dann musst du B1 über den Namensmanager einen Namen vergeben (im Beispiel Ergebnis) und darin als Bezug die Formel
Code:
=AUSWERTEN(Tabelle1!$A$1)
schreiben.

Nun kannst du mit =Ergebnis deinen Text berechnen.

Arbeitsblatt mit dem Namen 'Tabelle1'
AB
11+2+36

ZelleFormel
B1=Ergebnis
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Gelöscht!
Hi Klina,

noch ein Nachtrag: wenn du einen Bereich benötigst (z.B A1:A10), dann gibst du diesen im Namensmanager an. Deine Datei musst du zwingend als .xlsm oder .xlsb abspeichern, weil es sich um ein so genanntes Excel4-Makro handelt.
Moin und nur ergänzend!
Da das Excel4-Makro ohnehin als .xlsm oder *b abgespeichert werden muss …
… nehme ich dann gleich "richtiges" VBA.
Die UDF (user defined function) kann dann ebenfalls als ganz normale Tabellenfunktion genutzt werden.
Das Replace() ist hier notwendig, damit VBA den englischen Dezimaltrenner nimmt.
Code:
Function Text_ausrechnen#(Zelle$)
Text_ausrechnen = Evaluate(Replace(Zelle, ",", "."))
End Function

AB
11+2,75-1,5*2*4-8,25
2-8,25

NameBezug
Ergebnis=AUSWERTEN(Tabelle1!$A$1)

ZelleFormel
B1=Ergebnis
A2=Text_ausrechnen(A1)

Gruß Ralf
Hi Ralf,

danke für die Ergänzung - hab' sie doch gleich mal in meine Sammlung aufgenommen.
Moin Ralf,

Zitat: … nehme ich dann gleich "richtiges" VBA. … Text_ausrechnen = Evaluate(Replace(Zelle, ",", "."))

Ein Glück, dass nicht ExecuteExcel4Macro davor steht Smile
Ja, sind beides Methoden der Application.  :21:
Ich persönlich empfinde allerdings die Übergabe des Strings als Argument einer Funktion "stimmiger" als die Namensdefinition, bei der man ja durchaus mit den Dollars spielen kann, was zu einer Verunsicherung der meisten Fragenden führt.

… und auch hier habe ich wiederum die Füßchen der Gänse bemüht. Wink

Gruß Ralf

NB:
Ich musste tatsächlich nachschlagen, wie der Plural von Dollar lautet.  Blush
Vielen Dank für eure schnelle Antwort.
Ihr habt mir sehr geholfen.

LG Klina