Avatar billede perhol Seniormester
08. december 2007 - 13:16 Der er 16 kommentarer og
1 løsning

Vagtplan til udskrivning

Jeg er ved at lave en vagtplan, for 35 personer, løbende over 4 uger,baseret på en rulleplan der ligger i samme workbook.
Jeg er kommet godt i gang, skemaerne er lavet, der er alle nødvendige formler og koder for at kunne lave beregninger af arbejdstid med evt. planlagte ændringer i forhold til den faste rulleplan.

Problemet er nu kun udskrifterne.
De skal laves i 4 ark (Udskriv1 - Udskriv4), ca. som personalet er vant til.
Hver udskriftsark dækker en uge og indeholder, for hver dag i ugen, 1 kolonne hvor teksten skal hentes fra den faste rulleplan, samt en kolonne hvor teksten skal hentes fra et ark med ændringer.
Eksempel:
Celle B4 i udskriften skal hente indholdet fra celle B5 og C5 i rulleplanen. Celle B5 i rulleplanen er i formatet [t]:mm og kan f.eks have værdien 7:00. Celle C5 i rulleplanen er også i formatet [t]:mm og kan f.eks. have værdien 14:30. Hvis cifrene efter kolon (:) i rulleplanen er 00, skal kun tallene før kolon hentes.

Altså skal indholdet fra cellerne B5 (7:00) og C5 (14:30) i rulleplanen hentes og stilles op så det kommer til at se sådan her ud: 7-14.30


Celle C4 i udskriften skal hente indholdet fra celle D4, E4 og F4 i vagtplanen.
Celle D4 i vagtplanen er i formatet [t]:mm og kan f.eks have værdien 14:30. Celle E4 i vagtplanen er også i formatet [t]:mm og kan f.eks. have værdien 23:00. Hvis cifrene efter kolon (:) i rulleplanen er 00, skal kun tallene før kolon hentes. Celle F4 i vagtplanen er en kode på 1 til 6 tegn i tekstformat og kan f.eks. være +R.


Altså skal indholdet fra cellerne D4 i vagtplanen (14:30) ,E4 (23:00) og F4 (+R) i vagtplanen hentes og stilles op så det kommer til at se sådan her ud: 14.30-23 +R

Hvis cellerne i vagtplanen D4 og E4 er tomme, men celle F4 ikke er tom, skal indholdet i F4 stadig hentes.

Hvordan gør man det?
Avatar billede excelent Ekspert
08. december 2007 - 13:55 #1
henter i ark vagtplanen:

=HVIS(MINUT(vagtplanen!D4)>0;TIME(vagtplanen!D4)&"."&MINUT(vagtplanen!D4);TIME(vagtplanen!D4))&"-"&HVIS(MINUT(vagtplanen!E4)>0;TIME(vagtplanen!E4)&"."&MINUT(vagtplanen!E4);TIME(vagtplanen!E4))&" "&vagtplanen!F4
Avatar billede excelent Ekspert
08. december 2007 - 13:57 #2
og denne i ark rulleplanen:

=HVIS(MINUT(rulleplanen!B5)>0;TIME(rulleplanen!B5)&"."&MINUT(rulleplanen!B5);TIME(rulleplanen!B5))&"-"&HVIS(MINUT(rulleplanen!C5)>0;TIME(rulleplanen!C5)&"."&MINUT(rulleplanen!C5);TIME(rulleplanen!C5))
Avatar billede perhol Seniormester
08. december 2007 - 14:42 #3
Ang. koden der henter i ark vagtplanen:
Hvis cellerne der hentes tider fra er tomme viser resultatcellen [0-0]. Hvis der er tilføjet en kode viser resultatcellen [0-0 kode].
Resultatet skulle gerne være en tom resultatcelle eller kun kode.

Ang. koden der henter i ark rulleplanen:
Hvis cellerne der hentes tider fra er tomme viser resultatcellen [0-0].

Ellers ser dine formler ud til at virke. Jeg har prøvet at rette, men jeg kan åbenbart ikke overskue det. Måske kan man først teste på om alle de celler der hentes fra er tomme?
Avatar billede perhol Seniormester
08. december 2007 - 14:45 #4
Jeg troede at det måske skyldtes at der var formler i de celler der hentes fra, selv om de viser blankt, men i rulleplanen er blanke celler virkelig tomme.
Avatar billede perhol Seniormester
08. december 2007 - 15:05 #5
Har testet lidt. Første Ark som indeholder vagtplanen hedder Uge1.
Har prøvet at ændre det 2. argument i =HVIS() til "" sådan her:
=HVIS(TIME(Uge1!D4)>0;TIME(Uge1!D4)&"."&MINUT(Uge1!D4);"")&"-"&HVIS(TIME(Uge1!E4)>0;TIME(Uge1!E4)&"."&MINUT(Uge1!E4);"")&" "&Uge1!F4

Hvis cellerne der hentes fra er tomme giver det resultatet [ - ]
Hvis kun kodecellen indeholder noget bliver resultatet [- +R]
Hvis f.eks. start-tiden (i D4) er 7:00 og koden (i F4) er 700 bliver resultatet
[- 700]
Avatar billede excelent Ekspert
08. december 2007 - 15:19 #6
ok prøv :

=HVIS(D4<>"";HVIS(MINUT(Uge1!D4)>0;TIME(Uge1!D4)&"."&MINUT(Uge1!D4);TIME(Uge1!D4&"-"));"")&HVIS(E4<>"";HVIS(MINUT(Uge1!E4)>0;TIME(Uge1!E4)&"."&MINUT(Uge1!E4);TIME(Uge1!E4));"")&" "&Uge1!F4
Avatar billede excelent Ekspert
08. december 2007 - 15:28 #7
glemte lige en "-":

=HVIS(D4<>"";HVIS(MINUT(Uge1!D4)>0;TIME(Uge1!D4)&"."&MINUT(Uge1!D4)&"-";TIME(Uge1!D4)&"-");"")&HVIS(E4<>"";HVIS(MINUT(Uge1!E4)>0;TIME(Uge1!E4)&"."&MINUT(Uge1!E4);TIME(Uge1!E4));"")&" "&Uge1!F4
Avatar billede perhol Seniormester
08. december 2007 - 15:30 #8
OK, vi nærmer os
Hvis jeg har tastet start- og sluttid i de celler der hentes fra bliver resultatet blankt.
Hvis jeg har tastet start- og sluttid samt en kode hentes kun koden.
Hvis jeg kun har tastet kode hentes denne.

Nu skal jeg hente min kone fra arbejdet. Er tilbage om 1 times tid.
Avatar billede excelent Ekspert
08. december 2007 - 17:06 #9
hvad med en funktion i stedet ?
Avatar billede perhol Seniormester
08. december 2007 - 17:19 #10
Hvordan det. Jeg er åben for alt der giver det ønskede resultat.
Avatar billede excelent Ekspert
08. december 2007 - 17:37 #11
Det kan også laves med en formel, men er nemmere at tilrette med en funktion

i arket taster du
=hent1(Uge1!D4;Uge1!E4;Uge1!F4)
og det andet ark, som jeg ikke ved hvad hedder :
=hent2(Uge1!B5;Uge2!C5)


Function Hent1(s1, s2, s3)

Application.Volatile

If Minute(s1) > 0 Then v1 = Hour(s1) & "." & Minute(s1) Else v1 = Hour(s1)
If v1 = 0 Then v1 = ""

If s1 <> "" Then streg = "-" Else streg = ""

If Minute(s2) > 0 Then v2 = Hour(s2) & "." & Minute(s2) Else v2 = Hour(s2)
If v2 = 0 Then v2 = ""

Hent1 = v1 & streg & v2 & " " & s3

End Function

Function Hent2(s1, s2)

Application.Volatile

If Minute(s1) > 0 Then v1 = Hour(s1) & "." & Minute(s1) Else v1 = Hour(s1)
If v1 = 0 Then v1 = ""

If s1 <> "" Then streg = "-" Else streg = ""

If Minute(s2) > 0 Then v2 = Hour(s2) & "." & Minute(s2) Else v2 = Hour(s2)
If v2 = 0 Then v2 = ""

Hent2 = v1 & streg & v2

End Function
Avatar billede excelent Ekspert
08. december 2007 - 17:37 #12
er tilbage om ½ time
Avatar billede perhol Seniormester
08. december 2007 - 17:49 #13
Jeg har lige lavet et testark med din sidste formel, hvor alle referencer er inden for samme ark (alle referencer til ark er fjernet - kun referencer til celler er tilbage). Det virker sådan som jeg ønsker det!

Jeg tester lige lidt med at lave arkhenvisninger igen.
Avatar billede excelent Ekspert
08. december 2007 - 18:09 #14
ret lige Uge1 til Uge2 i denne linie (gættede på Uge2 ellers ret)
=hent2(Uge1!B5;Uge2!C5)
Avatar billede perhol Seniormester
08. december 2007 - 19:40 #15
Prøvede at indsætte henvisninger til ark i referencerne manuelt, flyttede samtidig alle henvisninger der var til rulleplanen til Uge1.
Rulleplanen er i forvejen kopieret til Uge-arkene.

Har godt nok kun testet det på 1 uge og 11 ansatte i stedet for 4 uger og 35 ansatte, men nu ser det ud til at det virker helt som det skal.

Ved ikke lige hvad der gik galt, men det var nok mig der kludrede i det. Da det nu virker er jeg tilfreds.
Lægger du et svar, du løste det.
Avatar billede excelent Ekspert
08. december 2007 - 19:44 #16
ok, svar kommer her
Avatar billede perhol Seniormester
08. december 2007 - 20:25 #17
Tak for hjælpen.
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