Excel: Operator aus anderen Zelle auslesen?
Hallo Leute,
ich schildere mein Probelm: Ich hab vorerst eine Tesliste erstellt, welche ungefähr so aussieht:
| A | 4 | | B | 5 | | C | 7 |...
Jetzt möchte ich woanders eine Formel eingeben, welche die Zelle rechts daneben automatisch einliest und ausrechnet. Die Zelle kann die Formel schon einlesen. Das schaut ungefähr so aus:
=SVERWEIS(TEIL(D1;1;1);$A$1:$B$11;2;FALSCH)&TEIL(D1;2;1)&SVERWEIS(TEIL(D1;3;1);$A$1:$B$11;2;FALSCH)
Die Liste befindet sich in den Spalten A und B und die Formel und ausgerechnete Formel in den Spalten D und E. Das Grüne ist die Auslese für die Variablen und das Rote die für den Operator. Allerdings wird der Operator nicht als dieser angesehen, sondern als String, wodurch nicht die ausgerechnete Formel dasteht sondern die Zahlen für die einzelnen Variablen.
Ein Beispiel:
| AxB | 4x5 |
Eigentlich sollte dastehen:
| AxB | 20 |
Jetzt hab ich eine etwas sehr komplizierten Code für 2 Variablen zusammengeschustert:
=WENN(TEIL(D1;2;1)="x";SVERWEIS(TEIL(D1;1;1);$A$1:$B$11;2;FALSCH)xSVERWEIS(TEIL(D1;3;1);$A$1:$B$11;2;FALSCH);WENN(TEIL(D1;2;1)="+";SVERWEIS(TEIL(D1;1;1);$A$1:$B$11;2;FALSCH)+SVERWEIS(TEIL(D1;3;1);$A$1:$B$11;2;FALSCH);WENN(TEIL(D1;2;1)="-";SVERWEIS(TEIL(D1;1;1);$A$1:$B$11;2;FALSCH)-SVERWEIS(TEIL(D1;3;1);$A$1:$B$11;2;FALSCH);WENN(TEIL(D1;2;1)="/"; SVERWEIS(TEIL(D1;1;1);$A$1:$B$11;2;FALSCH)/SVERWEIS(TEIL(D1;3;1);$A$1:$B$11;2;FALSCH);"unzlässiger Multiplikator"))))
Ein bisschen vereinfacht: =WENN(TEIL(D1;2;1)="x";SVERWEIS(TEIL(D1;1;1);$A$1:$B$11;2;FALSCH)xSVERWEIS(TEIL(D1;3;1);$A$1:$B$11;2;FALSCH); <<Hier kommen dann die anderen abfragen für Division, Addition und Subtraktion)
Ich werde ich aber bis zu 10 Variablen brauchen und dann wird es komplett unübersichtlich.
Multiplizieren ohne die Auslese vom Operator funktioniert bestens. Also: =SVERWEIS(TEIL(D1;1;1);$A$1:$B$11;2;FALSCH)xSVERWEIS(TEIL(D1;3;1);$A$1:$B$11;2;FALSCH)
Jetzt meine Frage: Wie kann ich den Operator als Operator verwenden, anstatt als String?
Sorry für die kack-Formatierung, aber gutefrage.net lässt einen kaum spielraum für Design, deshalb sind die Sternchen die man ja eigentlich zu multiplizieren gedacht sind durch "x" ersetzt worden
lg Wipeout
2 Antworten
Ich hab Deine lange Frage jetzt nicht voll gelesen, aber im Prinzip kannst Du m.E. nur Folgendes machen (O1 sei die Zelle mit dem Operator):
=wenn(O1="+";A1+B1;0)+wenn(O1="-";A1-B1;0)+wenn(O1="/";A1/B1;0)+wenn(O1="*";A1*B1;0)
(ob das mit * funktioniert, weiß ich nicht, denn * ist DIE WILDCARD für Abfragen, mit x würde es auf alle Fälle funktionieren, ähnlich /, das als Wiederholzeichen genutzt wird, evtl '/ in O1)
Du gibst also mehrere Formeln vor und wählst die Gültige über den Zelleintrag in O1 dann aus.
Bei Texten übrigens mit & verknüpfen, gemischt geht nicht.
Ich hab die restlichen wenn's in die Sonst_werte geschrieben, sonst grundsäzlich passt das so.
Ich werde mehrere Formeln angeben und alle sollen ausgerechnet werden.
Beantwortet also nicht meine Frage. Trotzdem Danke für die Antwort!
Ich hab die Frage auch in einem anderen Forum gestellt und dort sind wir näher an der Lösung dran. Falls dort mein Problem gelöst wird, poste ich den Link.
lg Wipeout
Du kannst dir das Leben wesentlich einfacher machen, wenn du die Zellen auf mehrere Spalten verteilst, bevor du eine Verweisfunktion darauf anwendest. Du hast drei bis vier Informationseinheiten: Spalte1 (A), Spalte2 (B), Zahl (20), IstX (x)
Versuche, pro Zelle immer nur eine Information darzustellen, es sei denn, du strickst dir einen Antwortsatz oder ähnliches zurecht.
Rechnen ist immer mit unitären Werten einfacher.