Excel - Wie rechnet man eine Addition in einer Zeichenkette automatisch zusammen?

... komplette Frage anzeigen

9 Antworten

Wie schon HellasPlanitia geschrieben hat, wird das von Excel als Textstring interpretiert. Am Einfachsten würde das mit VBA funktionieren, indem man von links oder rechts beginnend der Reihe nach die Operatoren abfragt, und wenn man sie gefunden hat, die Ziffern davor als Zahlen interpretiert, die man dann ganz konventionell addieren kann.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Suboptimierer
09.02.2016, 07:48

In VBA würde ich den Befehl "Application.Evaluate" nutzen:

Public Function EVAL(sFormel As String) As Double
  EVAL = Evaluate(sFormel)
End Function
0

Wenn du nichts ändern darfst, würde ich mir einfach eine Kopie von der Excel machen :P

Mal im Ernst, es ist auch möglich, mittels VBA auf das Workbook, in dem die Zahlen drin stehen, zuzugreifen und diese dann aufzusummieren. Ist aber wie gesagt VBA und nicht mit einfachen Excel-Zellen zu lösen.

Antwort bewerten Vielen Dank für Deine Bewertung

Das Problem ist, dass der Inhalt der oberen Zelle nun für Excel ein Wort ist. Das Programm erkennt (wegen der Pluszeichen) nicht mehr, dass das Zahlen sind, und schon gar nicht, wie viele.

Die einzige Möglichkeit, das hinzukriegen, wäre, dieses Wort wieder auseinanderzudröseln und mühsam zurück umzuwandeln. Dazu nimmst du das Wort, trennst die ersten Zeichen bis zum ersten Plus ab, wandelst die in eine Zahl um, überspringst dann das Plus, nimmst die nächsten Zeichen bis zum nächsten Plus, wandelst die wieder um.... und so weiter. Am Ende kannst du die so extrahierten Zahlen zusammenzählen.

Das wird einfacher, wenn du weisst, dass immer Pluszeichen da stehen und es immer dieselbe Anzahl an Summanden sind. Bei mehreren Operatoren müsstest du du auch diese auslesen und eine Fallunterscheidung machen, je nachdem, was da steht. Bei beliebig vielen Summanden gibt es, meines Wissens, keine Lösung, wie du alle möglichen Eingaben abfangen kannst.

Ich bezweifle, dass man diese ganze Umformung in einer einzigen Zelle machen kann. Über mehrere Zellen hinweg wäre es definitiv möglich, ist aber sehr mühsam. Die exakten Formeln dazu kann ich grad nicht liefern - da müsste ich erst selbst basteln. Aber möglicherweise kannst du dir die entsprechenden Befehle selbst ergooglen.

Antwort bewerten Vielen Dank für Deine Bewertung

Excel 2010: Formeln → Definierte Namen → Namen definieren

Name: Eval
Bezieht sich auf:  =AUSWERTEN(INDIREKT("ZS(-1)";FALSCH))
OK

Rechts neben der Zelle schreibst du 

=Eval
Antwort bewerten Vielen Dank für Deine Bewertung

Dann schreib in die andere Zelle das Gleiche nochmal, lediglich ein =-Ziechen muß davor. Dann wird Dir diese Zelle angezeigt, wie sie ist und in der anderen steht das Ergebnis.

Antwort bewerten Vielen Dank für Deine Bewertung

Gehe in die neue Zelle, wo das Ergebnis stehe soll!

Dann =Summe (Deine Drei Zellen)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von ButtercupDuck
09.02.2016, 07:04

Hi

ist nur eine Zelle. Soll auch so bleiben wie gesagt. Darin liegt auch mein Problem ^^

0

=Zellenname
Wenn deine Rechnung in A5 steht dann musst du =A5 schreiben, dann steht in dem neuen Feld das Ergebnis.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von HellasPlanitia
09.02.2016, 07:06

Nein. Dann steht in der neuen Zelle genau dieselbe Zeichenkette wie in der, auf die verwiesen wird.

0
Kommentar von LittleIranus
09.02.2016, 10:33

Du möchtest also Beispiel:
Zelle A1: 10+15+10 stehen haben und in
Zelle A2: 35?

0
Kommentar von LittleIranus
09.02.2016, 10:36

Dürfen die Zahlen in anderen Zellen existieren?

0

Kannst einfach auf das Symbol für Auto Summe gehn

Antwort bewerten Vielen Dank für Deine Bewertung

Das wird nicht gehen.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?