|
|||||
Disse websidene oppdateres ikke lengre og er kun tilgjengelig for historikken sin skyld.Klikk her for å gå til den oppdaterte informasjonen. Beregne det riktige ukenummeretFunksjonen UKENUMMER() i tillegget Analyseverktøy beregner riktig ukenummer
for en angitt dato, hvis du er i U.S.A. Den brukerdefinerte funksjonen nedenfor
vil beregne det korrekte ukenummeret avhengig av de nasjonale
språkinnstillingene på den enkelte datamaskin. Function UDFWeekNum(InputDate As Date) UDFWeekNum = DatePart("ww", InputDate, vbUseSystemDayOfWeek, vbUseSystem) End FunctionFunksjonen ovenfor kan endres slik at den beregner det riktige ukenummeret på europeisk vis: Function UDFWeekNumISO(InputDate As Date) UDFWeekNumISO = DatePart("ww", InputDate, vbMonday, vbFirstFourDays) End Function De to VBA-funksjonene ovenfor fungerer greit bortsett fra noen enkelte år hvor de returnerer feil ukenummer i forbindelse med datoer rundt årsskiftet. Dette gjelder bl.a. årene 1907, 1919, 1991, 2003, 2007, 2019 og 2091. Du kan benytte denne regnearkformelen for å beregne det riktige ukenummeret: =HELTALL((A1-(DATO(ÅR(A1+(REST(8-UKEDAG(A1);7)-3));1;1))-3+ REST(UKEDAG(DATO(ÅR(A1+(REST(8-UKEDAG(A1);7)-3));1;1))+1;7))/7)+1Formelen ovenfor forutsetter at celle A1 inneholder en gyldig dato som du vil returnere ukenummert for. For å beregne ukenummeret korrekt med en VBA-funksjon kan man benytte funksjonen nedenfor: Function WEEKNR(InputDate As Long) As Integer Dim A As Integer, B As Integer, C As Long, D As Integer WEEKNR = 0 If InputDate < 1 Then Exit Function A = Weekday(InputDate, vbSunday) B = Year(InputDate + ((8 - A) Mod 7) - 3) C = DateSerial(B, 1, 1) D = (Weekday(C, vbSunday) + 1) Mod 7 WEEKNR = Int((InputDate - C - 3 + D) / 7) + 1 End Function
Dokumentet er sist oppdatert 2000-04-14 12:42:26 Utskriftsvennlig versjon
|
|||||
|