Stránka 1 z 1

Excel - komplexní příklad s podmínkami

Napsal: 21 črc 2022 17:45
od metropolisCZ
Zdravím vás,

celý den pracuji na určitém výpočtu a už si vážně nevím rady.
Pokusím se vysvětlit:
- v přiloženém souboru jsou výrobky A a B (finální), které můžou být doplněny z výrobku X. Mám poptávku, počáteční sklad, cílový sklad (rozuměj sklad, kterého bych chtěl docílit i s využitím výrobku X). V případě, že sklad po odečtení poptávky je vyšší než cílový, výsledný sklad by měl zůstat stejný, v případě, že je nižší, pokusit se doplnit z výrobku X. Pokud je výrobku X dostatek na vykrytí cílového skladu A i B, pak by měl být takový i výsledný sklad. Ale v případě, že výrobku X je méně, chtěl bych výrobky A a B doplnit podle % z celkové poptávky. V příkladu je ale vidět, že u výrobku A je sklad přeplněn (na 75), přestože by stačilo 64 a zbylých 11 se mohlo přidat na výrobek B (tedy 30 místo 19).

TEST.xlsx
(10.53 KiB) Staženo 34 x

Věděl by si s tím někdo rady, prosím?

Díky moc.

Re: Excel - komplexní příklad s podmínkami

Napsal: 21 črc 2022 20:00
od Zivan
Dotaz - pokud bys v tom svem prikladu mel vyrobku X jen 6, tak by se z nej melo vyrobit 4x A a 2x B i kdyby to znamenalo, ze ti porad bude chybet 2x A na splneni poptavky? Nebo ma splneni poptavky prioritu pred cilovym skladem?

Re: Excel - komplexní příklad s podmínkami

Napsal: 21 črc 2022 20:19
od metropolisCZ
Dobrá otázka, to mě nenapadlo. V tom případě by splnění poptávky mělo mít přednost. Pokud bych ale výrobky X měl jen 4, pak by doplnění skladu mělo být závislé na % chybějícího množství do nuly (do splnění poptávky). Pokud by něco takového šlo.

Re: Excel - komplexní příklad s podmínkami  Vyřešeno

Napsal: 22 črc 2022 11:42
od metropolisCZ
Zkouším si tady na papír napsat různé scénáře a k tomu podmínky, ale asi jsem si vzal moc velké sousto... Přemýšlím nad tím nějak takto:

Nejdřív pomocné výpočty:
- A Ending = A Initial - A Demand
- A Diff to 0 = ABS( MIN (0 + A Ending; 0))
- A Diff to Target = ABS( MIN (A Ending - A Target; 0))

+ to samé pro B

A potom:

IF ( AND (A Ending < A Target; A Ending < 0; B Ending > B Target);
IF (X Initial > A Diff to Target; A Target; A Ending + X Initial);
IF ( AND (A Ending < A Target; A Ending >= 0; B Ending > B Target);
IF (X Initial > A Diff to Target; A Target; A Ending + X Initial);
//Výše by se mohlo zkrátit přidáním OR //
IF ( AND (A Ending < A Target; A Ending < 0; B Ending < B Target; B Ending > 0);
IF ( X Initial > SUM (A Diff to Target; B Diff to Target); A Target; IF ( X Initial > ....

A tady se začínám ztrácet, protože pak bych chtěl definovat, že má přednost doplnit A do nuly a potom ze zbytku X doplnit A i B do Targetu podle určitého % dle poptávky nebo možná dle toho, kolik procentuálně chybí to Targetu.

Šlo by to nějak jednodušeji nebo si prostě musím vytrpět desítky řádků podmínek?