Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1324to1328
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel ein mathematisches Problem lösen lassen

Excel ein mathematisches Problem lösen lassen
22.08.2013 08:27:25
Christian
Hallo alle zusammen,
sorry hatte keine Ahnung, wie ich den Betreff hätte weiter präzisieren sollen.
Ich bitte um Eure Hilfe mit angehangener Datei.
Ja es geht um Berechnungen für ein Computerspiel in dem man typisch Rollenspiel neue Level nach dem Kampf erreichen kann.
Es werden für jedes neue Level Fertigkeitspunkte addiert, von Level 1 bis 10 gibt es 5 Punkte von Level 11-20 6 Punkte von Level 21-30 7 Punkte, von Level 31-40 8 Punkte usw.
Suche eine Formel, die für jeden Spieler anhand vom vorgegebenen derzeitigen Level und der bereits vorhandenen Fertigkeitspunkte ausrechnet, bis zu welchem Level ich gehen kann, ohne dabei die Maximalzahl von 1000 Fertigkeitspunkten zu überschreiten.
Hat da jemand eine Idee?
Gruß und vielen Dank
Christian
https://www.herber.de/bbs/user/86975.xlsx

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel ein mathematisches Problem lösen lassen
22.08.2013 09:02:51
JACKD
Hallo Christian.
Deine Frage ist für mich noch nicht ganz nachvollziehbar.
1. Wie verändert sich das Level? Bzw. was sind die Levelgrenzen?
2. Du hast zwar geschrieben, dass in Abhängigkeit des derzeitigen Levels Fertigkeitspunkte vergeben, aber nicht erwähnt, wie diese sich auf das Level auswirken.
3. Hast du in deiner Beispielmappe Fertigkeitspunkte angegeben (die variieren von Spieler 1-4), alle Spieler haben jedoch das gleiche Level?
Bitte erweitere doch deine Datei um einige Beispiele und definiere die Grenzwerte.
Grüße

AW: Excel ein mathematisches Problem lösen lassen
22.08.2013 09:34:26
Christian
Hallo Jack,
erstmal danke für die Antwort, versuche es mal nochmal zu erklären
gemäß den Regeln die ich genannt habe, werden mit jedem neuen Level Fertigkeitspunkte addiert, d.h. für jeden Spieler würden wenn er in Level 201 aufsteigt 25 Punkte addiert werden, ab Level 211 dann 26 Punkte ab Level 221 dann 27 Punkte ab Level 231 dann 28 Punkte usw.
das heißt ab einem bestimmten Level hat der Spieler die 1000 Punkte Grenze überschritten, wenn man vorher bereits viele Punkte hatte natürlich eher als wenn man vorher wenige Punkte hatte. und genau dieses Level soll die Formel ausgeben.
Das jetzt gerade alle Spieler Level 200 haben ist dem geschuldet, das zum jetztigen Zeitpunkt des Spiels 200 das Maximum ist, das wird sich aber später noch ändern. Das heißt dann aber auch, die Formel muss mit anderen Leveln funktionieren.
Danke
Christian

Anzeige
AW: Excel ein mathematisches Problem lösen lassen
22.08.2013 09:38:27
Christian
um nochmal etwas konkreter auf deine Fragen einzugehen
Hallo Christian.
Deine Frage ist für mich noch nicht ganz nachvollziehbar.
1. Wie verändert sich das Level? Bzw. was sind die Levelgrenzen?
das Level ändert sich durch anklicken in einer Trainingshalle, Grenzen für das maximale Level sind mir keine bekannt
2. Du hast zwar geschrieben, dass in Abhängigkeit des derzeitigen Levels Fertigkeitspunkte vergeben, aber nicht erwähnt, wie diese sich auf das Level auswirken.
Das Erreichen neuer Levels ist linear, hierbei gibt es keine Steigerung wie bei den Fertigkeitspunkten, die Anzahl der Fähigkeitspunkte hat keine Auswirkung auf das Level.
3. Hast du in deiner Beispielmappe Fertigkeitspunkte angegeben (die variieren von Spieler 1-4), alle Spieler haben jedoch das gleiche Level?
Erklärung in der Nachricht zuvor
Bitte erweitere doch deine Datei um einige Beispiele und definiere die Grenzwerte.
Grüße

Anzeige
AW: Excel ein mathematisches Problem lösen lassen
22.08.2013 09:43:31
Christian
hänge mal noch eine Liste an, mit den Fertigkeitspunkten pro neuem Level. Wenn mir eine Formel einfallen würde um ein Beispiel vorzurechnen, bräuchte ich eure Hilfe nicht. Ein paar Grundrechenarten von einer mathematischen Formel in Excel zu übertragen schaffe ich selbst.

AW: Excel ein mathematisches Problem lösen lassen
22.08.2013 10:37:09
JACKD
Hallo Christian
schau dir die Lösung mal an und Prüfe ob sie die richtigen Werte zurück gibt.
Es ist über eine Public Function gelöst, da mir keine andere Formellösung einfiehl.
Folgendes einfach in ein Modul kopieren Public Function FPunkte(FP_Start As Long, Start As Long, LvL As Long) For i = Start + 1 To LvL Punkte = Punkte + WorksheetFunction.RoundDown(i / 10, 0) + 4 Next i FPunkte = Punkte + FP_Start End Function Dann kannst du die Funktion ganz normal in deiner Mappe aufrufen.
Sie hat 3 Parameter die du mittels komma trennst.
1. Parameter = Startlevel
2. Parameter = NeuesLevel
3. Prameter = Fähigkeitspunkte bei Startlevel
Ausgabe = Fähigkeitspunkte bei NeuemLevel
Grüße

Anzeige
AW: Excel ein mathematisches Problem lösen lassen
22.08.2013 11:16:19
Christian
habe das Makro in ein Modul eingefügt (hoffe das war richtig),
aber die Formel =FPunkte(B2;X;C2) gibt immer 200 aus, egal was ich für X einsetze.
Das wäre aber zumindest schonmal eine Hilfe, wenn die Formel richtig rechnen würde auch wenn das Ziel war, die Lösung deiner Formel vorzugeben und X zu berechnen.
Wäre schön wenn dir da noch was einfällt.
Gruß
Christian

AW: Excel ein mathematisches Problem lösen lassen
22.08.2013 11:21:38
Christian
vielleicht sage ich nochmal was ich genau suche.
Wenn es für jedes neue Level 20 Punkte geben würde, hätte Spieler 1 mit 49 neuen Leveln 980 Fertigkeitspunkte hinzubekommen + die 9 die er bereits hat, sind 989. Also wäre die gesuchte Ausgabe der Formel der Level 249
Level 250 würde nicht mehr gehen, weil es dann 1009 Fertigkeitspunkte wären und 1000 überschritten würden.
Jedoch sind die Punkte die für jedes neue Level vergeben werden nunmal nicht konstant 20, das ist mein Problem.
Gruß
Christian

Anzeige
AW: Excel ein mathematisches Problem lösen lassen
22.08.2013 11:24:25
JACKD
Also das Max Level ist das Ziel?
dann so
Public Function MaxLvL(FP_Start As Long, Start As Long)
i = Start
Do While Punkte + FP_Start 

Parameter 1= Startlevel
Parameter 2= Start_FP
Ausgabe = Max_Level
Grüße

Korrektur
22.08.2013 11:28:45
JACKD

Public Function MaxLvL(FP_Start As Long, Start As Long)
i = Start
Do While Punkte + FP_Start 
Da fehlte noch ein -1
Grüße

AW: Korrektur
22.08.2013 11:39:16
Christian
ich lade die Datei mal nochmal hoch mit Formel und Makro, die Ergebnisse können nicht stimmen (neuer Wert teilweise kleiner als Ausgangswert).
https://www.herber.de/bbs/user/86982.xlsm

Anzeige
AW: Korrektur
22.08.2013 11:43:45
Christian
habe mal von Hand nachgerechnet
9 (FP Start) +10*25+10*26+10*27+7*28 985 ergibt
müsste der gesuchte Wert 237 sein, da dann bei 37 Levelerhöhungen die Grenze erreicht ist.

AW: Korrektur
22.08.2013 11:43:54
JACKD
Nun.
Da muss ich mir wohl einen Fehler eingestehen..
Ich hab die Parameter verkehrt herum angegeben.
P1 = FP_Start
P2 = Start_LvL
mea culpa
Grüße

AW: Korrektur
22.08.2013 11:46:30
Christian
das sieht schon deutlich besser aus, nur ein Fehler im Detail steckt immer noch drin, meine Berechnung =C2+10*25+10*26+10*27+7*28 ergibt 985 also müsste die Lösung doch 237 sein oder hab ich mich da vertan?

Anzeige
AW: Korrektur
22.08.2013 11:52:29
JACKD
Da bin ich auch schon am Überlegen wo die unklarheit ist..
Aber ich glaub du hast recht..
Die funktionen sind dann:
Um Punkte für ein Bestimmtes Level auszugeben
Public Function FPunkte(FP_Start As Long, Start As Long, LvL As Long)
For i = Start + 1 To LvL
Punkte = Punkte + WorksheetFunction.RoundUp(i / 10, 0) + 4
Next i
MsgBox i & "-" & Punkte
FPunkte = Punkte + FP_Start
End Function
Um das Maximale Level auszugeben
Public Function MaxLvL(FP_Start As Long, Start As Long)
i = Start
Do While Punkte + FP_Start 
Grüße

Anzeige
AW: Korrektur
22.08.2013 11:59:07
Christian
ja das sieht super aus, vielen Dank für deine Mühe

Danke für die Rückmeldung owT
22.08.2013 12:02:14
JACKD
owt = ohne weiteren Text

AW: Excel ein mathematisches Problem lösen lassen
23.08.2013 11:17:10
Erich
Hi Christian,
hier eine relativ kleine Formel, mit der man zu jedem Level die Punkte ausrechnen kann.
Alles Weitere lässt sich daraus ableiten...
 AB
1LevelPkt
215
3210
4315
5420
6525
7630
8735
9840
10945
111050
121156
131262
141368
151474
161580
171686
181792
191898
2019104
2120110
2221117
2322124
2423131
2524138

Formeln der Tabelle
ZelleFormel
B2=5*(KÜRZEN(A2/10)+9)*KÜRZEN(A2/10) + REST(A2;10)*(AUFRUNDEN(A2/10;)+4)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Ein Ausgangspunkt war die Funktion y = 5x^2 + 45x.
Vielleicht kannst du damit ja noch etwas anfangen. :-)
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Excel ein mathematisches Problem lösen lassen
23.08.2013 12:38:35
Christian
Hallo Erich,
leider hilft mir das nicht, da die Punkte in dem Spiel dafür da sind, unter den Fertigkeiten aufgeteilt zu werden, daher sind die tatsächlichen Punkte die Punkte die deine Formel ausrechnet minus die bereits vergebenen Punkte. Daher auch die Spalte B in der Beispieltabelle, dies sind die Punkte die von denen die mal da waren noch übrig sind.
Trotzdem dankeschön
Christian

weitere Formeln
23.08.2013 14:05:13
Erich
Hi Christian,
danke für deine Antwort, von der ich leider kaum etwas verstanden habe.
Hier noch zwei Formeln in F2:G2 neben den VBA-Ergebnissen in D2:E2:
 ABCDEFG
1Spielerakt. LevelF-punkteMaxLvLFPunktemax. Levelmax. Pkt
212009237985237985
335090059990601000
44200282227981227981

Formeln der Tabelle
ZelleFormel
D2=MaxLvL(C2;B2)
E2=FPunkte(C2;B2;D2)
F2{=MAX(WENN(5*(KÜRZEN(ZEILE(A$1:A$9999)/10)+9)*KÜRZEN(ZEILE(A$1:A$9999)/10) +REST(ZEILE(A$1:A$9999); 10)*(AUFRUNDEN(ZEILE(A$1:A$9999)/10;)+4) -5*(KÜRZEN(B2/10)+9)*KÜRZEN(B2/10)+ REST(B2;10)*(AUFRUNDEN(B2/10;)+4)+C2<=1000;ZEILE(A$1:A$9999)))}
G2=5*(KÜRZEN(F2/10)+9)*KÜRZEN(F2/10)+REST(F2;10)*(AUFRUNDEN(F2/10;)+4) -5*(KÜRZEN(B2/10)+9)*KÜRZEN(B2/10)+REST(B2;10)*(AUFRUNDEN(B2/10;)+4) +C2
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen

So besser? Schönes Wochenende!
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: weitere Formeln
23.08.2013 15:09:59
Christian
Hallo Erich,
ob du es verstanden hast oder nicht, aber die Formeln geben genau das aus, was ich gesucht habe, ich glaub ich nenn dich ab sofot Excl-Gott :-) für mich wäre so eine Formel undenkbar gewesen, das allein zu schaffen.
Vielen dank und schönes Wochenende
Christian

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige