Pełna wersja: Excel Forum - Porady, Pomoc, Excel Help, Excel FAQ
forum użytkowników Excela - makra, formuły, VBA, funkcje - porady, Excel
 
lo - fi version Excel Forum - Porady, Pomoc, Excel Help, Excel FAQ index

problem kasowy
Kliknij tutaj aby przejśc do pełnej wersji tematu

 
       Excel Forum - Porady, Pomoc, Excel Help, Excel FAQ Strona Główna -> Mam problem z makrem
Poprzedni temat :: Następny temat  
Pol7A Wysłany: 23-09-2007, 18:24  

witam wszystkich forumowiczow
potrzebuję pomocy w problemie, z ktorym zmagam się już od kilku miesięcy (chciałem rozwiązać go formułami ale utknąłem)

jak wiadomo w Polsce mamy 14 nominałow pieniężnych tj. 1gr, 2gr,..., 1zł, 2zł,...,200zł
pytanie: jak obliczyć ilość poszczegolnych nominałow w worku pieniędzy znając kwotę jaką one tworzą i ilość wszystkich egzemplarzy monet (banknotow)

dla przykładu: w worku jest kwota 10zł w pięciu nominałach;
rozwiązanie najprostsze to 5x2zł
rozwiązanie inne to 5zł+2zł+1zł+1zł+1zł (5+2+3x1)
albo 5zł+2zł+2zł+50gr+50gr (5+2x2+2x0,5)
jeśli rozwiązań jest więcej chcę znać je wszystkie

problem jest niewielki jeśli są to małe liczby jak powyżej, ale jeśli kwoty są rzędu kilku milionow, a ilość egzemplarzy to kilkanaście czy kilkaset tysięcy jest to niewykonalne kalkulatorem :cry:
zubel Wysłany: 23-09-2007, 18:29  

zobacz moze ten temat ci pomoże

tutaj

ale przy kwocie 1 000 000 zł kombinacji jest tak wiele, że na pewno nie chcesz znać wszystkich :-P ... bo co ? po jednym groszu połowa a druga po 2 grosze ? a moze jeszcze kilka 50 groszówek
Pol7A Wysłany: 24-09-2007, 10:47  

dzięki zubel za chęci, ale to nie tak jak (wydaje mi się) zrozumiałeś

otoż mamy worek (pełen pieniędzy :clap - o rożnych nominałach - ale nie wiemy ile i jakich jest tych nominałow), a na nim etykietkę, że w środku jest konkretna suma pieniędzy np. 361922zł i 74gr w np. 6278 sztukach monet/banknotow (w praktyce nie zdarza mi się rowna kwota 100, 1000 czy 1000000, chociaż jest ona teoretycznie możliwa)
i moj problem to obliczenie ile i jakich nominałow jest w środku
probowałem zrobić tablicę wszystkich możliwych kombinacji, aż do miliona sztuk monet/banknotow i chciałem z tego wyszukiwać pasujące wyniki ale utknąłem na tych kombinacjach
bodek Wysłany: 25-09-2007, 00:26  

Tak miedzy "ustami a brzegiem pucharu", wydumałem sobie, że można poprosić dodatek SOLVER o rozwiązanie zadania.
Masz w załączniku, razem z fotką warunków, no i troche czasu minie zanim policzy, bo kombinacji jest sporo.
W zakładce opcje, ustaw: "przyjmij nieujemne" i "przyjmij model liniowy"
Coś tam się momentami "buntował" ale jak głupi wynik, to znaczy ilości nominałów nie są liczbami całkowitymi, to powtórz jeszcze raz, albo to sygnał, że nie ma rozwiązania. :mrgreen:
Pol7A Wysłany: 28-09-2007, 08:21  

dzięki bodek (zawsze się zastanawiałem do czego można użyć solvera, a teraz już prawie wiem)
Twoje rozwiązanie działa jakoś dziwnie, bo dla małych wartości pokazuje prawidłowo, ale dla dużych pokazuje ułamki z wieloma miejscami po przecinku, a ponadto nie wiem jak tego solvera zmusić :hamer do pokazania następnego wyniku tzn. żeby kontynuował przeliczanie od bieżącego miejsca

sam wpadłem na pomysł, żeby napisać makro, w którym będzie 14 zagnieżdżonych pętli for i nawet je napisałem, ale wykonanie przy większych wartościach trwało niemiłosiernie długo
niestety nie zachowało mi się to makro, bo po kilku godzinach obliczeń excel się zawiesił (a nie zapisałem zmian :oops: )
jak napiszę je ponownie (było bardzo proste) to zamieszczę na forum celem optymalizacji

pozdrowienia dla wszystkich forumowiczów
 
       Excel Forum - Porady, Pomoc, Excel Help, Excel FAQ Strona Główna -> Mam problem z makrem
Strona 1 z 1

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.



Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.