Excel in der Zellfunktion WERT für Formeln

Excel in der Zellfunktion WERT für Formeln

Ich habe eine Excel-Tabelle, die ich unter Android ausführen muss. Das einzige Problem ist, dass ich VBA für die Auswertungsfunktion verwendet habe und VBA unter Android-Apps nicht funktioniert. Ich suchte nach einer Alternative und stieß auf die Funktion „VALUE()“. Ich sah, dass eine Zelle mit:

=VALUE(10 + 5 * 3)

Würde das richtige Ergebnis (25) zurückgeben. Was ich jetzt tun möchte, ist:

=VALUE(A2)

Wobei A2 ein Text ist, der "10 + 5 * 3" enthält. Dies gibt jedoch "#VALUE!" zurück.

Gibt es einen Trick, wie ich VALUE() zum Auswerten einfacher Formeln verwenden kann?

Danke!

Antwort1

Es gibt seit Jahren einen Hack, der dies in der Vollversion von Excel tut. Ich bezweifle, dass es unter Android funktioniert, aber es könnte einen Versuch wert sein.

Ich verwende Excel 2013.

Gehen Sie zur Menüleiste FORMELEN und wählen Sie Namen definieren.

Geben Sie einen beliebigen Namen ein, zum BeispielmyResult

Geben Sie im Abschnitt „Bezieht sich auf:“ die Formel ein=EVALUATE(A2)

Fügen Sie die Formel nun =myResultan der Stelle in Ihr Blatt ein, an der die Antwort erscheinen soll.

Antwort2

Verwenden Sie INDIRECT().

Beispiel (ausMicrosoft Office INDIREKT-Funktion):

Daten
B2 1.333
B3 45
Georg 10
5 62
Formel Beschreibung Ergebnis
'=INDIREKT(A2) Wert des Bezugs in Zelle A2. Der Bezug ist auf 1,333
                   Zelle B2, die den Wert 1,333 enthält.                                   
'=INDIREKT(A3) Wert des Verweises in Zelle A3. Der Verweis bezieht sich auf 45
                   Zelle B3, die den Wert 45 enthält.
'=INDIREKT(A4) Da Zelle B4 den definierten Namen "George" hat, wird der Verweis auf 10
                   dieser definierte Name bezieht sich auf Zelle B4, die den Wert 10 enthält
'=INDIREKT("B"&A5) Kombiniert "B" mit dem Wert in A5, der 5 ist. Dies wiederum 62
                   bezieht sich auf Zelle B5, die den Wert 62 enthält.

Gilt für: Excel 2016, Excel 2010, Excel Starter, Excel 2013, Excel Online, Excel 2016 für Mac, Excel für Mac 2011, Excel 2007

Antwort3

Dafür gibt es einen „Trick“.

Ich nehme an, Sie möchten eine einfache Formel wie die in Ihrer VALUE()Formel verwendete auswerten: 10 + 5 * 3, und nicht eine Version, die buchstäblich in Anführungszeichen steht. Aber selbst wenn Sie nicht die übliche Konvention verwenden würden, das Interessante in Anführungszeichen zu setzen, sondern die auszuwertende Zeichenfolge tatsächlich in der Zelle mit den Anführungszeichen präsentieren würden, ist das auch möglich.

Und SEHR einfach.

Um das zu tun, was Sie meiner Meinung nach tun möchten: Angenommen, Zelle A1 hat den Inhalt: 10 + 5 * 3. Sie überlegen, wo Ihre Ausgabe relativ zu Zelle A1 erscheinen soll, und wählen die gewünschte Zelle aus. Wenn Sie also die Ausgabe in Zelle C1 haben möchten, wählen Sie C1 aus. Während Sie diese Auswahl treffen, erstellen Sie einen benannten Bereich, beispielsweise mit dem Namen TextCalculate, und geben ihm die folgende Formel für seinen Refers toWert:

=EVALUATE(A1)

Schließen Sie es und geben Sie in Zelle C1 ein:

=TextCalculate

und es wird alles, was in A1 steht, wie gewünscht auswerten (WENN es das kann: Es muss etwas sein, das Excel verstehen kann!) und das Ergebnis in Zelle C1 anzeigen.

Wenn Sie die Eingabe wirklich in Anführungszeichen setzen möchten, müssen Sie lediglich einen weiteren benannten Bereich für diese Art von Eingabedaten einrichten und ihm folgenden Wert zuweisen:

=EVALUATE(EVALUATE(A1))

Das erste EVALUATE()entfernt die Anführungszeichen, dann wertet das zweite den sauberen verbleibenden String aus.

Beachten Sie, dass ich sagte, setzen Sie die FunktionIN EINEM BENANNTEN BEREICHanstatt zu sagen, legen Sie es direkt in eine Zelle. Das ist ein absolutes Muss, kein Herumspielen, und wenn Sie es versuchen und es nicht funktioniert, haben Sie es wahrscheinlich trotzdem zellenseitig versucht. Tun Sie es IN EINEM BENANNTEN BEREICH und es WIRD funktionieren.

Warum ist das so? Nun, das ist interessant, obwohl ich denke, dass Sie aufgrund Ihrer Frage bereits wissen, warum ... aber andere Leser wissen es vielleicht nicht (daher das Folgende und die von Ihnen sicherlich unnötigen Ermahnungen, es nur in benannten Bereichen zu versuchen). Die Funktion stammt aus dem Befehlssatz, den Excel zum Erstellen von Makros verwendet hat, bevor VBA implementiert wurde. Sie ist für die Verwendung in Makros konzipiert, die mit den alten Tools erstellt wurden, und der einzige Ort in Excel selbst, an dem diese noch funktionieren, ist die Funktion für benannte Bereiche. Beachten Sie, dass sie nie, keine von ihnen, außerhalb von Makros funktioniert haben und dies auch heute nicht tun: außer innerhalb eines benannten Bereichs.

Solange die Android-Version benannte Bereiche verwenden kann, funktioniert es dort möglicherweise. Ehrlich gesagt kann ich das nicht überprüfen und glaube nicht, dass es so sein kann, da ich VERMUTE, dass die Android-Version eine Neufassung und kein Port ist und sie diesen Aspekt von Excel möglicherweise weggelassen haben, insbesondere da es für Makros war und Sie feststellen, dass Android diese nicht macht. Da es jedoch nicht Teil von VBA selbst ist, sondern nur darauf zugegriffen werden kann, könnte es sein, dass sie es portiert haben und es mitgeliefert wurde, obwohl sie keine Schnittstelle zu VBA eingebaut haben (und ich würde daher annehmen, auch nicht zu irgendetwas anderem). Versuchen Sie es also EVALUATE()mit einem benannten Bereich in Android Excel und sehen Sie selbst. Es könnte tatsächlich nicht mitgeliefert worden sein, aber andererseits könnte es so sein. Natürlich nicht als Tool für VBA, aber möglicherweise trotzdem für benannte Bereiche verfügbar.

Muss etwas testen, bevor ich aufhöre ... Mist ... die in verwendeten Namen LET()ähneln sehr stark benannten Bereichen, die auf die einzelne Formel „beschränkt“ sind (sie scheinen im Allgemeinen so zu sein und ersetzen einen tatsächlich definierten benannten Bereich, also ...), und ich habe mich gefragt, ob es in der Formel für einen in verwendeten Namen funktionieren würde LET(). Aber leider hat es das nicht ... Es muss mehr (oder weniger) daran liegen.

verwandte Informationen