Wpis z mikrobloga

jak w excelu zrobić coś takiego aby suma określonej liczby losowych liczb z pewnego przedziału osiągała konkretną sumę? Przykład: suma 10 liczb z przedziału (-50;50) musi wynieść 143,28. chodzi mi o to, że chcę widzieć kilka scenariuszy takich równań #excel #pytaniedoeksperta #kiciochpyta
  • 7
@kokrys: wiem, ale ja nie chcę widzieć wszystkich możliwych scenariuszy tylko kilka losowych, wydaje mi sie, że trzeba użyć funkcji RANDBETWEEN czyli losuj z przedziału, ale jak zrobić tak żeby te losowe liczby dały określoną sumę to nie wiem
@Oake: to nie jest takie oczywiste jak się wydaje. Załóżmy że masz przedział 0-100 i masz wybrać 4 liczby losowo, których suma będzie równa powiedzmy 75.

Na starcie wiesz że skoro mają być 4, to ostatnie wylosowane 3 dadzą minimalnie sumę 3, więc pierwsza maksymalna to 72. Pierwszy warunek. Losujemy. Wypada dajmy na to 55.
Zostaje 20 do sumy.
Sprawdzasz jakie pozostają wolne liczby minimalne. Ostatnie 2 wylosowane dadzą minimalnie 1,
@Oake: RANDBETWEEN raczej się nie przyda bo zwraca tylko liczby całkowite, a docelowa suma nie jest.

Używając =RAND()*100-50 dostaniesz 10 liczb rzeczywistych z przedziału. Jeśli wyznaczysz ich sumę (powiedzmy X) a potem każdą pozycję podzielisz przez X, a potem pomnożysz przez 143,28 to otrzymasz 10 losowych liczb, których suma wynosi 143,28. Tylko po tej operacji pierwotny przedział (-50;50) też zostanie w ten sam sposób przeskalowany.
@brak_nicku: można by wylosować jakąś ogromną liczbę takich zbiorów, i liczyć że po przeskalowaniu i sprawdzeniu wartości min i max ileś z nich i tak zmieści się w zadanym przedziale. Ale to jeszcze muszą być odpowiednio dobrane parametry losowania (liczba liczb, docelowa średnia). Bo randomizując przedział (-50;50) suma 143 wypadnie raz na milion, już nawet niezależnie ile liczb się wylosuje. Suma przykładowo 0,28 czy -3.77 Twoją metodą po przeskalowaniu za to