Just nu i M3-nätverket
Jump to content

Avancerad dag/tiduträkning


Dtrtoen
 Share

Recommended Posts

Hejsan,

Jag ska utveckla min produkionsplanering och vill få ut automatsikt vilken dag/tid en viss produkt är klar.

Hur får jag till formeln att inte räkna med timmar utanför arbetstiden ?

 

 

Input; 

Arbetstid mån-tors kl06-01(17h arbetstid inkl rast) , fredag kl06-15 (8h arbetstid inkl rast)

Exempel;

Starttid/datum 

*start fredag 2020-11-06 kl06:00

*+ Produktionstid 50h

*= klar 2020-11 kl15:00


Mvh nybörjare 

Link to comment
Share on other sites

Här får du en Icke-lösning så att du inte slösar tid på det:

Det går inte på något enkelt sätt eftersom du har 3 olika "dygnstyper" (produktionstimmar= 17: 8: 0).

I vanliga fall hade du använd ARBETSDAGAR() men den klarar bara att ta bort helger.

 

Men vi kan ta lite byggstenar: 

Antag att din tid/datum står i A1 och timmarna i B1

2020-11-06 06:00 50

I excel är en dag=1 och ett timme= 1/24

Om du hade producerat 24 timmar/dygn så hade det här gett sluttiden

=A1+(B1/24)    2020-11-08 08:00

Om du/ni bara kan arbeta 17 timmar om dygnet så borde det här bli rätt.

=A1+(B1/17)    2020-11-09 04:35

 

Och om du inte vill jobba på helgen så kan du får reda på rätt dag med:

=ARBETSDAGAR(A1;B1/17)   2020-11-10 00:00

Som hoppar över helger men bara ger dagen (heltalsdelen). För att få timmarna (+ 6 timmar i starttid)  så får du lägga på resten (som inte blev en hel arbetsdag på 17 timmar):

=ARBETSDAGAR(A1;B1/17)+KLOCKSLAG(6;0;0)+REST(B1;17)/24  2020-11-10 22:00

Så då har vi hanterat 17 timmar och 0 timmar (helger). Problemet är dina fredagar som kräver en helt egen lösning.

Det borde gå att lösa relativt lätt med VBA (makro). Annars måste du nog göra en massa hjälpkolumner eller matrisformler där varje dag behandlas separat och det är lite för soligt ute för att jag skall klara av det idag. Men om någon på eforum drabba av en massa energi: Finns det en gräns för hur lång produktionstiden kan vara?

Link to comment
Share on other sites

Lycka till. Bifogar en fil där du kan se hur lösningen kan se ut med hjälpkolumner. Obs att det bara gäller ett enda projekt.

 

B1 och B2 är indata. Cell B9 är resultatet. Allt annat är hjälp och stöd för att gå fram det du vill. Det bordet gå att få in allt på en rad, men jag ork int

 

Du har alltså valt ett ganska krångligt problem som "nybörjarprojekt"...

Bok1.xlsx

Link to comment
Share on other sites

Ok, det här var ett irriterande problem. Se bifogad fil för exempel där

en produkt= en rad (och en massa hjälpkolumner).

Förutsätter att produktionen sätter igång kl 06:00 första dagen eftersom jag inte vet när rasterna är (arbetsdagens slut -starttid blir fel). Tar inte heller hänsyn till raster sista dagen av samma skäl

Bok1_2.xlsx

Link to comment
Share on other sites

Tack, jag anser mig själv som nybörjare men såklart vill jag ha avancerade lösningar. Jag kan bifoga mitt dokument när jag testat så får du se vad mitt projekt gäller,

 

mvh

Link to comment
Share on other sites

2020-11-22 19:24, skrev MH_:

Ok, det här var ett irriterande problem. Se bifogad fil för exempel där

en produkt= en rad (och en massa hjälpkolumner).

Förutsätter att produktionen sätter igång kl 06:00 första dagen eftersom jag inte vet när rasterna är (arbetsdagens slut -starttid blir fel). Tar inte heller hänsyn till raster sista dagen av samma skäl

Bok1_2.xlsx 18 kB · 1 download

Hej,

 

Kolla fliken prodplanering, H , K , M3.

H är tiden det tar att producera en produkt. Nu står det i texten tt:mm men det stämmer inte.

 

MvhProduktionsplanering.xlsx

Link to comment
Share on other sites

=J5/I5

Ger antal timmar i decimalform. Dvs 3,5 =3:30

 

Om du vill uttrycka det i Excels tidsformat så får du dividera med 24 

=(J5/I5)/24

och ändra tal-visningsformatet till timme:minut [Ctrl]+3

Eller. Ännu hellre

[Ctrl]+1 

välj Tid 13:30

sen går du till Anpassat och ändrar

Från tt:mm;@

till [tt]:mm;@

Då kommer timmarna att kunna vara mer än 24:a utan att excel tolkar det som en ny dag och börjar om från 0 (beräkningarna skulle fortfarande bli rätt, men det ser fel ut.)

Link to comment
Share on other sites

Om produktionstimmarna är så låga som i ditt exempel (i förhållande till skiftlängden) så behöver man kanske inte krångla med mer än ett dagsbyte? (är det rimligt att anta ingen sågning kommer att sträcka sig över 3 dagar)? Det kräver nästan att någon stolle (du?) sätter igång en 20 timmars-sågning på torsdagskväll

 

Exempel i din cell K5

 

HELTAL(M3) är datumet utan tidsdelen, dvs midnatt "idag"

HELTAL(M3)+23/24 är kl 23:00 idag

 

Om Starttid+sågtid fortsätter efter kl 23 (kl 01- minus 2 timmars raster). Så skall överblivna timmar skickas till nästa dag. Dessutom lägger man på 6 timmar för att få rätt starttid dagen efter + en dag med hjälp av ARBETSDAGAR() (för att ta hand om helger)

 

Men då måste man ha egna regler för Fredagar och kolla fram till 14:00 istället för 23:00 (15- i timmes rast)

HELTAL(M3)+OM(VECKODAG(M3;2)=5;14/24;23/24))

 

så villkoret blir:

OM((M3+H5)>(HELTAL(M3)+OM(VECKODAG(M3;2)=5;14/24;23/24))....

 

Om det inte blir något skifte så tar man bara

M3+H5

Annars får det bli en halvkrånglig:

+ARBETSDAGAR(M3;1) lägger på en dag

+6/24 är för att  starta nästa dag kl 06:00

och den här delen lägger på de timmar som "blev över" när dagen innan har fått sina dagar

(M3+H5)-(HELTAL(M3)+OM(VECKODAG(M3;2)=5;14/24;23/24))

 

 

En rad

=OM((M3+H5)>(HELTAL(M3)+OM(VECKODAG(M3;2)=5;14/24;23/24));(M3+H5)-(HELTAL(M3)+OM(VECKODAG(M3;2)=5;14/24;23/24))+6/24+ARBETSDAGAR(M3;1);M3+H5)

 

 

Produktionsplanering MH.xlsx

Link to comment
Share on other sites

2020-11-24 22:41, skrev MH_:

Om produktionstimmarna är så låga som i ditt exempel (i förhållande till skiftlängden) så behöver man kanske inte krångla med mer än ett dagsbyte? (är det rimligt att anta ingen sågning kommer att sträcka sig över 3 dagar)? Det kräver nästan att någon stolle (du?) sätter igång en 20 timmars-sågning på torsdagskväll

 

Exempel i din cell K5

 

HELTAL(M3) är datumet utan tidsdelen, dvs midnatt "idag"

HELTAL(M3)+23/24 är kl 23:00 idag

 

Om Starttid+sågtid fortsätter efter kl 23 (kl 01- minus 2 timmars raster). Så skall överblivna timmar skickas till nästa dag. Dessutom lägger man på 6 timmar för att få rätt starttid dagen efter + en dag med hjälp av ARBETSDAGAR() (för att ta hand om helger)

 

Men då måste man ha egna regler för Fredagar och kolla fram till 14:00 istället för 23:00 (15- i timmes rast)

HELTAL(M3)+OM(VECKODAG(M3;2)=5;14/24;23/24))

 

så villkoret blir:

OM((M3+H5)>(HELTAL(M3)+OM(VECKODAG(M3;2)=5;14/24;23/24))....

 

Om det inte blir något skifte så tar man bara

M3+H5

Annars får det bli en halvkrånglig:

+ARBETSDAGAR(M3;1) lägger på en dag

+6/24 är för att  starta nästa dag kl 06:00

och den här delen lägger på de timmar som "blev över" när dagen innan har fått sina dagar

(M3+H5)-(HELTAL(M3)+OM(VECKODAG(M3;2)=5;14/24;23/24))

 

 

En rad

=OM((M3+H5)>(HELTAL(M3)+OM(VECKODAG(M3;2)=5;14/24;23/24));(M3+H5)-(HELTAL(M3)+OM(VECKODAG(M3;2)=5;14/24;23/24))+6/24+ARBETSDAGAR(M3;1);M3+H5)

 

 

Produktionsplanering MH.xlsx 93 kB · 0 downloads

Tack för hjälpen :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share



×
×
  • Create New...