Clever-Excel-Forum

Normale Version: Excel Rechnung in einer Zelle mit mehr als 254 Zeichen in anderer Zelle ausrechnen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Dann hat MrBurns das Problem (Anwendung von AUSWERTEN) nicht mitbekommen, und die Limitation besteht weiterhin wie in alten Versionen.

VBA hat außerdem nach wie vor eine Grenze von 255 Zeichen für String-Argumente in Functions. Das würde zusammenpassen.

Dann gäbe es für Dich keine Lösung, außer z.B. nach jeder 8. schließenden Klammer zu suchen und den String dort zu unterbrechen/mit mehreren AUSWERTEN zu verketten.
Hallöchen,

Zitat:außer z.B. nach jeder 8. schließenden Klammer zu suchen und den String dort zu unterbrechen/mit mehreren AUSWERTEN zu verketten.
das eventuell auch automatisch in einer "programmierten" Funktion,

wenn es immer Additionen sind z.B.
String übernehmen,
an )+( in ein Array splitten,
bei erstem Teil die führende Klammer entfernen und beim letzten die schließende,
ein einer Schleife auswerten …
Das hatte ich tatsächlich "übersehen" - einfach, weil ich die Funktion gar nicht kannte.
Was ist denn der tiefere Sinn dahinter?
Hallo,
es sind ja immer unterschiedlich lange Rechnungen. Mal unter 255 Zeichen, mal mehr. Also unterschiedliche Anzahl von Summanden.
Wie kann man das da wo in eine Formel einbauen?

Meinst du hier? =AUSWERTEN(INDIREKT(WECHSELN(TEIL(ZELLE.ZUORDNEN(6;INDIREKT("ZS";));19;99);")";)))

Oder in der eigentlichen Rechenaufgabe? z.B. (8,01*9,195-3,685*2,935+0,12*1,26)+(3,51*2,755+1,135*0,175)+(7,885*6,195+2*1,26*0,24)+(8,01*9,195-3,685*2,935+0,12*1,26)+(3,51*2,755+1,135*0,175)+(2,76*5,575)+(2,01*5,575)+(3,125*5,575)+(2,135*4,075)+(1,385*4,075)+(2,135*4,075)+(1,76*4,075)+(3,01*5,575)+(4,825*5,575)+(8,25*2,01+7,885*4,26+8,25*2,01+2*0,12*2,01)+(6*1,135*0,24+1,26*0,24+5*1,01*0,24)+(9,475+12,02)/2*8,04+8,49*0,12+2*3,01*0,12+(7,51*8,51-3,685*2,81+1,26*0,12) usw.


Ansonsten muss es bei mehreren Zellen Rechnungen und dann Ergebnisse summieren bleiben.

Viele Grüße
A1: Dein String

B1: =Add

B1: Namen Definieren Add BeziehtSichAuf: 

=SUMMENPRODUKT(WENNFEHLER(AUSWERTEN(GLÄTTEN(TEIL(WECHSELN(A1&"+";"(";WIEDERHOLEN(" ";999)&"(");SPALTE($A1:$AZ1)*999-998;999))&0);))

Das erlaubt ca. 51 ()-Summanden - oder eine gesamte Stringlänge von etwa gut dem Doppelten ggü bei Dir, je nachdem, was zuerst eintrifft.

Statt SUMMENPRODUKT könnte vermutlich SUMME ausreichen.

Ein Summand mit Unterklammerungen +(23*34*(34*2,1-12*3,2))+ ist nicht erlaubt!

Anmerkung: In neuem Excel gibt es =FORMELTEXT. Damit kommst Du um .xlsm herum, wenn Du Deine Formel als Formel eingibst, und dann mit dieser Funktion auswertest (also umgekehrte Reihenfolge).
Seiten: 1 2