Ohne Gleichheitszeichen führt Excel keine Berechnungen durch. Mit Text kann nicht gerechnet werden. Wirklich nicht?
Dieser Beitrag zeigt, wie es doch geht, mit dem guten alten Excel4Makro AUSWERTEN.
Die Anwendung des Excel4Makros AUSWERTEN lässt sich am besten mit Beispielen erklären.
Beispiel 1
Angenommen, es soll diese Berechnung ausgeführt werden:
(12+(24*3))/3
Dies ist ein Text, mit dem sich üblicherweise nicht rechnen lässt.
Deshalb muss ein sogenanntes Excel4Makro genutzt werden, dass noch aus einer viel früheren Version von Excel zur Verfügung steht, aber in den Funktionsbibliotheken nicht sichtbar ist.
Das ist aber kein Makro und hat auch nichts mit VBAzu tun. Im Beispiel nutzt du das Makro AUSWERTEN.
In Zelle B30 soll das Ergebnis stehen. Gehe auf Zelle B30 und gib ihr über Formeln / Namen definieren z.B. den Namen “Ergebnis1”. Unter “Bezieht sich auf” schreibst du “=AUSWERTEN(Tabelle1!$B$18)”.
Schreibe dann noch in B30 “=Ergebnis1” und klicke Enter. Nun hast du das Ergebnis vorliegen.
Wissen musst du noch, dass du die Formel “=AUSWERTEN(Tabelle1!$B$18)” nicht einfach in B30 schreiben kannst, das funktioniert nicht. Du musst also den Umweg, wie beschrieben, gehen.
Beachte bitte, dass du deine Datei jetzt als xlsm-Datei speichern musst, jedenfall, wenn du mit Excel 2007 arbeitest. Obwohl AUSWERTEN kein Makro ist, beharrt Excel darauf.
Beispiel 2
Im ersten Beispiel hast du eine Formeln mit festen Zahlen verwendet. Wie sieht es nun aus, wenn du eine Excel-Funktion verwenden willst?
Angenommen, du willst z.B. zwei Zahlen addieren, die in einem Bereich stehen.
Die (Text-)Formel steht z.B. in B50 und lautet: B46+C46
Das Ergebnis soll in Zelle B55 stehen. Gib der Zelle den Namen “Ergebnis2” und schreibe unter “Bezieht sich auf “=AUSWERTEN(Tabelle1!$B$50)”. Nachdem du noch “=Ergebnis2” in B55 geschrieben hast, liegt das Ergebnis vor.
Du fragst dich, ob sich das Ergebnis verändert, wenn sich einer der Ausgangswerte verändert. Probiere es aus, im vorliegenden Fall funktioniert das nicht.
Wie lässt sich das ändern?
Das Ergebnis soll jetzt in B64 erscheinen. Die Zelle erhält z.B. den Namen “Ergebnis3”, als Bezug schreibst du “=AUSWERTEN(INDIREKT(“Tabelle1!$B$50″))”.
Angenommen, du hast den Wert in B46 auf 46 geändert, erhälst du nun in B64 das Ergebnis mit dem Wert 60.
Beachte die Anführungszeichen in der INDIREKT-Funktion.
Beispiel 3
Als Letztes ein Beispiel mit einer Excel-Funktion. Du hast beispielsweise eine kleine Tabelle mit 3 Spalten und 3 Zeilen:
Mit der INDEX-Formel in B81
INDEX(B75:D77;2;3)
willst du den März-Wert der Stadt Köln abfragen und in E81 abbilden. E81 erhält den “Namen Ergebnis4” und Bezug auf “=AUSWERTEN(INDIREKT(“Tabelle1!$B$81”)).
Gib in E81 “=Ergebnis4” ein und AUSWERTEN errechnet:
Und jetzt nochmal dynamisch:
In B93 wird die Stadt gewählt, in B94 der Monat. In D93 willst du das Ergebnis5 sehen.
Der Formeltext in C91 lautet: INDEX(B75:D77;VERGLEICH($B$93;A75:A77;0);VERGLEICH($B$94;B74:D74;0))
Das funktioniert. Ändere die Auswahlen in B93 und B94 und es wird das jeweils richtige Ergebnis ausgewiesen.
Warum wolltest / solltest / müsstest du mit Text rechnen?
Du könntest einem Bericht z.B. eine kleine Tabelle mit auswählbaren Berechnungsformeln als Text voranstellen, die der Empfänger wählen darf.
Lege diese drei Formeln in eine Liste mit z.B. dem Namen “Formeln”. Mit der Datenüberprüfung lässt du nun z.B. für die Zelle B113 die Liste “Formeln” zu.
Du hast jetzt die Summenformel ausgewählt und willst in E113 das Ergebnis erhalten.
Vergib für E113 den Namen “Ergebnis6” und schreibe unter “Bezieht sich auf” die Formel
=AUSWERTEN(INDIREKT(“Tabelle1!B113”))
Probiere es aus und wähle nacheinander die drei Formeln. Du wirst jedesmal das entsprechende Ergebnis erhalten.
Entdecke mehr von Clevercalcul
Subscribe to get the latest posts sent to your email.
Ich habe Excel 2013. Auswerten ist dort einfach nicht verfügbar, auch wenn ich es per Hand eingebe.
Hallo Gerhard,
für Dein erstes Beispiel habe mir die UDF Ausrechnen() geschrieben, die das gleiche (und noch mehr) kann. Als ich das tat, kannte ich das Excel4Makro noch nicht. Aber es erspart einem den Umweg über den benannten Bereich. Und eine xlsm-Datei muss es ja sowieso sein.
Die Erklärung und eine Beispieldatei gibt es unter http://dabama.de/xlA
Die beiden anderen Beispiele sind für Schulungsdateien ganz praktisch. Mal sehen, ob ich da mit VBA nicht auch noch einen einfacheren Weg finde.
Herzliche Grüße
Raphael
Hallo Raphael,
vielen Dank für deinen Kommentar. Es freut mich, wenn Leser sich des Themas annehmen.
Das gleiche Thema als VBA-Lösung beschreibe ich am 17.01.17. Schau gerne wieder rein.
Viele Grüße
Gerhard