Seite 1 von 1
Re: Aus aufstellung Formel machen
Verfasst: Do, 20.02.2014 09:23
von Karolus
Hallo
Schreibe z.B. in D1 die richtige Formel:
und lass die B1 die Formel anzeigen:
Re: Aus aufstellung Formel machen
Verfasst: Do, 20.02.2014 18:28
von lorbass
Gast hat geschrieben:dann brauche ich jedes mal eine (versteckte) Zelle zusätzlich.
Na ja, du kannst in ein und derselben Zelle halt nur
entweder die Formel selbst
oder das Ergebnis der Formel anzeigen lassen.
Gruß
lorbass
Re: Aus aufstellung Formel machen
Verfasst: Do, 20.02.2014 22:51
von mikeleb
Hallo,
meine Vorredner haben natürlich recht und die zusätzliche Spalte ist ein guter Kompromiss.
Solange die Summen nur wenige Summanden haben, geht es prinzipiell auch mit einer Formel. Wenn es immer genau drei Summanden sind, würde folgende Matrixformel alle Summen in A1 bis A20 addieren:
Code: Alles auswählen
=SUMME(WERT(LINKS((A1:A20);SUCHEN("+";(A1:A20))-1))+WERT(TEIL((A1:A20);SUCHEN("+";(A1:A20))+1;SUCHEN("+";WECHSELN((A1:A20);"+";"*";1))-SUCHEN("+";(A1:A20))))+WERT(TEIL((A1:A20);SUCHEN("*";WECHSELN((A1:A20);"+";"*";2))+1;100)))
(abzuschließen mit Shift+Strg+Enter)
Sollten es jeweils unterschiedlich viele Summanden sein, würde die Formel noch aufwändiger werden ...
Re: Aus aufstellung Formel machen
Verfasst: Fr, 21.02.2014 12:24
von mikeleb
Hallo Bernd,
wie meine Vorredner (oder -schreiber) schon darlegten geht es nicht. Durch deine Eingabe steht in der Zelle ein Text damit lässt sich nicht rechnen ... es sei den man wandelt den Text wieder in Zahlen (siehe Funktion Wert()). Hier haben wir es aber nicht nur mit Zahlen sondern auch noch mit Operatoren zu tun, d. h. man muss den Term algebraisch analysieren und das wird bei weitem nicht einfacher als Karolus' Vorschlag.
Es gibt natürlich auch noch die Variante, das Ganze in ein Makroprogramm zu packen. Dafür wäre es dann wichtig zu klären, ob es "nur" Additionen sind oder auch noch andere Operationen auftreten können. Spätestens dann wird es eine Aufgabe für einen hauptamtlichen Entwickler.
Re: Aus aufstellung Formel machen
Verfasst: Fr, 21.02.2014 18:46
von mikeleb
Hallo Bernd,
da es mir keine Ruhe gelassen hat, habe ich mich mal an ein Makro gemacht.
Code: Alles auswählen
function textsumme(vArgument as variant)
GlobalScope.BasicLibraries.LoadLibrary("Tools")
dim eingang()
if not isarray(vArgument) then
redim eingang(0,0)
eingang(0,0)=vArgument
else
eingang=vArgument
end if
summe=0
for i=lBound(eingang()) to uBound(eingang())
for j=lBound(eingang(),2) to uBound(eingang(),2)
if isnumeric(eingang(i,j)) then
summe=summe+eingang(i,j)
else
eingang(i,j)=ReplaceString(eingang(i,j),"+-","-")
eingang(i,j)=ReplaceString(eingang(i,j),",",".")
summanden=split(eingang(i,j),"+")
for k=lBound(summanden()) to uBound(summanden())
summe=summe+val(summanden(k))
next
end if
next
next
textsumme=summe
End function
Mit dieser Funktion kannst du nun die Summe auch von Textzellen bilden, die selbst Summen oder auch Differenzen darstellen (siehe Beispieldatei). Sin din dem bereich Zahlen vorhanden werden diese auch akzeptiert und mitgerechnet.