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' |
| A | B |
1 | 1+2+3 | 6 |
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016 |
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |
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
| A | B |
1 | 1+2,75-1,5*2*4 | -8,25 |
2 | -8,25 | |
Name | Bezug |
Ergebnis | =AUSWERTEN(Tabelle1!$A$1) |
Zelle | Formel |
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
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.
Gruß Ralf
NB:
Ich musste tatsächlich nachschlagen, wie der Plural von Dollar lautet.
Vielen Dank für eure schnelle Antwort.
Ihr habt mir sehr geholfen.
LG Klina