Indholdsfortegnelse
Vejledningen viser, hvordan du kan udnytte den nye SEQUENCE-funktion til hurtigt at generere en liste over datoer i Excel og bruge funktionen AutoFill til at udfylde en kolonne med datoer, arbejdsdage, måneder eller år.
Indtil for nylig har der kun været én nem måde at generere datoer i Excel på - AutoFill funktionen. Indførelsen af den nye dynamiske arrayfunktion SEQUENCE har gjort det muligt at lave en række datoer med en formel. Denne vejledning ser nærmere på begge metoder, så du kan vælge den, der fungerer bedst for dig.
Sådan udfylder du dataserier i Excel
Når du skal udfylde en kolonne med datoer i Excel, er den hurtigste måde at bruge funktionen AutoFill på.
Automatisk udfyldning af en dataserie i Excel
Det er meget nemt at udfylde en kolonne eller række med datoer, der går en dag frem og tilbage:
- Indtast den første dato i den første celle.
- Vælg cellen med den oprindelige dato, og træk fyldhåndtaget (en lille grøn firkant i nederste højre hjørne) nedad eller til højre.
Excel genererer straks en række datoer i samme format som den første dato, som du har skrevet manuelt.
Udfyld en kolonne med ugedage, måneder eller år
Hvis du vil oprette en serie af arbejdsdage, måneder eller år, skal du gøre en af følgende handlinger:
- Udfyld en kolonne med datoer i rækkefølge som beskrevet ovenfor. Derefter skal du klikke på Indstillinger for automatisk udfyldning knappen og vælg den ønskede indstilling, f.eks. Fyld måneder :
- Eller du kan indtaste din første dato, højreklikke på udfyldningshåndtaget, holde det nede og trække gennem så mange celler som nødvendigt. Når du slipper museknappen, vises en kontekstmenu, så du kan vælge den ønskede indstilling, Fyld år i vores tilfælde:
Udfyld en række datoer med en stigning på N dage
Hvis du vil generere en række dage, ugedage, måneder eller år automatisk med en bestemt trin , skal du gøre dette:
- Indtast den første dato i den første celle.
- Vælg den pågældende celle, højreklik på udfyldningshåndtaget, træk det gennem så mange celler som nødvendigt, og slip det derefter.
- I genvejsmenuen skal du vælge Serie (det sidste punkt).
- I den Serie dialogboksen, skal du vælge den Dato enhed af interesse og indstille den Trinværdi .
- Klik på OK.
Du kan finde flere eksempler under Sådan indsætter og udfylder du automatisk datoer i Excel.
Sådan laver du en datosekvens i Excel med en formel
I en af de tidligere tutorials så vi på, hvordan man bruger den nye dynamiske arrayfunktion SEQUENCE til at generere en talrække. Da datoer internt i Excel gemmes som serienumre, kan funktionen også nemt producere en dataserie. Det eneste, du skal gøre, er at konfigurere argumenterne korrekt som forklaret i de følgende eksempler.
Bemærk: Alle de formler, der diskuteres her, fungerer kun i de nyeste versioner af Excel 365, der understøtter dynamiske arrays. I Excel 2019, Excel 2016 og Excel 2013, der er præ-dynamiske, skal du bruge AutoFill funktionen som vist i første del af denne vejledning.
Opret en serie af datoer i Excel
Hvis du vil generere en sekvens af datoer i Excel, skal du indstille følgende argumenter for funktionen SEQUENCE:
SEQUENCE(rows, [columns], [start], [step])- Rækker - antallet af rækker, der skal udfyldes med datoer.
- Kolonner - antallet af kolonner, der skal udfyldes med datoer.
- Start - startdatoen i et format, som Excel kan forstå, f.eks. "8/1/2020" eller "1-Aug-2020". For at undgå fejl kan du angive datoen ved at bruge DATE-funktionen, f.eks. DATE(2020, 8, 1).
- Trin - stigningen for hver efterfølgende dato i en sekvens.
Hvis du f.eks. vil lave en liste med 10 datoer, der starter med 1. august 2020 og øges med 1 dag, er formlen:
=FØLGE(10, 1, "8/1/2020", 1)
eller
=FØLGE(10, 1, DATO(2020, 8, 1), 1)
Alternativt kan du indtaste antallet af datoer (B1), startdato (B2) og trin (B3) i foruddefinerede celler og henvise til disse celler i din formel. Da vi genererer en liste, er kolonnens nummer (1) hardcodet:
=FØLGE(B1, 1, B2, B3)
Indtast nedenstående formel i den øverste celle (A6 i vores tilfælde), tryk på Enter-tasten, og resultaterne vil automatisk blive spredt ud over det angivne antal rækker og kolonner.
Bemærk. Med standardindstillingen Generelt Hvis du vil have dem vist korrekt, skal du sørge for at anvende Dato-formatet på alle cellerne i spill-området for at få dem vist korrekt.
Lav en serie af arbejdsdage i Excel
Hvis du kun vil have en serie af arbejdsdage, skal du indpakke SEQUENCE i funktionen WORKDAY eller WORKDAY.INTL på denne måde:
ARBEJDSDAG( start_dato -1, SEQUENCE( antal_af_dage ))Da funktionen WORKDAY tilføjer det antal dage, der er angivet i det andet argument, til startdatoen, trækker vi 1 fra det for at få selve startdatoen med i resultaterne.
For at generere en sekvens af arbejdsdage, der starter på datoen i B2, er formlen f.eks:
=ARBEJDSDAG(B2-1, SEKVENS(B1))
Hvor B1 er sekvensens størrelse.
Tips og noter:
- Hvis en startdato er lørdag eller søndag, begynder serien den næste arbejdsdag.
- Excel-funktionen WORKDAY antager, at lørdag og søndag er weekender. Hvis du vil konfigurere brugerdefinerede weekender og helligdage, skal du i stedet bruge funktionen WORKDAY.INTL.
Generer en måneds sekvens i Excel
Hvis du vil oprette en række datoer med en måneds stigning, kan du bruge denne generiske formel:
DATE( år , SEKVENS(12), dag )I dette tilfælde angiver du målåret i det første argument og dagen i det tredje argument. For det andet argument returnerer SEQUENCE-funktionen fortløbende tal fra 1 til 12. Baseret på ovenstående parametre producerer DATE-funktionen en række datoer, som vist i den venstre del af skærmbilledet nedenfor:
=DATE(2020, SEKVENS(12), 1)
Hvis du kun vil vise den navne på måneder , indstille et af nedenstående brugerdefinerede datoformater for spildområdet:
- mmm - kort form som Jan , feb , Mar , osv.
- mmmm - fuld form som Januar , Februar , Marts , osv.
Resultatet er, at kun månedsnavnene vises i cellerne, men de underliggende værdier vil stadig være fulde datoer. I begge serier i skærmbilledet nedenfor kan du bemærke den standard højre justering, som er typisk for tal og datoer i Excel:
Hvis du vil generere en datosekvens, der øges med en måned og begynder med en bestemt dato , bruge SEQUENCE-funktionen sammen med EDATE:
EDATE( start_dato , SEKVENS(12, 1, 0)))EDATE-funktionen returnerer en dato, der ligger det angivne antal måneder før eller efter startdatoen. Og SEQUENCE-funktionen producerer et array af 12 tal (eller så mange som du angiver) for at tvinge EDATE til at bevæge sig fremad i en måneds intervaller. Bemærk venligst, at funktionen start argumentet er sat til 0, så startdatoen medtages i resultaterne.
Med startdatoen i B1 får formlen denne form:
=DATO(B1, SEKVENS(12, 1, 0))
Bemærk. Når du har udfyldt en formel, skal du huske at anvende et passende datoformat for at få resultaterne vist korrekt.
Opret en årrækkefølge i Excel
Hvis du vil lave en række datoer med årstal, skal du bruge denne generiske formel:
DATE(SEQUENCE( n , 1, YEAR( start_dato ))), MÅNED( start_dato ), DAY( start_dato ))Hvor n er det antal datoer, du ønsker at generere.
I dette tilfælde konstruerer funktionen DATE(år, måned, dag) en dato på denne måde:
- År returneres af SEQUENCE-funktionen, der er konfigureret til at generere en n rækker med 1 kolonne array af tal, startende ved årsværdien fra start_dato .
- Måned og dag værdierne er direkte hentet fra startdatoen.
Hvis du f.eks. indtaster startdatoen i B1, vil den følgende formel f.eks. vise en serie på 10 datoer i et års intervaller:
=DATE(SEKVENS(10, 1, ÅR(B1)), MÅNED(B1), DAG(B1))
Efter at være formateret som datoer vil resultaterne se ud som følger:
Generer en tidssekvens i Excel
Fordi tidspunkter er gemt i Excel som decimaltal, der repræsenterer en brøkdel af dagen, kan SEQUENCE-funktionen arbejde direkte med tidspunkter.
Hvis du antager, at starttidspunktet er i B1, kan du bruge en af følgende formler til at fremstille en serie på 10 gange. Forskellen er kun i trin Da der er 24 timer på en dag, skal du bruge 1/24 til at øge med en time, 1/48 til at øge med 30 minutter osv.
Med 30 minutters mellemrum:
=FØLGE(10, 1, B1, 1/48)
Med 1 times mellemrum:
=FØLGE(10, 1, B1, 1/24)
2 timers mellemrum:
=FØLGE(10, 1, B1, 1/12)
Skærmbilledet nedenfor viser resultaterne:
Hvis du ikke ønsker at beregne trinene manuelt, kan du definere dem ved hjælp af funktionen TIME:
SEQUENCE(rækker, kolonner, start, TIME( time , minut , anden ))I dette eksempel indtaster vi alle variablerne i separate celler som vist i skærmbilledet nedenfor. Derefter kan du bruge nedenstående formel til at generere en tidsserie med en vilkårlig trinstørrelse i cellerne E2 (timer), E3 (minutter) og E4 (sekunder):
=SEKVENS(B2, B3, B4, TIME(E2, E3, E4))
Sådan opretter du en månedlig kalender i Excel
I dette sidste eksempel bruger vi SEQUENCE-funktionen sammen med DATEVALUE og WEEKDAY til at oprette en månedskalender, der opdateres automatisk baseret på det år og den måned, du angiver.
Formlen i A5 er som følger:
=SEKVENS(6, 7, DATEVALUE("1/"&B2&"/"&B1) - WEEKDAY(DATEVALUE("1/"&B2&"/"&B1)) + 1, 1)
Sådan fungerer denne formel:
Du bruger SEQUENCE-funktionen til at generere et array af datoer med 6 rækker (det maksimale antal uger i en måned) og 7 kolonner (antallet af dage i en uge), som er opregnet med 1 dag. Derfor skal rækker , kolonner og trin argumenter rejser ingen spørgsmål.
Den vanskeligste del i start Vi kan ikke starte vores kalender med den 1. dag i den ønskede måned, fordi vi ikke ved, hvilken ugedag det er. Vi bruger derfor følgende formel til at finde den første søndag før den 1. dag i den angivne måned og det angivne år:
DATEVALUE("1/"1/"&B2&"/"&B1) - WEEKDAY(DATEVALUE("1/"1/"&B2&"/"&B1)) + 1
Den første DATEVALUE-funktion returnerer et løbenummer, der i det interne Excel-system repræsenterer den første dag i måneden i B2 og året i B1. I vores tilfælde er det 44044 svarende til 1. august 2020. På dette tidspunkt har vi:
44044 - WEEKDAY(DATEVALUE("1/"&B2&"/"&B1)) + 1
Funktionen WEEKDAY returnerer ugedagen svarende til den første dag i målmåneden som et tal fra 1 (søndag) til 7 (lørdag). I vores tilfælde er det 7, fordi den 1. august 2020 er lørdag. Vores formel kan reduceres til:
44044 - 7 + 1
44044 - 7 er 4403, hvilket svarer til lørdag den 25. juli 2020. Da vi skal bruge søndag, tilføjer vi +1 korrektion.
På denne måde får vi en simpel formel, der udsender et array af serienumre, der begynder med 4404:
=FØLGE(6, 7, 4404, 1)
Formater resultaterne som datoer, og du får en kalender som vist i skærmbilledet ovenfor. Du kan f.eks. bruge et af følgende datoformater:
- d-mmm-yy til at vise datoer som 1-Aug-20
- mmm d for at vise måned og dag som 20. august
- d for kun at vise dagen
Vent, men vi ønsker at oprette en månedskalender. Hvorfor vises nogle datoer for den foregående og næste måned? For at skjule disse irrelevante datoer skal du oprette en betinget formateringsregel med nedenstående formel og anvende hvid skrifttype farve:
=MONTH(A5)MONTH(DATEVALUE($B$2 & "1")))
Hvor A5 er cellen længst til venstre i din kalender, og B2 er målmåneden.
Du kan finde de detaljerede trin i Sådan opretter du en formelbaseret regel for betinget formatering i Excel.
Sådan kan du generere en række datoer i Excel. Tak for din læsning og håber at se dig på vores blog i næste uge!
Arbejdsbog til download
Datosekvens i Excel - eksempler på formler (.xlsx-fil)