Avatar billede quqdk Praktikant
14. juli 2010 - 13:50 Der er 17 kommentarer og
1 løsning

Tidsberegninger

Hej folkens.

Jeg er ved at udarbejde et regneark til brug i forbindelse med forsinkelser af produktion. Jeg har dog bare nogle små problemer med arket.

Jeg har uploadet filen på http://www.quq.dk/pakke.xls og skrevet kommentarer.

Det jeg i bund og grund skal have lavet er regnestykket hvor jeg finder ud af om der overhovedet er 90 minutters forberedelsestid, samt funktionen som lægger 90 minutter til bestillingstidspunktet, i tilfælde af at der ikke er 90 minutters forberedelsestid.
Til sidst skal jeg bruge en funktion hvor jeg kan beregne forsinkelsen i minutter.

Jeg håber at en af jer excel superbrugere kan hjælpe mig her :)

Tak,
Henrique
Avatar billede store-morten Ekspert
14. juli 2010 - 16:16 #1
Prøv at se denne guide:
http://www.eksperten.dk/guide/681

Jeg tror ikke du kan beregne med formatet 00"-"00"-"0000 00":"00
Avatar billede supertekst Ekspert
14. juli 2010 - 23:32 #2
Må det være via VBA?

Hvis Ja - ønskes lidt tydeligere eksempel.
Avatar billede supertekst Ekspert
14. juli 2010 - 23:44 #3
ps: dato og tidspunkt kan godt indtastes uden - og :
såfremt VBA kan anvendes.
Avatar billede quqdk Praktikant
15. juli 2010 - 12:14 #4
vba = macro?
isåfald, må disse gerne benyttes, men jeg har ikke helt styr på macros, så skal nok lige have noget guiding.
Avatar billede supertekst Ekspert
15. juli 2010 - 18:04 #5
ok - men kunne du så ikke prøve at tydeliggøre det ønskede/"spil-lereglerne". Synes ikke det "Uploadede" er helt tydeligt.
Avatar billede quqdk Praktikant
16. juli 2010 - 17:37 #6
supertekst:

Jeg kan prøve:
-------------

i kolonne (A) finder vi det tidspunkt hvor kunden har bestilt en pakke.

i kolonne (B) finder vi det tidspunkt hvor kunden ønsker pakken leveret.

i kolonne (C) skal jeg have lavet en formel der udregner om der er mere eller mindre end 90 minutter fra bestillings tidspunktet (A), til leverings tidspunktet (B). Altså (B-A).

i kolonne (D) skal jeg have lavet endnu en formel der aflæser fra (C), hvorvidt (C) er mere eller mindre end 90 minutter. Hvis (C) er mindre end 90 minutter, skal der lægges x antal minutter til (B), således at der er 90 minutters fremstillings-tid. Hvis der i (C) derimod er mere end 90 minutters fremstillings-tid, skal leverings tidspunktet forblive som kunden ønsker det.

i kolonne (E) finder vi det tidspunkt hvor vi som producent har fremstillet den ønskede pakke, og dermed leveret den.

i kolonne (F) skal der laves en formel, der beregner hvor meget vi har overskredet deadlinen i forhold til den ønskede leveringstid (D).


-------------
I bund og grund er det kun kolonnerne (C),(D),(F) der skal laves, selvom (D) kan undlades, hvis det er nemmere uden denne.
Gav det nogen mening for dig? :)
Avatar billede supertekst Ekspert
16. juli 2010 - 18:09 #7
Tak - det gav mening.
Avatar billede store-morten Ekspert
16. juli 2010 - 19:29 #8
Side bemærkning ;-)
Det giver ingen mening, i kolonne (B), at godkende et tidspunkt hvor kunden ønsker pakken leveret, er mindre end 90 min. fra det tidspunkt hvor kunden har bestilt en pakke.
Hvis man på forhånd ved der skal bruges 90 minutters forberedelsestid.
Avatar billede quqdk Praktikant
16. juli 2010 - 20:24 #9
supertekst: lækkert - kan du så hjælpe mig? :)

store-morten: God pointe. Dog ved du først nu, at en pakke i bund og grund kan laves på 10 minutter. Grunden til at vi har et slack på 90 minutter, skyldes det faktum at vi kan have meget travlt, så alle kunder får derfor at vide at pakken kan leveres indenfor 90 minutter :)
Avatar billede quqdk Praktikant
16. juli 2010 - 20:29 #10
store-morten:
Jeg glemte lige at tilføje at kunden selv giver et tidspunkt på hvornår han skal bruge pakken; det kan være om 15 minutter, såvel som om 13 dage. Det er derfor at vi skal bruge denne funktion, som sørger for at vi som minimum har 90 minutter at forberede os i.
Avatar billede store-morten Ekspert
16. juli 2010 - 20:40 #11
Okay ;-)

Giver selv tids-horisont i forbindelse med arbejde.
Og ved af erfaring, at det ikke er en god idé, at give for kort tids-horisont.
Kunden bliver så glad, når man kan levere på den halve tid :-)
Men er man bare 5 min. for sent på den så...
Avatar billede store-morten Ekspert
17. juli 2010 - 00:24 #12
¤9
Igen:
Lyder mærkligt at sige ja til at levere om 15 minutter?
Bare jeg får 90 minutter til det?

;-)
Avatar billede quqdk Praktikant
17. juli 2010 - 11:44 #13
store-morten:
Både og..
Vi har en del sælgere, som bare tager imod ordrer, som så bliver sendt videre til produktionen. Sælgerne ved ikke rigtigt hvor travlt der er, selvom de kan have en fornemmelse om det.
Derfor har vi lagt en fast deadline på de 90minutter, således at vi KAN nå at fremstille pakken.

Hvis man så forestiller sig at der kun kommer én ordre ind til produktionen, så bliver den jo lavet med det samme, og er klar til afhentning efter 5-10 minutter.
Der kan så samtidigt komme 10 andre ordrer ind, så herefter bliver det en prioriteringssag, om hvorvidt man skal tage den første der kommer ind (som kan være en stor pakke), eller nå at fremstille 6 hurtige pakker, og så den store pakke.

Derfor har vi valgt at der skal være 90 minutters forberedelsestid/produktionstid til rådighed, ligegyldigt om der er travlt eller rent bord - netop så vi kan give alle kunder samme behandling.
Avatar billede supertekst Ekspert
17. juli 2010 - 14:39 #14
Rem Version 1
Rem =========
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ræk As Long, kol As Long
    ræk = Target.Row
    kol = Target.Column
   
Rem Er der ændring i kolonne A eller B
    If kol = 1 Or kol = 2 Then
        Cells(ræk, 3) = beregnKolonneC(Cells(ræk, 1), Cells(ræk, 2))
        Cells(ræk, 4) = beregnKolonneD(Cells(ræk, 3), ræk)
        Cells(ræk, 4).NumberFormat = "dd/mm/yyyy hh:mm;@"
    Else
Rem Er der ændring i kolonne D eller E
        If kol = 4 Or kol = 5 Then
            Cells(ræk, 6) = beregnKolonneF(Cells(ræk, 5), ræk)
        End If
    End If
End Sub
Private Function beregnKolonneC(bestilTid, forventTid)
Dim tidA As Date, tidB As Date
    tidA = omregnTilDatoFormat(bestilTid)
    tidB = omregnTilDatoFormat(forventTid)
   
Rem test dage
    If DateDiff("d", tidA, tidB, 2, 2) > 0 Then
        beregnKolonneC = "Over 90 min."
    Else
Rem test forskel i minutter
        If DateDiff("n", tidA, tidB, 2, 2) > 90 Then
            beregnKolonneC = "Over 90 min."
        Else
            beregnKolonneC = "Under/Lig 90 min"
        End If
    End If
End Function
Private Function beregnKolonneD(overUnder, ræk)
Dim datotid As Date
Rem Test om Over/under 90 min
    If InStr(LCase(overUnder), "over") > 0 Then
        beregnKolonneD = omregnTilDatoFormat(Cells(ræk, 2))
    Else
        datotid = omregnTilDatoFormat(Cells(ræk, 1))
        beregnKolonneD = DateAdd("n", 90, datotid)
    End If
End Function
Private Function beregnKolonneF(talE, ræk)
Dim færdigTid As Date
    færdigTid = omregnTilDatoFormat(talE)
    beregnKolonneF = DateDiff("n", Cells(ræk, 4), færdigTid, 2, 2)
End Function
Private Function omregnTilDatoFormat(kolonneTal)
Dim tid1 As String, tid2 As String
    tid1 = CStr(kolonneTal)
    tid2 = Left(tid1, 8) & Right(tid1, 4)
    omregnTilDatoFormat = Format(tid2, "##-##-#### ##:##")
End Function
Avatar billede quqdk Praktikant
17. juli 2010 - 15:11 #15
supertekst:

jeg har Excel 2007, så kan du give mig et hint til hvordan jeg stiller det op? :)
Avatar billede supertekst Ekspert
17. juli 2010 - 15:19 #16
Det har jeg også - men jeg har indlagt koden i en kopi af den oploadede fil fra dig.

Koden er lagt ind under det relevante ark

Send en mail - så returnerer jeg min fil i 2007-format.
@-adresse under profil.
Avatar billede quqdk Praktikant
18. juli 2010 - 15:36 #17
supertekst: jeg har sendt dig en mail, så venter bare på svar og på "svar" herinde også, til pointgivning.
Avatar billede supertekst Ekspert
18. juli 2010 - 15:43 #18
Har kun fået ovennævnte (#17) - men du får et svar..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester