Indholdsfortegnelse
Hvis du leder efter en Excel-funktion til at få ugedag fra en dato, er du landet på den rigtige side. Denne vejledning vil lære dig at bruge formlen WEEKDAY i Excel til at konvertere en dato til et ugedagsnavn, filtrere, fremhæve og tælle weekender eller arbejdsdage og meget mere.
Der findes en række funktioner til at arbejde med datoer i Excel. Funktionen ugedag (WEEKDAY) er især nyttig til planlægning og skemalægning, f.eks. til at bestemme tidsrammen for et projekt og automatisk fjerne weekender fra det samlede beløb. Så lad os gennemgå eksemplerne et ad gangen og se, hvordan de kan hjælpe dig med at klare forskellige datarelaterede opgaver i Excel.
WEEKDAY - Excel-funktion til ugedag
Excel-funktionen WEEKDAY bruges til at returnere ugedagen fra en given dato.
Resultatet er et heltal, som som standard er fra 1 (søndag) til 7 (lørdag). Hvis din forretningslogik kræver en anden opregning, kan du konfigurere formlen til at starte tællingen med en hvilken som helst anden ugedag.
Funktionen WEEKDAY er tilgængelig i alle versioner af Excel 365 til og med 2000.
Syntaksen for funktionen WEEKDAY er som følger:
WEEKDAY(serial_number, [return_type])Hvor:
Serial_number (påkrævet) - den dato, som du vil konvertere til ugedagstallet. Den kan angives som et løbenummer, der repræsenterer datoen, som en tekststreng i det format, som Excel forstår, som en henvisning til den celle, der indeholder datoen, eller ved at bruge funktionen DATE.
Return_type (valgfrit) - bestemmer, hvilken ugedag der skal bruges som den første dag. Hvis udeladt, bruges som standard ugen søn-sat.
Her er en liste over alle understøttede return_type værdier:
Return_type | Antal returnerede varer |
---|---|
1 eller udeladt | Fra 1 (søndag) til 7 (lørdag) |
2 | Fra 1 (mandag) til 7 (søndag) |
3 | Fra 0 (mandag) til 6 (søndag) |
11 | Fra 1 (mandag) til 7 (søndag) |
12 | Fra 1 (tirsdag) til 7 (mandag) |
13 | Fra 1 (onsdag) til 7 (tirsdag) |
14 | Fra 1 (torsdag) til 7 (onsdag) |
15 | Fra 1 (fredag) til 7 (torsdag) |
16 | Fra 1 (lørdag) til 7 (fredag) |
17 | Fra 1 (søndag) til 7 (lørdag) |
Bemærk. return_type Værdierne 11 til 17 blev indført i Excel 2010 og kan derfor ikke bruges i tidligere versioner.
Grundlæggende WEEKDAY-formel i Excel
Lad os først se, hvordan du bruger WEEKDAY-formlen i sin enkleste form for at få dagstallet fra datoen.
For at få ugedagen fra datoen i C4 med standardugen søndag-lørdag er formlen f.eks:
=WEEKDAY(C4)
Hvis du har et løbenummer, der repræsenterer datoen (f.eks. med DATEVALUE-funktionen), kan du indtaste dette nummer direkte i formlen:
=UGEDAG(45658)
Du kan også skrive datoen som en tekststreng omgivet af anførselstegn direkte i formlen. Du skal blot sørge for at bruge det datoformat, som Excel forventer og kan fortolke:
=WEEKDAY("1/1/2025")
Du kan også angive kildedatoen på en 100 % pålidelig måde ved hjælp af DATE-funktionen:
=WEEKDAY(DATE(2025, 1,1))
Hvis du vil bruge en anden dagtilknytning end standardværdien søn-sat, skal du indtaste et passende tal i det andet argument. For at begynde at tælle dage fra mandag er formlen f.eks:
= UGEDAG(C4, 2)
I billedet nedenfor returnerer alle formlerne ugedagen svarende til den 1. januar 2025, som er gemt som tallet 45658 internt i Excel. Afhængigt af den værdi, der er angivet i det andet argument, giver formlerne forskellige resultater.
Ved første øjekast kan det se ud som om, at de tal, der returneres af funktionen WEEKDAY, har meget lidt praktisk betydning. Men lad os se på det fra en anden vinkel og diskutere nogle formler, der løser opgaver i det virkelige liv.
Sådan konverteres Excel-dato til ugedagsnavn
Excel-funktionen WEEKDAY returnerer ugedagen som et tal. Hvis du vil omdanne ugedagstallet til et dagsnavn, skal du bruge TEXT-funktionen.
For at få navne for hele dagen , bruge formatkoden "ddddd":
TEXT(WEEKDAY( dato ), "dddd")For at vende tilbage forkortede navne på dage , formatkoden er "ddd":
TEXT(WEEKDAY( dato ), "ddd")For at konvertere datoen i A3 til ugedagsnavnet er formlen f.eks:
=TEXT(WEEKDAY(A3), "dddd")
Eller
=TEXT(WEEKDAY(A3), "ddd")
En anden mulig løsning er at bruge WEEKDAY sammen med CHOOSE-funktionen.
Hvis du f.eks. vil få et forkortet navn på en ugedag ud fra datoen i A3, skal formlen se således ud:
=CHOOSE(WEEKDAY(A3), "søn", "mandag", "tirsdag", "onsdag", "torsdag", "fre", "lørdag")
Her returnerer WEEKDAY et løbenummer fra 1 (søn) til 7 (lør), og CHOOSE vælger den tilsvarende værdi fra listen. Da datoen i A3 (onsdag) svarer til 4, udsender CHOOSE "Wed", som er den fjerde værdi på listen.
Selv om CHOOSE-formlen er lidt mere besværlig at konfigurere, giver den større fleksibilitet, så du kan få dagnavne i det format, du ønsker. I ovenstående eksempel viser vi forkortede dagnavne. Du kan i stedet levere fulde navne, brugerdefinerede forkortelser eller endda dagnavne på et andet sprog.
Tip. En anden nem måde at konvertere en dato til ugedagsnavnet på er ved at anvende et brugerdefineret datoformat. For eksempel vil kodeformatet "ddddd, mmmm d, yyyy" få datoen vist som " Fredag, 3. januar 2025 ", mens "dddd" kun vil vise " Fredag ".
Excel WEEKDAY-formel til at finde og filtrere arbejdsdage og weekender
Når du har en lang liste med datoer, vil du måske gerne vide, hvilke datoer der er arbejdsdage og hvilke der er weekender.
Til identificere weekender og hverdage i Excel skal du oprette en IF-erklæring med den indlejrede funktion WEEKDAY. For eksempel:
=IF(WEEKDAY(A3, 2)<6, "Arbejdsdag", "Weekend")
Formlen indsættes i celle A3 og kopieres ned over så mange celler som nødvendigt.
I formlen WEEKDAY indstiller du return_type til 2, hvilket svarer til ugen mandag-søndag, hvor mandag er dag 1. Så hvis ugedagstallet er mindre end 6 (mandag til fredag), returnerer formlen "Arbejdsdag", ellers - "Weekend".
Til filter weekender eller arbejdsdage , anvende Excel-filter på dit datasæt ( Data faneblad> Filter ), og vælg enten "Weekend" eller "Arbejdsdag".
I skærmbilledet nedenfor har vi filtreret hverdage fra, så kun weekender er synlige:
Hvis et regionalt kontor i din organisation arbejder efter et andet skema, hvor hviledagene er andre end lørdag og søndag, kan du nemt tilpasse formlen WEEKDAY til dine behov ved at angive en anden return_type .
For eksempel til behandling af Lørdag og Mandag som weekender, indstille return_type til 12, så du får ugetypen "tirsdag (1) til mandag (7)":
=IF(WEEKDAY(A2, 12)<6, "Arbejdsdag", "Weekend")
Sådan fremhæver du weekender, arbejdsdage og i Excel
For at få et overblik over weekender og arbejdsdage i dit regneark kan du få dem automatisk skraveret i forskellige farver. Du kan bruge formlen for ugedag/weekend, som blev diskuteret i det foregående eksempel, med Excel betinget formatering. Da betingelsen er underforstået, har vi kun brug for kernefunktionen WEEKDAY uden IF-omslaget.
Til fremhæve weekender (lørdag og søndag):
=WEEKDAY($A2, 2)<6
Til fremhæve arbejdsdage (mandag - fredag):
=WEEKDAY($A2, 2)>5
Hvor A2 er den øverste venstre celle i det valgte område.
Du kan opsætte reglen for betinget formatering på følgende måde:
- Vælg listen over datoer (A2:A15 i vores tilfælde).
- På den Hjem under fanen, i fanen Stilarter gruppe, klik på Betinget formatering > Ny regel .
- I den Ny formateringsregel dialogboksen, skal du vælge Brug en formel til at bestemme, hvilke celler der skal formateres .
- I den Formater værdier, hvor denne formel er sand, indtastes ovennævnte formel for weekender eller hverdage.
- Klik på den Format knappen og vælg det ønskede format.
- Klik på OK to gange for at gemme ændringerne og lukke dialogvinduerne.
Du kan finde detaljerede oplysninger om hvert enkelt trin i Sådan konfigureres betinget formatering med formler.
Resultatet ser ret godt ud, ikke sandt?
Sådan tæller du hverdage og weekender i Excel
For at få antallet af ugedage eller weekender i listen over datoer kan du bruge funktionen WEEKDAY i kombination med SUM. F.eks:
Til tælle weekender , er formlen i D3 er:
=SUM(--(WEEKDAY(A3:A20, 2)>5))
Til tælle hverdage har formlen i D4 denne form:
=SUM(--(WEEKDAY(A3:A20, 2)<6))
I Excel 365 og Excel 2021, der håndterer arrays naturligt, fungerer dette som en almindelig formel, som vist i skærmbilledet nedenfor. I Excel 2019 og tidligere skal du trykke på Ctrl + Shift + Enter for at gøre det til en arrayformel.
Hvordan disse formler fungerer:
Funktionen WEEKDAY med return_type sat til 2 returnerer et dagnummer fra 1 (mandag) til 7 (søndag) for hver dato i intervallet A3:A20. Det logiske udtryk kontrollerer, om de returnerede tal er større end 5 (for weekender) eller mindre end 6 (for hverdage). Resultatet af denne operation er et array af værdierne TRUE og FALSE.
Den dobbelte negation (--) tvinger de logiske værdier til at være 1'er og 0'er. Og SUM-funktionen lægger dem sammen. Da 1 (TRUE) repræsenterer de dage, der skal tælles, og 0 (FALSE) de dage, der skal ignoreres, får du det ønskede resultat.
Tip. For at beregne hverdage mellem to datoer , bruge funktionen NETWORKDAYS eller NETWORKDAYS.INTL.
Hvis det er en hverdag, hvis det er lørdag eller søndag, så
Lad os til sidst diskutere et lidt mere specifikt tilfælde, der viser, hvordan man bestemmer ugedagen, og hvis det er lørdag eller søndag, så gør noget, og hvis det er en hverdag, så gør noget andet.
IF(WEEKDAY( celle , 2)>5, if_weekend_then , if_weekday_then )Antag, at du skal beregne betalinger for medarbejdere, der har udført ekstra arbejde på deres fridage, så du skal anvende forskellige betalingssatser for arbejdsdage og weekender. Dette kan gøres ved hjælp af følgende IF-anvisning:
- I den logisk_test argumentet, nest funktionen WEEKDAY, der kontrollerer, om en given dag er en arbejdsdag eller en weekend.
- I den value_if_true argumentet, multipliceres antallet af arbejdstimer med weekendsatsen (G4).
- I den value_if_false argumentet, multipliceres antallet af arbejdstimer med arbejdsdagssatsen (G3).
Den fuldstændige formel i D3 har denne form:
=IF(WEEKDAY(B3, 2)>5, C3*$G$4, C3*$G$3)
For at formlen kan kopieres korrekt til nedenstående celler, skal du sørge for at låse satscelleadresserne med $-tegnet (f.eks. $G$4).
Funktionen WEEKDAY fungerer ikke
Generelt er der to almindelige fejl, som en WEEKDAY-formel kan give tilbage:
#VALUE! fejl opstår, hvis enten:
- Serial_number eller return_type er ikke numerisk.
- Serial_number er uden for det understøttede datointerval (1900 til 9999).
#NUM! fejl opstår, når return_type er uden for det tilladte område (1-3 eller 11-17).
Sådan bruger du funktionen WEEKDAY i Excel til at manipulere ugedage. I den næste artikel vil vi udforske Excel-funktioner til at operere med større tidsenheder som uger, måneder og år. Bliv hængende og tak for at læse med!
Arbejdsbog til download
WEEKDAY-formel i Excel - eksempler (.xlsx-fil)