Frage von ButtercupDuck, 109

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

Hi,

ich habe diese Zelle: "10+5+10"

ACHTUNG - Darf da nichts ändern bzw. vereinfachen. Soll so bleiben wie es ist


Jetzt will ich in einer anderen Zelle das Ergebnis davon zusammenzählen lassen. 

Kann mir jemand helfen? Danke

Antwort
von Plautzenmann, 30

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
von HellasPlanitia, 45

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
von Herb3472, 24

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.

Kommentar von Suboptimierer ,

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

Public Function EVAL(sFormel As String) As Double
  EVAL = Evaluate(sFormel)
End Function
Antwort
von 16Denis, 36

Kannst einfach auf das Symbol für Auto Summe gehn

Antwort
von LittleIranus, 49

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

Kommentar von HellasPlanitia ,

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

Kommentar von LittleIranus ,

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

Kommentar von LittleIranus ,

Dürfen die Zahlen in anderen Zellen existieren?

Antwort
von alarm67, 32

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

Dann =Summe (Deine Drei Zellen)

Kommentar von ButtercupDuck ,

Hi

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

Antwort
von Suboptimierer, 19

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
von AlderMoo, 36

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
von Deepdiver, 33

Das wird nicht gehen.

Keine passende Antwort gefunden?

Fragen Sie die Community