Calc bzw. Excel Berechnung

Pyrukar

Captain
Registriert
Jan. 2013
Beiträge
3.683
Hallo zusammen,

ich sitze gerade vermutlich nur ganz heftig auf dem Schlauch und komm nicht weiter.

Also ich habe eine relativ einfache Kettenrechnung die ich einfach nicht kondensiert bekomme :( also wir haben einen Startwert Wir haben einen Ausgangswert und erhöhen den Ausgangswert jeweils um 1 um dann als Ausgangswert für die nächste Stufe zu dienen. Die "Kosten" für diese Erhöhung sind abhänig von der Differenz des Ausgangswerts zum Startwert. solange der Ausgangswert kleiner Gleich dem Startwert ist betragen die kosten für den nächsten Schritt 1 andernfalls berechnen sich die kosten durch die Differenz von Startwert und Ausgangswert. Die anzahl der Erhöhungsschritte Soll variabel sein und die Gesamtkosten über die Gesamte Rechnung direkt angegeben werden. Möglichst ohne alle Iterationen tatsächlich darzustellen, da das sehr aufwändig ist.

ich habe euch mal im Anhang ein calc dokument angehängt indem das nochmal verdeutlicht wird. ich musste es als xlsx abspeichern weil CB keine libre Office dateien akzeptiert :( soll letztlich aber als Libre Office laufen :) aber normalerweise war das bisher nie ein Problem.

Gruß
Pyrukar
 

Anhänge

Sorry, aber bei deinen Angaben verkrampft sich mir das Hirn.
WAS genau willst du jetzt? Ist das ein fixes "Stufensystem"? Oder variiert das?

Wenn es ein Fixes System ist, dann versuchs mit Index und Vergleich und entsprechender zahlenmäßiger Adressierung des Summenbereichs.

So wie ich das verstanden habe würde es mal mit folgenden Formeln funktionieren.

E18: =INDEX(F8:L8;1;VERGLEICH(E16;F6:L6;0)+E17)
E19: =SUMME(INDIREKT(ADRESSE(7;VERGLEICH(E16;F6:L6;0)+5)&":"&ADRESSE(7;VERGLEICH(E16;F6:L6;0)+5+E17)))

Funktioniert halt nur, wenn man nicht mehr Erhöhungen angibt, als möglich sind.

LG Cheetah.
 
Probier's mal damit.

E19: =MAX(0;MAX(0;E17+E16-E15-1)*MAX(0;E17+E16-E15)/2-MAX(0;E16-E15-1)*MAX(0;E16-E15)/2+MAX(0;MIN(E17;E15-E16+1)))
 
Zuletzt bearbeitet:
Ich habe das File mit OpenOffice geöffnet und es sieht wie eine mittlere Katastrophe aus. Auf was willst du hinaus?
 
Sorry hat sich gelöst ... hab einen Befreundeten Informatiker auf das Problem angesetzt ... Die Formel dafür geht über etwa 3 Zeilen :D und ich glaube sie ist speziell genug, dass ich sie hier nicht reinschreiben muss :)
 
Wäre schon interessant, wie der das Problem gelöst hat. Aber du mußt hier selbstverständlich keinen Bandwurm hineinschreiben.
 
also da ich es nicht vollständig verstehe kann ich fast nur den Bandwurm reinschreiben ... ein bisschen erklären kann ich zumindest noch die Zellenbezüge und die Grundüberlegung.

=WENNS(G107<G106;42;G107=G106;0;G107<=1;G107-G106;UND(G106>0;G105>0;G106>=G105);(G107-G105)((G107-G105)+1)/2-(G106-G105)(G106-G105+1)/2;UND(G106<G105;G105>0);G105-G106+(G107-G105)*((G107-G105)+1)/2;1;1-MIN(G106;G107)+(G107-1)*G107/2)

Also das ganze ist sinvoll in eine Andere (nicht die Beispieldatei) Tabelle integriert daher andere Bezüge.
G107=Wert nach Steigerung
G106= Wert vor Steigerung
G105= Startwert

Durch die Differenz von 107 und 106 ergeben sich die Iterationsschritte. Die kosten falls Größer Startwert sind mit der Gausschen Summenformel beschrieben bzw der differenz aus zwei Summenformeln. Kosten falls kleiner Startwert bis zum Start wert sind 1 pro Iteration

Gruß

Pyrukar
 
Wenn ich deine Lösung in deiner Beispieldatei eintrage erhalte ich als Ergebnis 23. Es wirkte aber so, zumindest für mich, dass 17 das richtige Ergebnis sein sollte.

Mein Lösungsvorschlag bedient sich auch der Gausschen Formel. Ich denke, mit einer klareren Fragenstellung hätte dir hier auch jemand die richtige Lösung nennen können. So als Tipp für dir Zukunft.

Aber hauptsache, dein Problem ist gelöst.
 
Ich hab´s ehrlich gesagt, nicht mit Mathematik. War immer schon mein schlechtestes Fach.
 
Etwas viel simpler als #7 ist der Gauss-Ansatz:

Bezogen auf die Beispiel-Datei:
G2 das Level, F5 der Start
Code:
=(F5+2)+(((G2-F5-1)*(G2-F5))/2)

Getestet bis 100 hoch, funktioniert einwandfrei bei Start >= 0.
 
Zurück
Oben