Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Operator aus Text in Formel einbinden?

Operator aus Text in Formel einbinden?
25.02.2015 12:57:03
Sebastian
Hallo liebe Forumsgemeinde,
dies ist mein erster Eintrag in dieses Forum und möchte hiermit auch gerne alle Excel-Experten begrüßen ;-).
Nun komme ich zu meiner Frage,
ich habe eine Arbeitsmappe angelegt, die den Namen Taschenrechner hat, im folgenden ist die Mappe so aufgebaut, dass in Zelle A2 die Mathematische Operation steht z.B. Addieren, in Zelle B2 steht ein Zahlenwert z.B. 2, in Zelle C2 steht nun ein Plus "+" für die Operation als Operator, in Zelle D2 steht ein weiterer Zahlenwert z.B. 3, in Zelle E2 steht die Funktion als Text, Formel =Verketten("=";"B2";C2;"D2") in Zelle F2 steht dann die Formel "=B2+D3".
Jetzt komme ich zu meinem Problem, wenn ich nun in Zelle C2 einen anderen Operator eingebe z.B. "*" zum Multiplizieren, ändert sich der Ausdruck auch in Zelle E2 von "+" nach "*", doch die Rechnung in Zelle F2 bleibt eine Addition. Jedoch möchte ich gerne, dass sich der Operator in F2 auch ändert und dann =B2 "*" D2 berechnet wird.
Habt ihr vielleicht eine "einfache" Möglichkeit um dieses um zu setzen? Am liebsten ohne VBA, aber wenn es nicht anders geht, ist mir mit einer Lösung in VBA auch sehr geholfen.
Mit freundlichen Grüßen
Sebastian

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Operator aus Text in Formel einbinden?
25.02.2015 13:05:02
hary
Moin
Na dann wilkommen. Das geht mit Excel4Makro.
Du musst mit Name arbeiten.



Tabelle1
 ABC
123*
22*3  
36  

verwendete Formeln
Zelle Formel Bereich R1C1 für Add In
A2=A1&C1&B1  =R[-1]C&R[-1]C[2]&R[-1]C[1]
A3=Formel  =Formel

definierte Namen  
Name Bezieht sich auf Tabelle Z1S1-Formel
Formel=AUSWERTEN(Tabelle1!$A$2) =EVALUATE(Tabelle1!R2C1)

http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://hajo-excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 14.02 einschl 64 Bit

gruss hary

Anzeige
Nicht nur mit XLM-Fktt, ...
25.02.2015 14:46:51
Luc:-?
…Hary (& Sebastian),
wie du ja weißt, denn sie bringen spätestens ab Xl12/2007 kaum noch Vorteile ggüber VBA-Lösungen (außer, dass AUSWERTEN nur mit lokal-dt FmlTexten fktioniert, was mit VBA nur umständlich zu erreichen ist, hier aber wohl keine Rolle spielt), denn nicht nur ein Name muss definiert, sondern die betroffene Datei dann auch stets als .xlsm gespeichert wdn, was bei einer VBA-basierten UDF, die idR nur mit US-Original-FmlText (oder wohl auch Französisch) arbeiten kann, beides nicht der Fall sein muss, wenn die UDF in einer anderen Mappe (am besten einem AddIn →.xlam/b) im ständigen Zugriff zV steht. Eine Trivial-UDF, die das als 1:1-Umsetzung der vbFkt Evaluate vermag, ist unter dem RECHERCHE-Stichwort LetFormula im Archiv zu finden.
Gruß, Luc :-?
Besser informiert mit …

Anzeige
AW: Nicht nur mit XLM-Fktt, ...
26.02.2015 07:50:12
hary
Moin Luc
Ging am schnellsten. ;-)
Bin,wie du auch,der Meinung eine UDF ist besser als eine Ellenlange Formel. Das Thema kam ja schon oft vor.
gruss hary

Ja, da hast du recht, Hary! Gruß owT
26.02.2015 14:53:58
Luc:-?
:-?

AW: Operator aus Text in Formel einbinden?
25.02.2015 18:56:16
Sebastian
Hallo und vielen Dank für eure schnellen Antworten :-),
ich hoffe ihr werdet jetzt nicht hinter euren Rechnern umfallen, denn ich hatte eigentlich schon alles richtig gemacht. Ich hatte schon über Namen definieren der Zelle den Namen Formel_1 zugeordnet, zum Auswerten der Formel habe ich dann Bezieht sich auf:=Auswerten(Indirekt("E2"))eigegeben, alleine habe ich dann Anstatt in die Zelle "=Formel_1" zu schreiben die Operation "=B2+D2" geschrieben.
Trotzdem danke ich euch sehr, jetzt funktioniert alles so, wie es von mir gewünscht war.
Manchmal sollte man doch noch mal den Kopf einschalten ;-)
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Operator aus Text in Formel einbinden


Schritt-für-Schritt-Anleitung

Um einen Operator aus einem Text in eine Excel-Formel einzubinden, kannst du folgende Schritte befolgen:

  1. Erstelle eine Tabelle: Lege in einer Excel-Tabelle die folgenden Spalten an:

    • Spalte A: Mathematische Operation (z.B. "Addieren")
    • Spalte B: Erster Zahlenwert (z.B. 2)
    • Spalte C: Operator als Text (z.B. "+")
    • Spalte D: Zweiter Zahlenwert (z.B. 3)
    • Spalte E: Formel als Text (z.B. =VERKETTEN("=";B2;C2;D2))
    • Spalte F: Die tatsächliche Formel (z.B. =B2+D2)
  2. Operator umsetzen: In Zelle C2 kannst du den gewünschten Operator eingeben (z.B. * für Multiplikation).

  3. Formel anpassen: Verwende in Zelle F2 die Funktion AUSWERTEN, um die Formel dynamisch zu generieren. Beispiel:

    =AUSWERTEN(E2)
  4. Namen definieren: Gehe zu "Formeln" > "Namen definieren" und definiere einen Namen, z.B. "Formel_1", der sich auf =AUSWERTEN(INDIREKT("E2")) bezieht.

  5. Formel überprüfen: Stelle sicher, dass die Formel in Zelle F2 die richtigen Werte aus B2 und D2 verwendet und den Operator aus C2 dynamisch anwendet.


Häufige Fehler und Lösungen

  • Fehler: Die Formel in Zelle F2 bleibt unverändert, wenn der Operator in C2 geändert wird.

    • Lösung: Stelle sicher, dass du die AUSWERTEN-Funktion korrekt verwendest und die Formel in E2 richtig verknüpft ist.
  • Fehler: Zelle F2 zeigt einen Fehler an.

    • Lösung: Überprüfe die Logik der AUSWERTEN-Funktion und stelle sicher, dass die Formel korrekt formatiert ist.

Alternative Methoden

Falls du eine VBA-Lösung in Betracht ziehst, kannst du eine benutzerdefinierte Funktion (UDF) erstellen, die den Operator aus Zelle C2 auswertet und die Berechnung durchführt. Hier ist ein einfaches Beispiel:

Function Berechnung(zahl1 As Double, operator As String, zahl2 As Double) As Double
    Select Case operator
        Case "+"
            Berechnung = zahl1 + zahl2
        Case "-"
            Berechnung = zahl1 - zahl2
        Case "*"
            Berechnung = zahl1 * zahl2
        Case "/"
            Berechnung = zahl1 / zahl2
        Case Else
            Berechnung = 0
    End Select
End Function

Diese Funktion kann in Zelle F2 verwendet werden, um die Berechnung durchzuführen, basierend auf den Werten in B2, C2 und D2.


Praktische Beispiele

  1. Addition:

    • B2: 2
    • C2: +
    • D2: 3
    • Ergebnis in F2: =AUSWERTEN(E2) ergibt 5.
  2. Multiplikation:

    • B2: 4
    • C2: *
    • D2: 5
    • Ergebnis in F2: =AUSWERTEN(E2) ergibt 20.

Tipps für Profis

  • Nutze die INDIREKT-Funktion, um dynamisch auf Zellen zuzugreifen. Dies kann dir helfen, die Flexibilität bei der Erstellung von Formeln zu erhöhen.
  • Experimentiere mit verschiedenen Operatoren wie & für Textverknüpfung oder ^ für Potenzen.
  • Wenn du häufig mit Formeln arbeitest, die Operatoren aus Texten verwenden, könnte es sinnvoll sein, diese in ein Add-In zu integrieren.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Operatoren in einer Formel verwenden?
Du kannst mehrere Operatoren in einer Formel kombinieren, indem du sie in Zelle C2 als Text angibst und sicherstellst, dass die Formel in Zelle F2 korrekt auf sie verweist.

2. Funktioniert das auch in älteren Excel-Versionen?
Die beschriebenen Methoden sollten ab Excel 2007 funktionieren, insbesondere wenn du die AUSWERTEN-Funktion und VBA verwendest.

3. Kann ich Operatoren auch aus anderen Zellen einbinden?
Ja, du kannst die INDIREKT-Funktion nutzen, um Operatoren aus verschiedenen Zellen in deine Formel einzubinden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige