Excel WEEKNUM-funksjon – konverter ukenummer til dato og omvendt

  • Dele Denne
Michael Brown

Mens Microsoft Excel tilbyr en rekke funksjoner for å jobbe med ukedager, måneder og år, er bare én tilgjengelig i flere uker - WEEKNUM-funksjonen. Så hvis du leter etter en måte å få et ukenummer fra en dato, er WEEKNUM funksjonen du ønsker.

I denne korte opplæringen vil vi kort snakke om syntaksen og argumentene til Excel WEEKNUM, og diskuter deretter noen formeleksempler som viser hvordan du kan bruke UKENUM-funksjonen til å beregne uketall i Excel-regnearkene dine.

    Excel UKENUMMER-funksjonen - syntaks

    UKENUMMER-funksjonen er brukes i Excel for å returnere ukenummeret til en bestemt dato i året (et tall mellom 1 og 54). Den har to argumenter, det første er obligatorisk og det andre er valgfritt:

    UKENUMMER(serienummer, [return_type])
    • Serienummer - hvilken som helst dato i uken hvis nummer du prøver å finne. Dette kan være en referanse til en celle som inneholder datoen, en dato angitt ved å bruke DATO-funksjonen eller returnert av en annen formel.
    • Return_type (valgfritt) - et tall som bestemmer hvilken dag uken begynner. Hvis den utelates, brukes standardtype 1 (uken som begynner på søndag).

    Her er en fullstendig liste over return_type -verdiene som støttes i WEEKNUM-formler.

    Return_type Uken begynner på
    1 eller 17 eller utelatt søndag
    2 eller11 Mandag
    12 Tirsdag
    13 Onsdag
    14 Torsdag
    15 Fredag
    16 Lørdag
    21 Mandag (brukt i System 2, se detaljene nedenfor.)

    I UKENUMMER-funksjonen brukes to forskjellige ukenummersystemer :

    • System 1. Uken som inneholder 1. januar vurderes den 1. uken i året og er nummerert uke 1. I dette systemet starter uken tradisjonelt på søndag.
    • System 2. Dette er ISO-ukedatosystemet som er en del av ISO 8601 dato og klokkeslett standard. I dette systemet starter uken på mandag, og uken som inneholder den første torsdagen i året regnes som uke 1. Det er vanligvis kjent som det europeiske ukenummereringssystemet, og det brukes hovedsakelig i myndigheter og næringsliv for regnskapsår og tidtaking.

    Alle returtypene oppført ovenfor gjelder for System 1, bortsett fra returtype 21 som brukes i System 2.

    Merk. I Excel 2007 og tidligere versjoner er kun alternativene 1 og 2 tilgjengelige. Returtypene 11 til 21 støttes kun i Excel 2010 og Excel 2013.

    Excel WEEKNUM-formler for å konvertere dato til ukenummer (fra 1 til 54)

    Følgende skjermbilde viser hvordan du kan få ukenummer fra datoer med den enkleste =WEEKNUM(A2) -formelen:

    I ovenståendeformelen, er return_type -argumentet utelatt, noe som betyr at standardtype 1 brukes - uken som begynner på søndag.

    Hvis du heller vil begynne med en annen ukedag, si mandag, så bruk 2 i det andre argumentet:

    =WEEKNUM(A2, 2)

    I stedet for å referere til en celle, kan du spesifisere datoen direkte i formelen ved å bruke funksjonen DATE(år, måned, dag), for eksempel:

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

    Formelen ovenfor returnerer 16, som er nummeret på uken som inneholder 15. april 2015, med en uke som begynner på mandag.

    I virkelige scenarier , Excel WEEKNUM-funksjonen brukes sjelden alene. Oftest vil du bruke den i kombinasjon med andre funksjoner for å utføre ulike beregninger basert på ukenummeret, som vist i ytterligere eksempler.

    Hvordan konvertere ukenummer til dato i Excel

    Som du har nettopp sett, er det ikke så farlig å gjøre om en dato til et ukenummer ved å bruke Excel WEEKNUM-funksjonen. Men hva om du ser etter det motsatte, det vil si å konvertere et ukenummer til en dato? Akk, det er ingen Excel-funksjon som kan gjøre dette med en gang. Så vi må konstruere våre egne formler.

    Anta at du har et år i celle A2 og et ukenummer i B2, og nå vil du beregne start- og sluttdatoene i denne uken.

    Merk. Dette formeleksemplet er basert på ISO-uketall, med en uke som starter på mandag.

    Formelen for å returnere Startdato i uken er som følger:

    =DATE(A2, 1, -2) - WEEKDAY(DATE(A2, 1, 3)) + B2 * 7

    Hvor A2 er året og B2 er ukenummeret.

    Vær oppmerksom på at formelen returnerer datoen som et serienummer, og for å få det vist som en dato, må du formatere cellen tilsvarende. Du finner de detaljerte instruksjonene i Endre datoformat i Excel. Og her er resultatet returnert av formelen:

    Selvfølgelig er formelen for å konvertere et ukenummer til en dato ikke triviell, og det kan ta en stund å få hodet rundt logikken. Uansett, jeg skal gjøre mitt beste for å gi meningsfull forklaring for de som er nysgjerrige på å komme ned til bunnen.

    Som du ser, består formelen vår av 2 deler:

    • DATE(A2, 1, -2) - WEEKDAY(DATE(A2, 1, 3)) - beregner datoen for siste mandag i året før.
    • B2 * 7 - legger til antall uker multiplisert med 7 (antall dager i en uke) for å få mandag (startdato) i uken i spørsmål.

    I ISO-ukenummereringssystemet er uke 1 uken som inneholder den første torsdagen i året. Følgelig er den første mandagen alltid mellom 29. desember og 4. januar. Så for å finne den datoen må vi finne mandagen rett før 5. januar.

    I Microsoft Excel kan du trekke ut en ukedag fra en dato ved å bruke WEEKDAY-funksjonen. Og du kan bruke følgende generiske formel for å få mandag rett før en gitt dato:

    = dato - UKEDAG( dato - 2)

    Hvis vårDet endelige målet var å finne mandag umiddelbart før 5. januar i året i A2, vi kunne bruke følgende DATE-funksjoner:

    =DATE(A2,1,5) - WEEKDAY(DATE(A2,1,3))

    Men det vi faktisk trenger er ikke den første mandagen i i år, men heller siste mandag i året før. Så du må trekke fra 7 dager fra 5. januar og dermed får du -2 i den første DATO-funksjonen:

    =DATE(A2,1,-2) - WEEKDAY(DATE(A2,1,3))

    Sammenlignet med den vanskelige formelen du nettopp har lært, beregner du Ukens sluttdato er en piece of cake :) For å få søndag i den aktuelle uken legger du bare til 6 dager til Startdatoen , dvs. =D2+6

    Alternativt kan du legge til 6 direkte i formelen:

    =DATE(A2, 1, -2) - WEEKDAY(DATE(A2, 1, 3)) + B2 * 7 + 6

    For å sikre at formlene alltid leverer de riktige datoene, vennligst ta en titt på følgende skjermbilde. Formlene for startdato og sluttdato som er diskutert ovenfor, kopieres over henholdsvis kolonne D og E:

    Andre måter å konvertere ukenummer til dato i Excel

    Hvis formelen ovenfor basert på ISO-ukedatosystemet ikke oppfyller kravene dine, prøv en av følgende løsninger.

    Formel 1. En uke som inneholder jan-1 er uke 1, man-søn uke

    Som du husker fungerer den forrige formelen basert på ISO-datosystemet der første torsdag i året regnes som uke 1. Hvis du jobber basert på et datosystem der uken som inneholder 1. januar regnes som uke 1, bruk følgendeformler:

    Startdato:

    =DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),2) + (B2-1)*7 + 1

    Sluttdato:

    =DATE(A2,1,1)- WEEKDAY(DATE(A2,1,1),2) + B2*7

    Formel 2. En uke som inneholder Jan-1 er uke 1, søn-lør uke

    Disse formlene ligner på de ovennevnte med den eneste forskjellen at de er skrevet for søndag - lørdag uke.

    Startdato:

    =DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),1) + (B2-1)*7 + 1

    Sluttdato:

    =DATE(A2,1,1)- WEEKDAY(DATE(A2,1,1),1) + B2*7

    Formel 3. Begynn alltid å telle 1. januar, man-søn uke

    Mens de forrige formlene returnerer mandag (eller søndag) i uke 1, uansett av om hvis faller innenfor dette året eller det foregående året, returnerer denne startdatoformelen alltid 1. januar som startdatoen for uke 1 uavhengig av ukedagen. I analogi gir sluttdatoformelen alltid 31.desember som sluttdatoen for den siste uken i året, uavhengig av ukedagen. I alle andre henseender fungerer disse formlene på samme måte som formel 1 ovenfor.

    Startdato:

    =MAX(DATE(A2,1,1), DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),2) + (B2-1)*7 + 1)

    Sluttdato:

    =MIN(DATE(A2+1,1,0), DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),2) + B2*7)

    Formel 4. Begynn alltid å telle 1. januar, søn-lør uke

    For å beregne start- og sluttdatoene for en søndag - lørdag uke er alt som skal til en liten justering i formlene ovenfor :)

    Startdato:

    =MAX(DATE(A2,1,1), DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),1) + (B2-1)*7 + 1)

    Sluttdato:

    =MIN(DATE(A2+1,1,0), DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),1) + B2*7)

    Hvordan få måned fra ukenummer

    For å få en måned som tilsvarer uken nummer, finner du den første dagen i en gitt uke som forklart i denneeksempel, og pakk deretter formelen inn i Excel MONTH-funksjonen slik:

    =MONTH(DATE(A2, 1, -2) - WEEKDAY(DATE(A2, 1, 3)) + B2 * 7)

    Merk. Husk at formelen ovenfor fungerer basert på ISO-ukedatosystemet , der uken starter på mandag og uken som inneholder den første torsdagen i året regnes som uke 1. For eksempel, i år 2016, første torsdag er 7. januar, og derfor begynner uke 1 4. jan-2016.

    Hvordan få et ukenummer i løpet av en måned (fra 1 til 6)

    Hvis forretningslogikken din krever å konvertere en spesifikk dato til ukenummeret i den tilsvarende måneden, kan du bruke kombinasjonen WEEKNUM, DATE- og MONTH-funksjoner:

    Forutsatt at celle A2 inneholder den opprinnelige datoen, bruk følgende formel for en uke som begynner på mandag (merknad 21 i WEEKNUMs returtype-argument):

    =WEEKNUM($A2,21)-WEEKNUM(DATE(YEAR($A2), MONTH($A2),1),21)+1

    I en uke som begynner på søndag , utelate argumentet return_type:

    =WEEKNUM($A2)-WEEKNUM(DATE(YEAR($A2), MONTH($A2),1))+1

    Hvordan summer verdier og finn gjennomsnitt etter ukenummer

    Nå som du vet hvordan du konverterer en dato til et ukenummer i Excel, la oss se hvordan du kan bruke ukenummer i andre beregninger.

    Anta , du har noen månedlige salgstall og du vil vite totalen for hver uke.

    Til å begynne med, la oss finne ut et ukenummer som tilsvarer hvert salg. Hvis datoene dine er i kolonne A og salg i kolonne B, kopierer du =WEEKNUM(A2) -formelen over kolonne C som begynner i cellenC2.

    Og deretter, lag en liste over ukenummer i en annen kolonne (f.eks. i kolonne E) og beregn salget for hver uke ved å bruke følgende SUMIF-formel:

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

    Hvor E2 er ukenummeret.

    I dette eksempelet jobber vi med en liste over marssalg, så vi har ukenummer 10 til 14, som vist i følgende skjermbilde:

    På lignende måte kan du beregne salgsgjennomsnittet for en gitt uke:

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

    Hvis hjelpekolonnen med WEEKNUM-formelen ikke passer godt inn i dataoppsettet ditt, beklager jeg å fortelle deg at det ikke er noen enkel måte å bli kvitt den på fordi Excel WEEKNUM er en av disse funksjonene som ikke aksepterer rekkeviddeargumenter. Derfor kan den ikke brukes innenfor SUMPRODUCT eller noen annen matriseformel som MONTH-funksjonen i et lignende scenario.

    Hvordan markere celler basert på ukenummeret

    La oss si at du har en lang liste av datoer i en kolonne, og du vil bare fremheve de som er relatert til en gitt uke. Alt du trenger er en betinget formateringsregel med en WEEKNUM-formel som ligner på denne:

    =WEEKNUM($A2)=10

    Som vist i skjermbildet nedenfor, fremhever regelen salg som ble gjort innen uke 10, som er første uke i mars 2015. Siden regelen gjelder for A2:B15, fremhever den verdier i begge kolonnene. Du kan lære mer om hvordan du oppretter regler for betinget formatering i denneopplæring: Excel betinget formatering basert på en annen celleverdi.

    Slik kan du beregne ukenummer i Excel, konvertere ukenummer til dato og trekke ut ukenummer fra dato. Forhåpentligvis vil WEEKNUM-formlene du har lært i dag vise seg nyttige i regnearkene dine. I den neste opplæringen skal vi snakke om å beregne alder og år i Excel. Jeg takker for at du leser og håper å se deg neste uke!

    Michael Brown er en dedikert teknologientusiast med en lidenskap for å forenkle komplekse prosesser ved hjelp av programvareverktøy. Med mer enn ti års erfaring i teknologibransjen, har han forbedret ferdighetene sine i Microsoft Excel og Outlook, samt Google Sheets og Docs. Michaels blogg er dedikert til å dele sin kunnskap og ekspertise med andre, og gir enkle å følge tips og veiledninger for å forbedre produktivitet og effektivitet. Enten du er en erfaren profesjonell eller nybegynner, tilbyr Michaels blogg verdifull innsikt og praktiske råd for å få mest mulig ut av disse viktige programvareverktøyene.