Arithmetrischen Operator generieren

Gibt es eine Möglichkeit, die speziellen Zeichen wie „>“, „^“, „<=“, „*“, u.s.w. aus TEXT in arithmetrische Operatoren umzuwandeln, was CALC ja nur dann macht, wenn man eine =FORMEL() in eine Zelle eingibt?
Beispiel:

  • [A1] hat einen ZAHL-Operand,
  • [B1] hat eines der TEXT-Operatoren (solo, ohne „=“),
  • [C1] hat wieder eine ZAHL-Operand.

In [D1] soll daraus eine Formel generiert werden und das Ergebnis angezeigt.
Begründung: Die Werte in [A1…C1] sind variabel und offensichtlich, während eine Formel in einer Zelle versteckt ist und – wenn kompliziert – schwierig durchschaubar und veränderbar ist. Das Umschalten aller Zellen zwischen sichtbarer FORMEL und sichtbarem Ergebnis ist dabei keine Lösung! Schließlich interessiert mich ja die Formel anstelle des Ergebnisses nicht.

Nein, es gibt keine EVAL-Funktion wie in anderen Programmiersprachen.
Höchstens sowas hier: t99144.ods (12.9 KB)

2 Likes

Super, vielen Dank für deine Antworten. Das hilft mir bei einem anderen Problem. :smiley:

1 Like

@Villeroy : Darauf muss man erstmal kommen, wenn man nicht weiß wie! Bis zur „&“-Verknüpfung war ich gekommen, jedoch nicht weiter.
Dass die Daten-Gültigkeit eine Liste von Ausdrücken tatsächlich durchrechnen kann, benötigt Abgrund-tief-versteckte Kenntnis dieses Funktions-Blocks, die mir fehlt.
Kann man damit komplexe Funktionen wie etwa „=VERWEiS()“ durchführen?


@josinoro : Mich interessiert, wie Du Deine Aufgabe damit lösen willst!?

VERWEIS tut niemals das, was die meisten Leute von dieser Funktion erwarten. Du willst sowas wie SVERWEIS(A1 ; $X$1:$Y$99 ; 2 ; 0) oder INDEX($X$1$X$99 ; VERGLEICH(A1 ; $Y$1:$Y$99 ; 0)) wobei jeweils die 0 der springende Punkt ist.

@Villeroy : Man muss =VERWEiS() und =WVERWEiS() und =SVERWEiS() intensiv studieren, damit solche Funktions-Blöcke komplexer Array-Verortungen korrekt das gewünschte Ergebnis ausgeben, dann bieten sie erstaunlich einfache Lösungswege. Ansonsten eher: trial-and-error-horror :kissing_heart::face_with_head_bandage::face_with_monocle::thinking:. Ich schätze, ich verausgabte 100 Stunden damit bisher. Und 50 Tassen Espresso Kaffa. Und 1 Dutzend misslungener Algorithmen-Computer-Leichen …


Mir erscheint anhand so vieler kaufmännischer Funktionen, dass CALC wenig geeignet ist für Arithmetrik, Elektronik, Physik, Astronomie, Astrologie, Differenzialberechnung, blablabla.
Ich bin eher geneigt – wie so viele Andere –, CALC als Datenbank zu missbrauchen :adhesive_bandage:.


Behandelt man die NULL als Ziffer oder als boolsches FALSE oder als elektrisch niedriges Potenzial „0“ bzw. „L“, so gelingt das. Lediglich „ideologisch-schulisch“ als math. Zahl gesetzt, führt in ebensolche Abgründe:

  • logarithmisch setzt mit 1 als niedrigster Wert ein;
  • dividiere nicht durch NULL oder UNENDLiCH!
  • in CALC kann NULL == leere Zelle sein;
  • ist nun eine NULL-Menge vorhanden oder nicht vorhanden?

Es ist sehr einfach, von einer Tabellenkalkulation ein Ergebnis zu bekommen. Es ist jedoch vergleichsweise schwer, von einer Tabellenkalkulation ein korrektes Ergebnis zu bekommen. VERWEIS war schon 1979 genau so in der ersten Version von Visicalc. S/HVERWEIS und VERGLEICH existieren seit mindestens 35 Jahren unverändert in Excel und Co. Seit über 20 Jahren erkläre ich diese Funktionen. Seit ca. 15 Jahren versuche ich Leute von Tabellenkalkulationen generell abzubringen, weil die allermeisten Anwender die falsche Software darin zu erkennen glauben.

1 Like

Mir sind selbst Dipl-Ing.s begegnet, die nicht einmal das Logarithmieren verstanden haben. Und Kaufleute, die nicht rechnen können – siehe „Prozentpunkte“, was immer sie darunter verstehen! Erst recht nicht solche, die mit Toleranzwerten umgehen können. Die PiSA-Schul-Studie würde absurd erweitert werden, ziehe man Erwachsene hinzu.
Ich will ja nicht lästern: zum Physik-Genie muss man sich selbst in diese Welt gestupst haben. Die Anderen haben eben andere Qualitäten, die mir mangeln :laughing:.

Das “Nachschlagen” von Werten in einer Tabellenkalkulation geht standardmäßig von einem aufsteigend sortierten Suchvektor aus (“Vektor” = eine Spalte oder Zeile von Werten).
Der Anhang hat einen aufsteigenden Suchvektor mit Punktwerten in A1:A6, dem die 6 dt. Schulnoten zugeordnet sind.
Spalte F hat die Punktwerte einer Klassenarbeit.
Die nachfolgenden Spalten-Paare liefern die entsprechenden Ergebnisse mit VERWEIS, SVERWEIS und INDEX/VERGLEICH.
SVERWEIS und VERGLEICH können vom Modus 1 in den Modus 0 umgeschaltet werden. Wenn das letzte Argument fehlt, wird Modus 1 angenommen.
Will man diskrete Werte in einer Tabellenkalkulation nachschlagen, dann will man Modus 0 anwenden.
VERWEIS arbeitet immer nur im Modus 1 und ist somit ungeeignet weil es falsche Ergebnisse liefert wenn der Suchvektor nicht aufsteigend sortiert ist und/oder wenn der Suchwert zwischen 2 Werten des Suchvektors liegt, also gar kein exakter Treffer vorliegt.
verweis.ods (21.9 KB)