Excel: Kontrol af dato og tid

I dette eksempel viser jeg hvordan kan du sikre, at brugeren ikke indtaster en dato og et klokkeslæt, der er fremme i tiden. Det er velegnet til blandt en en logbog.

Til at løse opgaven er der brugt datavalidering, der findes i menuen/båndet Data, og lidt formler.

Skærmbillederne er fra Excel 2010, men det virker også i tidligere versioner.

Formular

Jeg har lavet denne simple formular med to felter; et felt til dato og et felt til klokkeslæt.

Der er lavet en kort vejledning til brugeren, som automatisk dukker op, når cellemarkøren er placeret på feltet (celle C2).

Vejledning til felt

Indtaster brugeren en dato, der er i fremtiden (i eksemplet er dags dato er den 09-11-2011), så vises denne fejlmeddelelse:

Fejlmeddelelse

Tilsvarende er der lavet en vejledning til brugeren, der automatisk dukker op, når markøren er placeret på feltet til klokkeslæt (celle C3).

Vejledning til indtastning af klokkeslæt

Indtaster brugeren et tidspunkt, der er i fremtiden (i eksemplet er det aktuelle tidspunkt 08:35), så vises der en fejlmeddelelse:

Fejlmeddelelse til klokkeslæt

Sådan er det lavet

For at lave ovenstående datavalidering kræver det kun, at du bruger lidt formler og funktionen Datavalidering.

Kontrol af dato

I kravspecifikationen er det defineret, at datoen skal være mellem 01-01-2000 og dags dato.

Kontrol af dato

Startdato indtastes manuelt. Slutdato defineres som dags dato ved at bruge formlen =IDAG(). Formlen returnerer dags dato (hentet fra PCens operativsystem eller fra netværket).

Vejledningen til brugeren laves ved at indtaste det ønskede på fanebladet Meddelelse.

Vejledning til brugeren

Fejlmeddelelsen, som skal vises, hvis brugeren alligevel taster forkert, defineres på fanebladet Fejlmeddelelse.

Fejlmeddelelse ved forkert dato

Når data er angivet på de tre faneblade, så er det bare at klikke på knappen OK.

Kontrol af klokkeslæt

Kontrollen af klokkeslæt er lidt mere omstændigt, da der i Excel ikke er en funktion, der blot returnerer det aktuelle klokkeslæt.

Formlen =NU() returnerer det aktuelle klokkeslæt, men den returnerer også datoen. Så datoen skal fjernes, før formlen kan bruges.

Formlen =TIME() returnerer timerne i et klokkeslæt og formlen =MINUT() returnerer minutterne i et klokkeslæt. De kan bruges, men der skal tages højde for at den returnerede værdi er et heltal. Derfor skal de returnerede værdier konverteres til et tal i Excel’s klokkeslæt-format.

Til det formål bruges formlen =TID().

Og så ser den samlede formel således ud:

Kontrol af klokkeslæt

Tallet 0 (nul) som den sidste parameter i formlen =TID() angiver sekunderne. Vær opmærksom på, at der er sat de rigtige paranteser de rigtige steder. Tilsvarende med semikoloner.

Så mangler der bare en vejledning.

Vejledning til brugeren ved indtastning af klokkeslæt

Og en fejlmeddelelse, hvis brugeren indtaster forkert klokkeslæt.

Fejlmeddelelse ved forkert klokkeslæt

Klik på knappen OK, når du er færdig.

God fornøjelse!