Rozkład sztuk na podstawie % udziałów.

Użytkowanie arkusza kalkulacyjnego
jozo2009
Posty: 18
Rejestracja: czw kwie 06, 2023 7:44 pm

Rozkład sztuk na podstawie % udziałów.

Post autor: jozo2009 »

Witam, mam problem z pewną formułą:

Formuła w tablicy J6:T85 działa poprawnie. Działa to tak że formuła na podstawie udziału procentowego podanego w wierszu 87 pod każdą kolumną wylicza ilość na podstawie założonej ilości podanej w kolumnie G. Czyli podaję np jak w pierwszym wierszu G6 podaję 25 a komórki wyliczają na podstawie procentów i rozkładają to 25 w wierszu od J5 do T6. Sumaryczny wynik ma zawsze dobry.

Problem zauważam i nie potrafię z niego wybrnąć w wypadku gdy mam konkretnie liczby 6, 5 i 3 wówczas formuła ma dziwny nielogiczny problem na tablicy. Zamiast wynik 1 pojawić się przy wyższym udziale procentowym (kolumna F) 13,78% to pojawia się przy niższym udziale procentowym (kolumna G) 7,74%.

Jak można wprowadzić poprawkę do formuły aby zniwelować ten błąd. Zgodnie z tym jak procenty się rozkładają, służące do rozkładu ilości podanej w kolumnie PLAN nie powinna pojawiać się taka luka.

Z góry dzięki za jakąś pomoc.
Załączniki
% ROZŁOŻENIE.ods
(29.84 KiB) Pobrany 3 razy
Libre Office 7.5.0.3 na Windows 8
Awatar użytkownika
Jermor
Posty: 2434
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Rozkład sztuk na podstawie % udziałów.

Post autor: Jermor »

Twoja formuła jest tak skomplikowana, że nie chciało mi się szukać powodu złego wyniku.
Zrobiłem to po swojemu. Założenia zrozumiałem tak:
Należy rozdzielić całkowite wartości między wskazane udziały procentowe. Przy czym wartości całkowite wynikają z zaokrąglenia udziału procentowego do liczby całkowitej.
W takiej sytuacji mogą pojawić się wyniki, których suma będzie mniejsza niż podstawa podziału. Założyłem, że taka pozostała reszta będzie dodana do największej wartości, czyli wynikającej z najwyższego udziału procentowego.
Wykorzystałem dwa pomocnicze elementy (one mogą zostać wbudowane wprost do formuły, ale chciałem, abyś łatwo zrozumiał proponowane rozwiązanie).
Ponieważ wszystkie działania bazują na wartościach procentowych z wiersza 87., to wystarczy znaleźć, na jakiej pozycji tego wiersza znajduje się maksymalna wartość procentowa. To pierwsza wartość pomocnicza.
Drugą wartością jest wektor zawierający pozostałe, niepodzielone, jednostki w każdym analizowanym wierszu. Jeżeli wszystkie jednostki w danym wierszu zostały rozdzielone, na pozycji tego wektora znajduje się 0, w przeciwnym razie liczba jednostek do dalszego rozdzielenia. Ten wektor umieściłem w kolumnie V. Każdy element tego wektora jest formułą macierzową, więc przy kopiowaniu formuły w dół przy pomocy myszki należy trzymać naciśnięty klawisz CTRL.
Teraz w tablicy wstawiana jest wartość wynikająca z zaokrąglenia udziału procentowego, a jeśli wynikowa wartość wyliczana jest w kolumnie odpowiedzialnej za największy udział procentowy, to do wyliczonego udziału dodawana jest w całości reszta ze wspomnianego wektora.
I taki wykonany plik ci załączam.
Formuły wprowadziłem tylko dla tych wierszy, które sam wpisałeś. Zamiast wpisywać pusty ciąg znaków do komórek o wyniku zerowym, sformatowałem ten obszar formatem liczbowym ukrywającym wszystkie zera prowadzące.

P.S. Jeżeli rzeczywiście lubisz dynamiczne definiowanie obszarów, to zapoznaj się z funkcją PRZESUNIĘCIE(), chyba jest wygodniejsza w użyciu.
Załączniki
% ROZŁOŻENIE_JM.ods
(19.5 KiB) Pobrany 3 razy
AOO 4.1.15, LO 24.8.5 (x64) na Windows 11 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
jozo2009
Posty: 18
Rejestracja: czw kwie 06, 2023 7:44 pm

Re: Rozkład sztuk na podstawie % udziałów.

Post autor: jozo2009 »

Świetny pomysł. Jednak przy większych ilościach na tablicy ma wybór kolumny dodania reszty tendencję do kumulowania jej. Widać to na przykładzie wejściowej kwoty (4 lub 3 dokładnie) do podziału wg. udziału procentowego. Tu skumuluje wszystko w jedne komórce. Próbowałem to modyfikować by jednak rozbiło na sąsiadujące kolumny M i R o następnych w kolejności udziałach %. Nic z tego. Poszedłem nawet w coś w rodzaju rankingu dla każdego wpisu w kolumnie G, ale całkowicie poległem. ;(

Czy można zmodyfikować np do wyboru 5ciu kolumn do których dodaje resztki? albo bardziej to uzależnić od faktycznej wysokości %?
Proszę o pomoc jeśli coś uda się jeszcze obmyśleć. Ja dalej walczę i brakuje mi już pomysłów.

Z góry dziękuję!
Załączniki
% ROZŁOŻENIE_JM (TESTOWANE).ods
(21.05 KiB) Pobrany 3 razy
Libre Office 7.5.0.3 na Windows 8
Awatar użytkownika
Jermor
Posty: 2434
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Rozkład sztuk na podstawie % udziałów.

Post autor: Jermor »

Zrobiłem to następująco:
W pomocniczym obszarze (obok wyliczonych "resztek") utworzyłem pięciokolumnową tablicę, zawierająca w wierszu tytułowym 5 największych wartości procentowych.
Pod nimi, w każdym wierszu rozłożyłem "resztki" w ten sposób, że pod pozycją procentową pojawia się liczba 1, jeśli jest tyle "resztek", że można tę jedynkę postawić, w przeciwnym razie jest 0. Ponieważ teoretycznie "resztek" może być więcej niż 5, to pod procentami o największej wartości pojawi się liczba będąca różnicą między dostępnymi resztkami a liczbą już rozdysponowanych jedynek. Innymi słowy, największy udział procentowy otrzyma pozostałe nierozdysponowane "resztki".
Formuła wyliczająca wartości w tabeli zawiera zmienioną formułę. Wykorzystałem funkcję X.WYSZUKAJ() do odnalezienia dodatkowej wartości.
Uwaga do tej metody. Jeżeli w szeregu tych pięciu najwyższych wartości procentowych wystąpią powtórzone wartości, może pojawić się przekłamanie.
Np. gdy "resztką" jest 1, czyli będzie ona przypisana do największego udziału procentowego, a takie udziały wystąpią dwukrotnie, to ta jedynka zostanie dodana dwukrotnie. Sądząc z wartości udziałów procentowych (14 miejsc po przecinku), są one wynikiem jakiegoś obliczenia i prawdopodobieństwo, że pięć pierwszych wartości procentowych może się powtórzyć, jest niewielkie, niemniej jednak możliwe. Dlatego w komórce G2 umieściłem formułę wyświetlającą ostrzeżenie o takim przypadku. Samo sprawdzenie ile unikatowych pozycji znajduje się w obszarze roboczym, znajduje się za tablicą pomocniczą.
Nazwa "maksy" użyta w formułach przypisana jest do obszaru AS5:AW5.
Plik wykorzystuje funkcje dostępne od wersji 24 LibreOffice.
Załączniki
% ROZŁOŻENIE_JM_2.ods
(22.19 KiB) Pobrany 2 razy
AOO 4.1.15, LO 24.8.5 (x64) na Windows 11 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
ODPOWIEDZ