Zeilen in Excel verketten und berechnen

Liebe Wer-weiss-was-Kollegen,

kann mir bitte jemand dabei helfen mehrere Felder in Excel miteinander zu verketten und zu berechnen?

Gegeben: Gesucht:
Zahlen Operator Ergebnis
A B C D E F G H I J
8 3 1 2 3 + - * / 10,3(=8+3-1*2/3)

Im Ergebnis soll Excel also die Zahlen und Operatoren miteinander verknüpfen und das Ergebnis berechnen. Wie setze ich das formeltechnisch um? Kann die Felder A1 bis E1 zwar miteinander verketten, aber dann gibt Excel „8+3-1*2/3“ aus und nicht 10,3.

Bin für jede Hilfe sehr dankbar!

Beste Grüße
Moritz

Hallo Moritz,

das Problem ist nur wenn die Operaten in eine Zelle schreibst, erkennt Excel diese nicht als Operaten, sondern als Text. Wenn du dann die Zellen verbindest, denkt Excel, dass das alles Texte sind.
Frage:" Musst du die Operanten in einer Zelle haben un diese Verknüpfen?
Ansonsten halt einfach die Felder so verknüpfen:
=A1+A2-A3*A4/A5

Gruß chris

Hallo Moritz,

ich verstehe leider die Frage nicht!

Grüße, Bernhard

Hallo Chris,

vielen Dank für die schnelle Rückmeldung! Deine Antwort ist im Hinblick auf meine Frage selbstverständlich korrekt. Doch stellt das gepostete Beispiel nur eine Simplifikation meines Problems dar. Habe insgesamt 1.024 Varianten der Operatoranordnung und wollte nicht 1.024 Formeln eingeben müssen, sondern – da die Operatorenfolge schon gegeben ist – versuchen Zahlen und Operatoren irgendwie zu verknüpfen.

Viele Grüße
Moritz

Hallo Bernhard,

pardon, dann versuche ich es nochmal anders zu erklären.

Gegeben habe ich eine Folge von Zahlen
Bsp.:
A B C D E
8 3 1 2 3

sowie eine Folge von Operatoren, die die Zahlen zu einer Formel verbinden soll.
Bsp.:
F G H I

    • * /

In diesem Beispiel soll Excel also gerne Zahlen und Operatoren so miteinander verkettet werden, dass in Spalte J 8+3-1*2/3=10,3 steht.

Besser erklärt?

Viele Grüße
Moritz

Alternativ kannst du dir das auch wie folgt vorstellen:

A B C D E F G H I
8 + 3 - 1 * 2 / 3

Welche Formel schafft es daraus 8+3-1*2/3=10,3 zu errechnen?

Ein bischen Googlesuche hätte es getan

http://www.online-excel.de/excel/singsel.php?f=22

Hi Moritz,
In VisualBasic z. B. die folgende Formel eingeben:

Public Function StrCalc(rng1 As Range, rng2 As Range, rng3 As Range)
StrCalc = Evaluate(rng1 & rng2 & rng3)
End Function

Beispeil:
A1: 8 / B1: + / C1: 3
Dann in A2: = StrCalc(A1; B1; C1) [Ergebnis: 11]

Der Rest ist Fleißarbeit…

Ro

Hallo Moritz,
da musst du schon etwas genauer werden. Welche Zellinhalte sollen miteinander verknüpft und mit welchen berechnet werden? Was soll das Ergebnis sein, Beispiel aufzeigen.
Gruß
Dieter

Super, Siegfried! Funktioniert alles!

Vielen Dank! Das hat mir sehr geholfen!

Hallo Moritz,

Du kannst dies auch mit einer WENN Funktion versuchen, falls es immer genau diese 9 Felder sind.
=WENN(A5="+";A1+A2;WENN(A5="-";A1-A2;WENN(…)
Du kannst versuchen das alles in eine Formel zu packen, wird aber dann sehr lang und kompliziert. So Sollte es gehen.
Möglichkeit 2 ist dies in Abschnitte zu machen.
Also erst A5 mit WENN und Ergebnis in A10 und von dort aus weiter mit A6 WENN mit A10 und A3 in Ergebnis in A11. Nur hast du dann das Problem mit Punkt vor Strich.
Ich werde dies morgen nochmals in der Arbeit probieren.

Möglichkeit 3: VBA-Code. Da bin ich aber dann raus.

Gruß chris

Hallo Moritz,

Excel ist nach den mathematischen Regeln nutzbar, also „Punkt vor Strichrechnung“.
Das bedeutet, dass Du nur zwei Klammern setzen musst, damit die Addition bzw. Subtraktion separat durchgeführt wir.

Also in die Zelle J1 eintragen „=(A1+B1-C1)*D1/E1“ dann steht dort „6,3333“
Natürlich ohne die „“ Striche!
Gruß
FOX

Also wenn ich es richtig verstehhe soll die Textausgabe der Aufgabe und die Berechnung in einer Zelle stehen.

Folglich verbinde ich erst die Zahlen und Operatoren zu einem Text und hänge die Formel zur Berechnung wieder mit dem Verkettungsoperator & dran:

Folgende Werte und Operatoren sind vorgegeben:
in A1 steht der Wert 8
in B1 steht der Wert 3
in C1 steht der Wert 1
in D1 steht der Wert 2
in E1 steht der Wert 3
in F1 steht der Operator +
in G1 steht der Operator -
in H1 steht der Operator *
in I1 steht der Operator /

In Spalte J steht dann folgende Formel:
=(A1&F1&B1&G1&C1&H1&D1&I1&E1&"=")&(A1+B1-C1*D1/E1)
Die Ausgabe zeigt das das gewünschte Ergebnis:
8+3-1*2/3=10,3333333333333

Hallo Moritz, hiermit kommst Du weiter, denn für den 1. Part kommt hier 11 heraus: =WAHL(VERGLEICH(F2;{"+";"-";"\*";"/"}:wink:;A2+B2;A2-B2;A2\*B2;A2/B2) ► führe die Formel fort.  

Hallo Moritz,

Deine Anfrage wurde an mich weitergeleitet, ich hab’ aber leider keine Lösung zu diesem Problem.

Viel Glück, Gruß Lolek

Hallo Moritz,

zuerst: anscheinend bist Du bei „wer-weiss-was“ abgemeldet. Bitte klaren.

Ich gehe davon aus, dass Du im Excelsheet folgende Einträge hast: (kann natürlich auch in einer anderen Zeile als „1“ stehen)
A1:8
B1:3
C1:1
D1:2
E1:3
F1:+
G1:-
H1:*
I1:/
J1:=A1&F1&B1&G1&C1&H1&D1&I1

Durch diese Verknüpfung (&amp:wink: bekommst Du selbstverständlich genau die Inhalte der Zellen A1 bis I1 verknüpft (= an einander gereiht) als Ergebnis in J1.
Die Formel in J1 solte lauten: „=A1+B1-C1*D1/E1“.
Hierbei berücksichtigt Excel die Mathe-Regel:„Punktrechnung vór Strichrechnung“, das heißt: erst multiplizieren und dividieren, danach addieren und subtrahieren.
Falls bei Dir +,-,* und / an irgend eine beliebiger Stelle vorkommen kann, müste aus diesem Grund ein Makro in VBA geschrieben werden, damit die „(“ und „)“ richtig gesetzt werden.
Melde Dich in dem Fall bitte noch einmal.

Viele Grüße

Old Tiger

Hallo Moritz,

ich hab eine Lösung für dich.
Sind mehrer Schritte:

  1. Verketten die Felder. Leider gehen immer nur 5 Felder. Also musst du dies 3 mal machen.
    1.1 in J1 steht =VERKETTEN(A1;F1;B1;G1;C1), angezeigt wird 8+3-1.
    1.2 in K1 steht =VERKETTEN(H1;D1;I1;E1), angezeigt wird *2/3.
    1.3 in L1 steht =VERKETTEN(J1;K1), angezeigt wird 8+3-1*2/3.
  2. So nun musst du M1 markrieren und dann bei Excel 2010 auf Formeln ->Namen definieren gehen. Es geht ein Popup auf. Du gibts oben einen Namen ein z.B. Berechnen. Dann gehst du in dem Popup unten auf „Bezieht sich auf“ und schreibst folgendes rein.
    =AUSWERTEN(Tabelle1!L1) anschließend auf ok.
    Anschließend gehst du wieder auf Feld M1 und tippst folgendes ein: =Berechnen

Oh freude, es wurde berechent.

Probier es einfach mal.

Gruß Chris

Hallo Moritz,
Du mußt in die Zelle, die das Ergebnis anzeigen soll, folgendes eingeben: =A1+B1-C1*D1/E1 , mit Enter abschließen, das Ergebnis ist dann 10,333333.
Bei der Eingabe ist das Gleichheitszeichen als erstes wichtig, das muss man immer setzen wenn man eine Rechnung ausführen will.
Gruß Hilko