Excel WEEKNUM-funktion - konverter ugenummer til dato og omvendt

  • Del Dette
Michael Brown

Microsoft Excel indeholder en række funktioner til at arbejde med ugedage, måneder og år, men kun én er tilgængelig for uger - funktionen WEEKNUM. Så hvis du leder efter en måde at få et ugenummer fra en dato på, er WEEKNUM den funktion, du skal bruge.

I denne korte vejledning vil vi kort fortælle om syntaksen og argumenterne for Excel WEEKNUM og derefter diskutere et par formelsætninger, der viser, hvordan du kan bruge WEEKNUM-funktionen til at beregne ugenumre i dine Excel-regneark.

    Excel WEEKNUM-funktion - syntaks

    Funktionen WEEKNUM bruges i Excel til at returnere ugenummeret for en bestemt dato i året (et tal mellem 1 og 54). Den har to argumenter, hvoraf det første er påkrævet og det andet er valgfrit:

    WEEKNUM(serial_number, [return_type])
    • Serial_number - en dato inden for den uge, hvis nummer du forsøger at finde. Dette kan være en henvisning til en celle, der indeholder datoen, en dato, der er indtastet ved hjælp af DATE-funktionen eller returneret af en anden formel.
    • Return_type (valgfrit) - et tal, der angiver, hvilken dag ugen begynder. Hvis det udelades, anvendes standardtype 1 (ugen begynder søndag).

    Her er en komplet liste over de return_type værdier, der understøttes i WEEKNUM-formler.

    Return_type Ugen begynder den
    1 eller 17 eller udeladt Søndag
    2 eller 11 Mandag
    12 Tirsdag
    13 Onsdag
    14 Torsdag
    15 Fredag
    16 Lørdag
    21 Mandag (anvendes i System 2, se nærmere oplysninger nedenfor).

    I WEEKNUM-funktionen kan to forskellige ugenummereringssystemer anvendes:

    • System 1. Ugen, der indeholder den 1. januar, betragtes som årets første uge og nummereres uge 1. I dette system starter ugen traditionelt om søndagen.
    • System 2. Dette er ISO-ugedato-systemet, der er en del af ISO 8601-standarden for dato og tid. I dette system starter ugen mandag, og den uge, der indeholder årets første torsdag, betragtes som uge 1. Det er almindeligvis kendt som det europæiske ugenummereringssystem, og det bruges hovedsagelig i offentlige myndigheder og virksomheder til regnskabsår og tidsregistrering.

    Alle de ovenfor anførte returneringstyper gælder for System 1, undtagen returneringstype 21, der anvendes i System 2.

    Bemærk. I Excel 2007 og tidligere versioner er kun mulighed 1 og 2 tilgængelige. Returtyperne 11 til 21 understøttes kun i Excel 2010 og Excel 2013.

    Excel WEEKNUM-formler til at konvertere dato til ugenummer (fra 1 til 54)

    Følgende skærmbillede viser, hvordan du kan få ugenumre fra datoer med den enkleste =WEEKNUM(A2) formel:

    I ovenstående formel er return_type er udeladt, hvilket betyder, at standardtype 1 anvendes - ugen begynder søndag.

    Hvis du hellere vil begynde med en anden ugedag, f.eks. mandag, skal du bruge 2 i det andet argument:

    =WEEKNUM(A2, 2)

    I stedet for at henvise til en celle kan du angive datoen direkte i formlen ved f.eks. at bruge funktionen DATE(år, måned, dag):

    =WEEKNUM(DATO(2015,4,15), 2)

    Ovenstående formel giver 16, som er ugenummeret for den uge, der indeholder den 15. april 2015, med en uge, der begynder mandag.

    I det virkelige liv bruges Excel-funktionen WEEKNUM sjældent alene, men oftest i kombination med andre funktioner til at udføre forskellige beregninger baseret på ugenummeret, som vist i de følgende eksempler.

    Sådan konverteres ugenummer til dato i Excel

    Som du lige har set, er det ikke noget problem at omdanne en dato til et ugenummer ved hjælp af Excel-funktionen WEEKNUM. Men hvad nu, hvis du er ude efter det modsatte, dvs. at konvertere et ugenummer til en dato? Desværre findes der ingen Excel-funktion, der kan gøre dette med det samme. Så vi bliver nødt til at konstruere vores egne formler.

    Antag, at du har et årstal i celle A2 og et ugenummer i B2, og nu vil du beregne start- og slutdatoerne i denne uge.

    Bemærk. Dette eksempel på en formel er baseret på ISO-ugetal, hvor en uge starter mandag.

    Formlen til returnering af den Startdato ugen er som følger:

    =DATO(A2, 1, -2) - UGEDAG(DATO(A2, 1, 3)) + B2 * 7

    Hvor A2 er året og B2 er ugenummeret.

    Bemærk, at formlen returnerer datoen som et løbenummer, og for at få den vist som en dato skal du formatere cellen i overensstemmelse hermed. Du kan finde detaljerede instruktioner i Ændre datoformat i Excel. Og her er det resultat, der returneres af formlen:

    Selvfølgelig er formlen til at konvertere et ugenummer til en dato ikke triviel, og det kan tage et stykke tid at få styr på logikken. Jeg vil gøre mit bedste for at give en meningsfuld forklaring til dem, der er nysgerrige efter at komme helt ned i dybden.

    Som du kan se, består vores formel af 2 dele:

    • DATO(A2, 1, -2) - UGEDAG(DATO(A2, 1, 3)) - beregner datoen for den sidste mandag i det foregående år.
    • B2 * 7 - lægger antallet af uger sammen med 7 (antallet af dage i en uge) for at få mandag (startdato) i den pågældende uge.

    I ISO's ugenummereringssystem er uge 1 den uge, der indeholder årets første torsdag. Derfor ligger den første mandag altid mellem den 29. december og den 4. januar. For at finde denne dato skal vi altså finde den mandag, der ligger umiddelbart før den 5. januar.

    I Microsoft Excel kan du udtrække en ugedag fra en dato ved hjælp af funktionen WEEKDAY. Og du kan bruge følgende generiske formel til at få mandag umiddelbart før en given dato:

    = dato - UGEDAG( dato - 2)

    Hvis vores endelige mål var at finde mandagen umiddelbart før den 5. januar i året A2, kunne vi bruge følgende DATE-funktioner:

    =DATO(A2,1,5) - UGEDAG(DATO(A2,1,3))

    Men det, vi faktisk har brug for, er ikke den første mandag i år, men derimod den sidste mandag i det foregående år. Så du skal trække 7 dage fra den 5. januar, og derfor får du -2 i den første DATE-funktion:

    =DATO(A2,1,-2) - UGEDAG(DATO(A2,1,3))

    Sammenlignet med den vanskelige formel, du lige har lært, er det at beregne Slutdato af ugen er let som en leg :) For at få søndag i den pågældende uge, skal du blot tilføje 6 dage til den Startdato , dvs. =D2+6

    Alternativt kan du tilføje 6 direkte i formlen:

    =DATO(A2, 1, -2) - UGEDAG(DATO(A2, 1, 3)) + B2 * 7 + 6

    For at sikre dig, at formlerne altid leverer de rigtige datoer, skal du se på følgende skærmbillede. Formlerne Startdato og Slutdato, der er beskrevet ovenfor, er kopieret på tværs af henholdsvis kolonne D og E:

    Andre måder at konvertere ugenummer til dato på i Excel

    Hvis ovenstående formel baseret på ISO-ugedato-systemet ikke opfylder dine krav, kan du prøve en af følgende løsninger.

    Formel 1. En uge, der indeholder Jan-1, er uge 1, mandag-søndag uge

    Som du husker, fungerer den foregående formel på grundlag af ISO-datosystemet, hvor den første torsdag i året betragtes som uge 1. Hvis du arbejder på grundlag af et datosystem, hvor ugen med den 1. januar betragtes som uge 1, skal du bruge følgende formler:

    Startdato:

    =DATO(A2,1,1) - UGEDAG(DATO(A2,1,1),2) + (B2-1)*7 + 1

    Slutdato:

    =DATO(A2,1,1)- UGEDAG(DATO(A2,1,1),2) + B2*7

    Formel 2. En uge, der indeholder Jan-1, er uge 1, søn-søndag uge

    Disse formler ligner de ovennævnte med den eneste forskel, at de er skrevet for ugen søndag-lørdag.

    Startdato:

    =DATO(A2,1,1) - UGEDAG(DATO(A2,1,1),1),1) + (B2-1)*7 + 1

    Slutdato:

    =DATO(A2,1,1)- UGEDAG(DATO(A2,1,1),1),1) + B2*7

    Formel 3. Start altid tællingen den 1. januar, mandag-søndag uge

    Mens de tidligere formler returnerer mandag (eller søndag) i uge 1, uanset om den falder i dette år eller i det foregående år, returnerer denne startdatformel altid 1. januar som startdato for uge 1 uanset ugedag. Tilsvarende returnerer formlen for slutdato altid 31. december som slutdatoen for den sidste uge i året, uanset ugedag. I alle andre henseender fungerer disse formler på samme måde som formel 1 ovenfor.

    Startdato:

    =MAX(DATO(A2,1,1), DATO(A2,1,1) - UGEDAG(DATO(A2,1,1),2) + (B2-1)*7 + 1)

    Slutdato:

    =MIN(DATO(A2+1,1,0), DATO(A2,1,1) - UGEDAG(DATO(A2,1,1),2) + B2*7)

    Formel 4. Start altid tællingen den 1. januar, søn-søndag uge

    For at beregne start- og slutdatoer for en uge fra søndag til lørdag skal du blot foretage en lille justering i ovenstående formler :)

    Startdato:

    =MAX(DATO(A2,1,1), DATO(A2,1,1) - UGEDAG(DATO(A2,1,1),1),1) + (B2-1)*7 + 1)

    Slutdato:

    =MIN(DATO(A2+1,1,0), DATO(A2,1,1) - UGEDAG(DATO(A2,1,1),1),1) + B2*7)

    Hvordan man får måned fra ugenummer

    For at få en måned, der svarer til ugenummeret, finder du den første dag i en given uge som forklaret i dette eksempel, og så pakker du formlen ind i Excel-funktionen MONTH på følgende måde:

    =MÅNED(DATO(A2, 1, -2) - UGEDAG(DATO(A2, 1, 3)) + B2 * 7)

    Bemærk. Husk venligst, at ovenstående formel fungerer på grundlag af den ISO-ugedato system , hvor ugen starter mandag, og den uge, der indeholder den første torsdag i året, betragtes som uge 1. For eksempel er den første torsdag i 2016 den 7. januar, og derfor starter uge 1 den 4. januar 2016.

    Sådan får du et ugenummer i en måned (fra 1 til 6)

    Hvis din forretningslogik kræver, at du konverterer en bestemt dato til ugenummeret i den tilsvarende måned, kan du bruge kombinationen af funktionerne WEEKNUM, DATE og MONTH:

    Hvis du antager, at celle A2 indeholder den oprindelige dato, skal du bruge følgende formel for en uge, der begynder den Mandag (bemærk 21 i WEEKNUM's return_type-argument):

    =WEEKNUM($A2,21)-WEEKNUM(DATE(ÅR($A2), MÅNED($A2),1),21)+1

    I en uge, der begynder den Søndag , udelade argumentet return_type:

    =WEEKNUM($A2)-WEEKNUM(DATE(ÅR($A2), MÅNED($A2),1))+1

    Sådan summerer du værdier og finder gennemsnittet efter ugenummer

    Nu hvor du ved, hvordan du konverterer en dato til et ugenummer i Excel, kan du se, hvordan du kan bruge ugenumre i andre beregninger.

    Antag, at du har nogle månedlige salgstal, og at du vil kende det samlede salg for hver uge.

    Lad os til at begynde med finde ud af et ugenummer, der svarer til hvert salg. Hvis dine datoer står i kolonne A og salget i kolonne B, skal du kopiere =WEEKNUM(A2) formel i kolonne C fra celle C2.

    Lav derefter en liste over ugenumre i en anden kolonne (f.eks. i kolonne E), og beregn salget for hver uge ved hjælp af følgende SUMIF-formel:

    =SUMIF($C$2:$C$15, $E2, $B$2:$B$15)

    Hvor E2 er ugenummeret.

    I dette eksempel arbejder vi med en liste over salg i marts, så vi har ugenummer 10 til 14, som vist i følgende skærmbillede:

    På samme måde kan du beregne salgsgennemsnittet for en given uge:

    = GENNEMSNITLIG HVIS($C$2:$C$15, $E2, $B$2:$B$15)

    Hvis hjælpekolonnen med WEEKNUM-formlen ikke passer godt ind i dit datalayout, må jeg desværre fortælle dig, at der ikke er nogen enkel måde at slippe af med den på, fordi Excel WEEKNUM er en af de funktioner, der ikke accepterer intervalargumenter. Derfor kan den ikke bruges i SUMPRODUCT eller andre array-formler som f.eks. funktionen MONTH i et lignende scenario.

    Sådan fremhæver du celler baseret på ugenummeret

    Lad os sige, at du har en lang liste af datoer i en kolonne, og at du kun vil fremhæve dem, der vedrører en bestemt uge. Du har blot brug for en betinget formateringsregel med en WEEKNUM-formel, der ligner denne:

    =WEEKNUM($A2)=10

    Som vist i skærmbilledet nedenfor fremhæver reglen salg, der blev foretaget i uge 10, som er den første uge i marts 2015. Da reglen gælder for A2:B15, fremhæver den værdier i begge kolonner. Du kan få mere at vide om at oprette regler for betinget formatering i denne vejledning: Excel betinget formatering baseret på en anden celleværdi.

    Sådan kan du beregne ugenumre i Excel, konvertere ugenummer til dato og udtrække ugenummer fra dato. Forhåbentlig vil de WEEKNUM-formler, du har lært i dag, vise sig nyttige i dine regneark. I den næste vejledning vil vi tale om beregning af alder og årstal i Excel. Jeg takker for din læsning og håber at se dig i næste uge!

    Michael Brown er en dedikeret teknologientusiast med en passion for at forenkle komplekse processer ved hjælp af softwareværktøjer. Med mere end ti års erfaring i teknologibranchen har han finpudset sine færdigheder i Microsoft Excel og Outlook samt Google Sheets og Docs. Michaels blog er dedikeret til at dele sin viden og ekspertise med andre og giver nemme at følge tips og vejledninger til at forbedre produktiviteten og effektiviteten. Uanset om du er en erfaren professionel eller nybegynder, tilbyder Michaels blog værdifuld indsigt og praktiske råd til at få mest muligt ud af disse vigtige softwareværktøjer.