formuła w arkuszu kalkulacyjnym

fart123
Posty: 0
Rejestracja: 17 lut 2022, o 23:43
Płeć: Kobieta

formuła w arkuszu kalkulacyjnym

Post autor: fart123 »

Cześć,
gram w grę na komputerze i przydałby mi się do tego arkusz kalkulacyjny.
Sprawa wygląda tak... mamy wojsko różnego stopnia doświadczenia (za tym stoi siła i życie). Idąc na wojnę przykładowo mogę zabrać ze sobą 2.000 żołnierzy (to są sloty na dowolne wojsko).
Żeby wojna była dla mnie optymalnie korzystna to wojsko w każdym szeregu musi mieć taką samą ilość doświadczenia.
1 szereg - każdy żołnierz ma 20 punktów doświadczenia
2 szereg - każdy ma 50 pkt
3 szereg - każdy ma 80 pkt.
W przyszłości będzie tych szeregów dużo więcej.
Żeby ustawić to optymalnie, tak na oko w 1 szeregu dałbym 1.500 żołnierzy, w 2 szeregu 1.000, a w 3 szeregu 500. Wtedy każdy szereg miałby porównywalną ilość doświadczenia.
Ale żeby liczyć to bardziej precyzyjnie to chciałbym te dane wrzucać w excela, żeby on mi to liczył.
Czy ktoś z Was jest mi w stanie pomóc stworzyć do tego wzór?
Próbowałem już na wszystkie sposoby, ale nie wychodzi.
Awatar użytkownika
Dasio11
Moderator
Moderator
Posty: 10217
Rejestracja: 21 kwie 2009, o 19:04
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 40 razy
Pomógł: 2361 razy

Re: formuła w arkuszu kalkulacyjnym

Post autor: Dasio11 »

Załóżmy, że jest \(\displaystyle{ k}\) szeregów i \(\displaystyle{ n}\) żołnierzy, a dla \(\displaystyle{ i = 1, 2, \ldots, k}\) każdy żołnierz w szeregu \(\displaystyle{ i}\)-tym ma \(\displaystyle{ x_i}\) doświadczenia. Jeśli w szeregu \(\displaystyle{ i}\)-tym będzie maszerować \(\displaystyle{ n_i}\) żołnierzy, to chcemy by zachodził układ równań:

\(\displaystyle{ \begin{cases} n_1 x_1 = n_2 x_2 = \ldots = n_k x_k \\ n_1 + n_2 + \ldots + n_k = n \end{cases}}\)

Podstawiając za \(\displaystyle{ \alpha}\) wspólną wartość \(\displaystyle{ n_i x_i}\), dostajemy \(\displaystyle{ n_i = \frac{\alpha}{x_i}}\), co podstawiamy do drugiego równania, otrzymując kolejno:

\(\displaystyle{ \frac{\alpha}{x_1} + \frac{\alpha}{x_2} + \ldots + \frac{\alpha}{x_k} = n \\[1ex]
\alpha \left( \frac{1}{x_1} + \frac{1}{x_2} + \ldots + \frac{1}{x_k} \right) = n \\[1ex]
\alpha = \frac{n}{\frac{1}{x_1} + \frac{1}{x_2} + \ldots + \frac{1}{x_k}}.}\)


Rozwiązaniem jest więc \(\displaystyle{ n_i = \frac{\alpha}{x_i}}\) dla wyliczonej wyżej alfy.

Dla podanego przykładu: \(\displaystyle{ \alpha = \frac{2000}{\frac{1}{20} + \frac{1}{50} + \frac{1}{80}} = 2000 \cdot \frac{400}{33}}\), zatem w szeregach powinno maszerować kolejno

\(\displaystyle{ n_1 = \frac{\alpha}{20} \approx 1212 \\[1ex]
n_2 = \frac{\alpha}{50} \approx 485 \\[1ex]
n_3 = \frac{\alpha}{80} = 303}\)


żołnierzy.
fart123
Posty: 0
Rejestracja: 17 lut 2022, o 23:43
Płeć: Kobieta

Re: formuła w arkuszu kalkulacyjnym

Post autor: fart123 »

Dziękuję, to działa. Napisane w bardzo zrozumiały sposób. Jesteś geniuszem. Jeszcze raz bardzo dziękuję.

Dodano po 7 godzinach 45 minutach 8 sekundach:
Proszę wybaczyć podwójny post, ale jednak nie działa to tak jak chciałem, bo pominąłem jeszcze jedną, bardzo istotną zmienną wartość.

Zdjęcie poglądowe:

Kod: Zaznacz cały

https://i.ibb.co/0QLHKwY/gra.png


Generalnie zaprojektowałem arkusz kalkulacyjny wedłu wskazówek:
- kolumna F (dzielna z 1) - 1 / jednostkę siły
- kolumna F wiersz 7 - suma wszystkich dzielnych
- kolumna D wiersz 4 - współczynnik siły - dostępne wojska (żółte pole) / suma wszystkich dzielnych
- kolumna D (ilość wojska) - współczynnik siły / jednostkę siły
- kolumna C - ręcznie przepisuję pełne wartości, żeby było łatwiej czytać.

Do tego momentu wszystko super działa. Niestety okazało się, że w tym przypadku każdy pojedynczy koń zabiera w szeregach 2 sloty - widoczne w kolumnie G.
Kiedy wrzucałem treść wczorajszego posta, to nie wiedziałem jeszcze, że to tak działa.
W konsekwencji połowa koni nie mieści się w szyku bojowym.
Dodatkowo jest to zmienna, która na dalszym etapie gry będzie dość istotna, bo już widzę, że katapulty zabierają na przykład 10 slotów od sztuki. A ilość nieodkrytych opcji wojsk przede mną jest jeszcze ogromna.

Czy jest jakiś patent, żeby do tych wyliczeń zrobić jeszcze zależność - ilość wojska na ilość slotów odpowiednio do danej jednostki?

ps.
w ramach wyjaśnień, nazwy w kolumnie B oznaczają na przykład "1 konie", czyli pierwszy poziom konnych. W grze można używać dostępnych jednostek z wszystkich poziomów o ile są aktywne.
Awatar użytkownika
Dasio11
Moderator
Moderator
Posty: 10217
Rejestracja: 21 kwie 2009, o 19:04
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 40 razy
Pomógł: 2361 razy

Re: formuła w arkuszu kalkulacyjnym

Post autor: Dasio11 »

Jeśli przykładowo koń ma 100 jednostek siły ale zajmuje dwa sloty, to należy w jego miejsce rozważyć jednostkę "pół konia", która ma 50 jednostek siły i zajmuje jeden slot, a na końcu liczbę slotów należących się "półkoniom" podzielić przez dwa, aby otrzymać liczbę miejsc które należą się pełnym koniom. ;)

A odnośnie
fart123 pisze: 18 lut 2022, o 21:42- kolumna C - ręcznie przepisuję pełne wartości, żeby było łatwiej czytać.
to Excel ma chyba funkcję ROUND?
fart123
Posty: 0
Rejestracja: 17 lut 2022, o 23:43
Płeć: Kobieta

Re: formuła w arkuszu kalkulacyjnym

Post autor: fart123 »

Teraz działa to idealnie. Bardzo dziękuję za pomoc. Bez tego nie dałbym rady.
Pozwolę sobie pochwalić się gotowym kalkulatorem.

Kod: Zaznacz cały

https://i.ibb.co/Ns8tJFQ/gra2.png

Wszystkie komendy w wierszu 7 wyglądają następująco:

Kod: Zaznacz cały

- kolumna D - =K7/H7
- kolumna E - =N7/H7
- kolumna K - =$M$3/L7
- kolumna L - =F7/H7
- kolumna M - =1/L7
- kolumna N - =$N$3/O7
- kolumna O - =G7/H7
- kolumna P - =1/O7
oraz komendy dla współczynników siły i zdrowia:

Kod: Zaznacz cały

- M2 - =C3/M6
- N2 - =C3/P6
Wiersz 7 zawiera komendy, które niestety trzeba ręcznie obsuwać w dół już po zadysponowaniu wojska.
A wiersz 6 oczywiście liczy sumę od wiersza 8 w dół.

Nie zagłębiałem się w funkcję ROUND dla kolumny C z kilku względów:
- kalkulator liczy dla dwóch wartości o zmiennych proporcjach - siła i zdrowie. Chciałem ograniczyć ilość kolumn do minimum, żeby kalkulator był bardziej czytelny. Wiem, że to tylko jedna kolumna mniej, ale uznałem, że tak będzie lepiej,
- ze względu na ograniczoną ilość slotów wojska, formacji będzie tylko kilka rodzajów, więc przepisanie tego ręcznie dla kilku pozycji nie będzie problemem,
- pisanie tego ręcznie po prostu daje mi frajdę i jakoś mnie to bawi w kontekście całej gry :)
- korzystam z LbreOffice, nie jestem pewien czy funkcja ROUND tutaj nazywa się tak samo.

Jeszcze raz bardzo, bardzo serdecznie dziękuję.
Ostatnio zmieniony 19 lut 2022, o 16:17 przez Jan Kraszewski, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
ODPOWIEDZ