effizientere Funktion(en) oder Algorithmus gesucht
#1
Photo 
Hallo,
 
Ziel: Ich suche eine effizientere Lösung für eine Aufgabenstellung.
 
Beschreibung:
Diese Mappe wird für einen „Forecast“ eingesetzt. Wann ist welches Produkt lieferbar mit den bestehenden Ressourcen. Wann müsste wie viele Leiharbeiter eingesetzt werden usw.
 
In der abgespeckten Demodatei gibt es zwei Tabellenblätter. Wobei in der Tabelle "Plan" eine Übersicht ist in welcher KW welches Produkt geliefert werden sollte. In der Spalte A steht die Produktbezeichnung darüber die Jahre und KW(Kalenderwochen) und als Daten sind Zahlen enthalten.
(Anzahl der Produkte die zu diesem Zeitpunkt geliefert werden sollen)
Da es sich um „große“ Produkte handelt ist die Anzahl zumeist 1. Die KW die blau markiert sind, sind arbeitsfreie KW. (Betriebsurlaub, Weihnachtsstillstand). Wird jetzt z.B eine "1" in KW 03 /2018 eingetragen sollen die Arbeiten dieses Produktes bis KW02 /2018 abgeschlossen sein. (Ist auch so in der Demo hinterlegt)
 
Im Tabellenblatt "Units" gibt es eine Auflistung der Produkte nach Stunden und Kostenstellen. Die Daten in den Zellen D8 bis W19 sind die geschätzten Stunden an Arbeiten die für dieses Produkt benötigt werden in Kostenstellen aufgeteilt.
 
Im Moment ist die maximale Produktionszeit eines Produktes auf 20 KW festgelegt aber diese wird sich auf 25 erhöhen und jetzt sollten die Funktionskonstrukte in den Zellen Z8 : xxx erweitert werden.
Nur bin ich mir fast sicher, dass es dazu einen besseren Algorithmus dazu gibt als im Moment.
 
Danke schon mal fürs durchlesen!
 
.xlsx   demo_Forcast.xlsx (Größe: 50,01 KB / Downloads: 14)
lg
Chris
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top
#2
Hi,

"push"
ich habe jetzt auch mal hier angefragt. Ich hoffe mal das mit der Verlinkung geht in Ordnung!
http://www.ms-office-forum.net/forum/sho...p?t=347710

Ich selber bekomme bei einer "möglichen" Vereinfachung dieses Konstruktes noch echtes Kopfweh. ^^


danke und lg

Chris
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top
#3
Hallo Chris

Deine Tabelle habe ich mir gründlich angesehen.
Ich denke, dass eine effizientere Lösung  mit einer Hilfszeile in der Tabelle Units oberhalb der Kalenderwochen möglich ist.
Etwas zu knobeln gibt mir noch, den Versatz bei arbeitsfreien KW  automatisch zu erreichen, damit sich eine nach rechts kopierbare Formel  ergibt.
Nicht ganz verstanden habe ich folgendes.  In Tabelle Units D7 beginnst du mit 20 und zählst nach recht herunter bis 1.
In Z8 steht folgende Formel:  =SVERWEIS($A8;Data;2;0)*D8
Warum holst du dir da die Daten der 20. KW? Nach meinem Verständnis  sollten  doch die Daten der 1. KW berechnet werden.
Eventuell kannst du mir das Ganze noch ein bisschen erläutern. Ich werde das dann heute Abend nochmals anschauen.

Gruss Sepp
[-] Folgende(r) 1 Nutzer sagt Danke an Josef B für diesen Beitrag:
  • chris-ka
Antworten Top
#4
Hallo Sepp,

danke erstmal für deine Zeit!

Die Spalten Z:AS hätte ich auch auslassen können....
Die Mappe würde ab 2017 eingesetzt und damit auch Prozesse die in 2016 begonnen haben auch abgebildet werden könnten habe ich diese Spalten "drinnen" belassen. Die ersten Einträge einer Fertigstellung wurden ab Jan 2017 eingetragen.

Bei den Einträgen 1 bis 20 (welche eben auch auf 25 angehoben wird) sind die Wochen (nicht KW) nach Produktionsstunden und Kostenstellen aufgelistet

1 => Die Stunden die noch geleistet werden müssen eine Woche vor Lieferung
2 => Die Stunden die noch geleistet werden müssen zwei Wochen vor Lieferung
.....
=> max 25 das wären die ersten Stunden die für dieses Produkt benötigt werden.

In MS Project würde ich dies Rückwärtsplanung nennen. ("So spät wie möglich")

in der Demodatei siehst du bei "Plan" eine 1 stehen bei KW03 /2018 -> in der Tabelle "Units" werden nun die letzten Arbeiten die für dieses Produkt benötigt werden in KW02 /2018 eingetragen. In KW01 /2018 die vorletzten Arbeiten usw. in KW51 /2017 die drittletzten Arbeiten und KW52 wird ausgelassen da arbeitsfreie Woche.

Anbei noch mit ein paar Kommentaren.

.xlsx   demo_Forcast_v2.xlsx (Größe: 59,98 KB / Downloads: 2)
Wenn noch weitere Infos nötig sind, einfach nachfragen ich werde mich Bemühen es weiterhin zu beschreiben.
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top
#5
Hallo Chris

 
Ich habe dir einmal deine Mappe mit einer möglichen Lösung hochgeladen.
Die Daten im Tabellenblatt "Units D7:W19" musste ich für diese Lösung spiegeln.
Zusätzlich habe ich die Arbeitsfreien KW’s mit einer 1 markiert.
Ich hoffe, dass man damit etwas  brauchbares aufbauen kannst .
 
Gruss Sepp


Angehängte Dateien
.xlsx   demo_Forcast_v3.xlsx (Größe: 63,54 KB / Downloads: 3)
[-] Folgende(r) 1 Nutzer sagt Danke an Josef B für diesen Beitrag:
  • chris-ka
Antworten Top
#6
Hallo Sepp,

Danke!  :100:
Sieht gut aus.
Die Daten im Bereich D7: Wxxx anzupassen wäre einmalig und könnte in ein paar Stunden erledigt sein. (za. 400 Zeilen) (die Stunden werden berechnet aber dies umzustellen sollte kein Problem sein)

ABER:
Ich habe jetzt versucht dein Konstrukt auf 25 Wochen zu erweitern, nur scheitere ich daran.... wo liegt mein Denkfehler ?


.xlsx   demo_Forcast_JosefB.xlsx (Größe: 69,27 KB / Downloads: 1)
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top
#7
Hallo Chris

 
Bei dir hat sich der Startbereich der WENN-Abfrage nach links verschoben, das ist natürlich falsch.
 In Zelle AX8
Steht bei dir:
Code:
WENN(AT$4:CB$4<>1

Richtig ist:
Code:
WENN(AY$4:CB$4<>1

Die komplette Formel sieht dann so aus:

Code:
=SUMME(SVERWEIS($A8;Data;KKLEINSTE(WENN(AY$4:CB$4<>1;SPALTE(A1:AD1));SPALTE($A1:$Y1))+1;0)*$D8:$AB8)

Der Bereich der WENN-Abfrage ist in meinem Beispiel auf 30 Spalten ausgelegt.
Innert diesem Bereich müssen natürlich mindestens 25  NICHT freie KW’s  sein, ansonsten muss der Bereich nach Bedarf nach rechts vergrössert werden.
 
Gruss Sepp
[-] Folgende(r) 1 Nutzer sagt Danke an Josef B für diesen Beitrag:
  • chris-ka
Antworten Top
#8
Hallo Sepp,

danke, echt Top!  :18:
und jetzt wo du es schreibst ist mir mein Fehler auch klar...  Blush
Ich werde es nun mal in dem Original einbauen. Mal schauen ob mir die Datei um die Ohren fliegt. ^^

lg
Chris
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste