Clever-Excel-Forum

Normale Version: Zufallszahlen in Abhängigkeit von bestimmten Wert
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe Excel Enthusiasten,

ich habe folgendes Problem:

Im Monat Juli fallen zum Beispiel bei einer fünf Tage Woche 160 Arbeitsstunden an.
Diese Gesamtanzahl an Arbeitsstunden sollen ungleichmäßig, heißt, mal 6, mal 7, mal 8 oder auch mal 9 Stunden auf Montag bis Freitag verteilt werden.

Am Ende sollen es wieder als Summe 160 Stunden sein.

Ich habe schon alles mögliche versucht mit Zufallsbereich(), Zufallszahl() mit verschiedenen Abhängigkeiten. Leider finde ich keine Lösung, denn entweder ist die Summe nicht als Maßstab gesetzt, oder es herrscht Zirkelbezug usw. usf. 

Findet ihr vielleicht eine Lösung oder habt ihr so ein Problem schon mal gehabt?

Viele Grüße
DennWue
Hallöchen,

benutze den SOLVER. Ggf. musst Du ihn bei den Optionen - AddIns erst aktivieren.
In der Summenzelle schreibst Du die Formel =SUMME(….) über die einzelnen Tageszellen rein oder eben einzeln mit + + + ....
Dann startest Du den Solver, gibst als Wert für die Summenzelle 160 ein und für jede "variable" Tageszelle die Bedingungen >= 6 und <= 9 ein.
Musst nur vorher mal schauen, ob der Solver so viele Bedingungen wie Du für den Monat brauchst, zulässt.
Hallo,

Da habe ich mal eine Funktion für geschrieben:

http://sulprobil.com/Get_it_done/Control...ixsum.html

Viele Grüße,
Bernd P
Hallo Bernd,

die Funktion sbRandTriang hast Du aber nur als Bild ??? Du verweist dann zwar noch auf eine Downloadseite, aber da ist sie auch nicht ...
Hallo André,

das scheint wohl generell so zu sein. Hatte hier auch mal nachgefragt: https://www.clever-excel-forum.de/Thread...#pid171515

Ich würde das als Werbung interpretieren. Undecided

Gruß Uwe
Hallo DennWue,

in der Anlage einmal ein Versuch über Formeln.

In der Spalte B versuche ich für alle Arbeitstage eines Monats solange eine ganze Zufallszahl zwischen 6 und 9 Stunden zu wählen, bis die restlichen Tage mit 6- oder 9-Stundentage gefüllt werden müssen.
Code:
=WENNFEHLER(WENN(ANZAHL(A4:$A$26)=1;$B$1-SUMME($B$3:B3);ZUFALLSBEREICH(MAX(6;$B$1-SUMME($B$3:B3)-ANZAHL(A5:$A$26)*9);MIN(9;$B$1-SUMME($B$3:B3)-ANZAHL(A5:$A$26)*6)));0)

Da die mögliche Anzahl von Stunden nicht gleichmässig um die mittlere Stundenzahl verteilt sind, wird es häufig vorkommen, dass ich zum Ende des Monats einige 9-Stundentage habe (Ein 6-Stundentag muss mit zwei und ein 7-Stundentag mit einem  9-Stundentag(e) ausgeglichen werden).

Über eine erneute Zufallsspalte C verteile ich in E die Stundenwerte aus B .
Hallo Dennwue,

das ist nun mal ein neckisches Problemchen.

Wenn ich die Aufgabestellung richtig verstanden habe, dann gilt folgende Beziehung

A*6+B*7+C*8+D*9=160

Einen zweiten Zusammenhang vermute ich, in dem ich annehme, dass der betroffene Monat genau 20 AT hat, also gilt a+b+c+d=20

Jetzt gilt es die (ganzzahligen) Werte für A, B, C und D zu finden.

Ich hab mir überlegt, das diese jeweils irgendwo zwischen 2 und 9 liegen, damit die Verteilung "schön" wird.

Damit ergeben sich 4096 mögliche Kombinationen, aber nur 5 erfüllen die beiden obenstehenden Bedingungen, nämlich:
A;B;C;D
2;3;8;7
2;4;6;8
2;5;4;9
3;2;7;8
3;3;5;9

Jetzt muß nur noch einer der 5 Kombinationen auf die Tage per Zufall verteilt werden. Das hab ich noch nicht ausprogrammiert, es ist aber kein Hexenwerk.

Äußer dich mal zu den verschiedenen Lösungsansätzen, die hier präsentiert wurden.

vg, MM
Hallöchen,

Zitat:Ich hab mir überlegt, das diese jeweils irgendwo zwischen 2 und 9 liegen, damit die Verteilung "schön" wird.

schön. 1ch würde da nix einschränken und hätte zufälligerweise gerne  15*9,  0*8, 1*7 und 3*6, also von 0 bis 15 Smile Oder 17*9 und 1*6, oder ausnahmsweise mal einen geregelten Monat mit 20*8
Hallo,

Anbei Helmut's Beispieldatei um meinen Ansatz erweitert. Die Datei und mein Code werden ohne jede Garantie zur Verfügung gestellt (aber ich verwende einen aktuellen Virenscanner).

@Schauan: Versuch's nochmal - ich habe das sbRandTriang Bild durch den Code ersetzt (aber der Code ist ja auch anbei).

@Uwe: Ja, das war, ist und bleibt Werbung. Nämlich: 10 GBP für ein Hospiz zu spenden. 1 Cent würde auch reichen, um an meinen gesamten Code zu kommen. Du darfst es trotzdem weiter (negativ) als Werbung interpretieren.

Viele Grüße,
Bernd P