Innholdsfortegnelse
Opplæringen viser hvordan du kan bruke den nye SEQUENCE-funksjonen til raskt å generere en liste over datoer i Excel og bruke Autofyll-funksjonen til å fylle en kolonne med datoer, arbeidsdager, måneder eller år.
Inntil nylig har det bare vært én enkel måte å generere datoer i Excel - Autofyll-funksjonen. Introduksjonen av den nye dynamiske array SEQUENCE-funksjonen har gjort det mulig å lage en serie datoer også med en formel. Denne opplæringen tar en grundig titt på begge metodene slik at du kan velge den som fungerer best for deg.
Hvordan fyller du datoserier i Excel
Når du må fylle en kolonne med datoer i Excel, den raskeste måten er å bruke Autofyll-funksjonen.
Autofyll en datoserie i Excel
Fyller en kolonne eller rad med datoer som øker med en dag er veldig enkelt:
- Skriv inn startdatoen i den første cellen.
- Velg cellen med startdatoen og dra fyllhåndtaket (en liten grønn firkant nederst -høyre hjørne) ned eller til høyre.
Excel vil umiddelbart generere en serie datoer i samme format som den første datoen du skrev inn manuelt.
Fyll en kolonne med ukedager, måneder eller år
For å lage en serie med arbeidsdager, måneder eller år, gjør ett av følgende:
- Fyll en kolonne med sekvensielle datoer som beskrevet ovenfor. Deretter klikker du på Autofyll-alternativer -knappen og velgerønsket alternativ, si Fyllmåneder :
- Eller du kan angi din første dato, høyreklikk på fyllhåndtaket, hold og dra gjennom så mange celler etter behov. Når du slipper museknappen, vil en hurtigmeny dukke opp som lar deg velge ønsket alternativ, Fill Years i vårt tilfelle:
Fyll en serie datoer som øker med N dager
For å automatisk generere en serie med dager, ukedager, måneder eller år med et spesifikt trinn , er dette hva du må gjøre:
- Skriv inn startdatoen i den første cellen.
- Velg den cellen, høyreklikk på fyllhåndtaket, dra det gjennom så mange celler du trenger, og slipp deretter.
- I hurtigmenyen velger du Serie (siste element).
- I dialogboksen Serie velger du Datoenhet av interesse og angi Trinnverdien .
- Klikk OK.
For flere eksempler, se Hvordan sett inn og autofyll datoer i Excel.
Hvordan lage en datosekvens i Excel med en formel
I en av de tidligere veiledningene så vi på hvordan du bruker den nye dynamiske array SEQUENCE-funksjonen for å generere en tallsekvens. Fordi internt i Excel-datoer lagres som serienumre, kan funksjonen enkelt produsere en datoserie også. Alt du trenger å gjøre er å konfigurere argumentene riktig som forklart i de følgende eksemplene.
Merk. Alle formlene som er diskutert her fungerer bare isiste versjoner av Excel 365 som støtter dynamiske matriser. I pre-dynamisk Excel 2019, Excel 2016 og Excel 2013, vennligst bruk Autofyll-funksjonen som vist i den første delen av denne opplæringen.
Opprett en serie datoer i Excel
For å generere en sekvens av datoer i Excel, sett opp følgende argumenter for SEQUENCE-funksjonen:
SEQUENCE(rader, [kolonner], [start], [trinn])- Rader - den antall rader som skal fylles med datoer.
- Kolonner - antall kolonner som skal fylles med datoer.
- Start - startdatoen i format som Excel kan forstå, som "8/1/2020" eller "1-Aug-2020". For å unngå feil kan du oppgi datoen ved å bruke DATO-funksjonen, for eksempel DATE(2020, 8, 1).
- Trinn - økningen for hver påfølgende dato i en sekvens.
For eksempel, for å lage en liste over 10 datoer som starter med 1. august 2020 og øker med 1 dag, er formelen:
=SEQUENCE(10, 1, "8/1/2020", 1)
eller
=SEQUENCE(10, 1, DATE(2020, 8, 1), 1)
Alternativt kan du angi antall datoer (B1), startdato (B2) og trinn (B3) i forhåndsdefinerte celler og referere til disse cellene i formelen din. Siden vi genererer en liste, er kolonnenummeret (1) hardkodet:
=SEQUENCE(B1, 1, B2, B3)
Skriv inn formelen nedenfor i den øverste cellen (A6 i vårt tilfelle), trykk på Enter-tasten, og resultatene vil spre seg over det angitte antallet rader og kolonner automatisk.
Merk. Med standard Generelt format, vil resultatene vises som serienumre. For å få dem vist riktig, pass på å bruke datoformatet på alle cellene i utslippsområdet.
Lag en serie med arbeidsdager i Excel
For å få bare en serie med arbeidsdager, pakk SEQUENCE i WORKDAY- eller WORKDAY.INTL-funksjonen på denne måten:
WORKDAY( startdato -1, SEQUENCE( antall_dager ))Da WORKDAY-funksjonen legger til antall dager spesifisert i det andre argumentet til startdatoen, trekker vi 1 fra det for å få selve startdatoen inkludert i resultater.
For å generere en sekvens med arbeidsdager som starter på datoen i B2, er formelen:
=WORKDAY(B2-1, SEQUENCE(B1))
Hvor B1 er sekvensstørrelsen.
Tips og merknader:
- Hvis en startdato er lørdag eller søndag, starter serien neste arbeidsdag.
- Excel WORKDAY-funksjonen antar at lørdag og søndag er helger. For å konfigurere egendefinerte helger og helligdager, bruk funksjonen WORKDAY.INTL i stedet.
Generer en månedssekvens i Excel
For å lage en serie med datoer som økes med én måned, kan du bruke denne generiske formelen:
DATO( år , SEKVENS(12), dag )I dette tilfellet setter du målåret i det første argumentet og dagen i 3. argument. For det andre argumentet returnerer SEQUENCE-funksjonen sekvensielle tall fra 1 til 12. Basert på parametrene ovenfor, produserer DATO-funksjonen en serie meddatoer som vist i venstre del av skjermbildet nedenfor:
=DATE(2020, SEQUENCE(12), 1)
For å vise bare månedsnavnene , angi ett av de tilpassede datoformatene nedenfor for utslippsområdet :
- mmm - kort form som januar , feb , mars osv.
- mmmm - full skjema som januar , februar , mars osv.
Som et resultat vil bare månedsnavnene vises i cellene, men de underliggende verdiene vil fortsatt være fulle datoer. I begge seriene i skjermbildet nedenfor, legg merke til standard høyrejustering som er typisk for tall og datoer i Excel:
For å generere en datosekvens som øker med én måned og starter med en bestemt dato , bruk SEQUENCE-funksjonen sammen med EDATE:
EDATE( startdato , SEQUENCE(12, 1, 0))EDATE-funksjonen returnerer en dato som er det angitte antallet måneder før eller etter startdatoen. Og SEQUENCE-funksjonen produserer en matrise med 12 tall (eller så mange som du spesifiserer) for å tvinge EDATE til å gå fremover i trinn på én måned. Vær oppmerksom på at start -argumentet er satt til 0, slik at startdatoen blir inkludert i resultatene.
Med startdatoen i B1 har formelen denne formen:
=EDATE(B1, SEQUENCE(12, 1, 0))
Merk. Etter å ha fullført en formel, husk å bruke et passende datoformat på resultatene for at de skal vises riktig.
Lag en årssekvens i Excel
For å lageen serie med datoer økt med år, bruk denne generiske formelen:
DATO(SEKVENS( n , 1, ÅR( startdato )), MÅNED( startdato ), DAY( startdato ))Hvor n er antall datoer du vil generere.
I dette tilfellet, DATO(år, måned, dag)-funksjonen konstruerer en dato på denne måten:
- År returneres av SEQUENCE-funksjonen som er konfigurert til å generere en n rad med 1 kolonnematrise med tall, som starter med årsverdien fra startdato .
- Verdiene for måned og dag trekkes direkte fra startdatoen.
Hvis du for eksempel skriver inn startdatoen i B1, vil følgende formel sende ut en serie på 10 datoer i trinn på ett år:
=DATE(SEQUENCE(10, 1, YEAR(B1)), MONTH(B1), DAY(B1))
Etter blir formatert som datoer, vil resultatene se slik ut:
Generer en tidssekvens i Excel
Fordi tider lagres i Excel som desimaler som representerer en brøkdel av dagen, kan SEQUENCE-funksjonen arbeide med tider direkte.
A forutsatt at starttiden er i B1, kan du bruke en av følgende formler for å produsere en serie på 10 ganger. Forskjellen er bare i argumentet trinn . Siden det er 24 timer i et døgn, bruk 1/24 for å øke med en time, 1/48 for å øke med 30 minutter, og så videre.
30 minutter fra hverandre:
=SEQUENCE(10, 1, B1, 1/48)
1 times mellomrom:
=SEQUENCE(10, 1, B1, 1/24)
2 timers mellomrom:
=SEQUENCE(10, 1, B1, 1/12)
Skjermbildet nedenfor viserresultater:
Hvis du ikke vil bry deg med å beregne trinnet manuelt, kan du definere det ved å bruke TID-funksjonen:
SEKVENS(rader, kolonner, start, TID( time , minutt , sekund ))For dette eksemplet legger vi inn alle variablene i separate celler som vist i skjermbildet nedenfor . Og så kan du bruke formelen nedenfor til å generere en tidsserie med en hvilken som helst trinnstørrelse du spesifiserer i cellene E2 (timer), E3 (minutter) og E4 (sekunder):
=SEQUENCE(B2, B3, B4, TIME(E2, E3, E4))
Hvordan lage en månedskalender i Excel
I dette siste eksempelet bruker vi SEQUENCE-funksjonen sammen med DATOVERDI og WEEKDAY for å lage en månedskalender som oppdateres automatisk basert på året og måneden du angir.
Formelen i A5 er som følger:
=SEQUENCE(6, 7, DATEVALUE("1/"&B2&"/"&B1) - WEEKDAY(DATEVALUE("1/"&B2&"/"&B1)) + 1, 1)
Slik fungerer denne formelen:
Du bruker SEQUENCE-funksjonen til å generere en 6 rader (maksimalt mulig antall uker i en måned) med 7 kolonner (antall dager i en uke) med datoer økes med 1 dag. Derfor reiser radene , kolonnene og trinn ingen spørsmål.
Den vanskeligste delen i start -argumentet . Vi kan ikke starte kalenderen vår med den 1. dagen i målmåneden fordi vi ikke vet hvilken ukedag det er. Så vi bruker følgende formel for å finne den første søndagen før den første dagen i den angitte måneden ogår:
DATEVALUE("1/"&B2&"/"&B1) - WEEKDAY(DATEVALUE("1/"&B2&"/"&B1)) + 1
Den første DATOVERDI-funksjonen returnerer et serienummer som, i det interne Excel-systemet, representerer den 1. dagen i måneden i B2 og året i B1. I vårt tilfelle er det 44044 tilsvarende 1. august 2020. På dette tidspunktet har vi:
44044 - WEEKDAY(DATEVALUE("1/"&B2&"/"&B1)) + 1
UKEDAG-funksjonen returnerer ukedagen som tilsvarer den første dagen i målet måned som et tall fra 1 (søndag) til 7 (lørdag). I vårt tilfelle er det 7 fordi 1. august 2020 er lørdag. Og formelen vår reduseres til:
44044 - 7 + 1
44044 - 7 er 4403, som tilsvarer lørdag 25. juli 2020. Ettersom vi trenger søndag, legger vi til +1-korrigeringen.
På denne måten får vi en enkel formel som gir ut en rekke serienumre som begynner med 4404:
=SEQUENCE(6, 7, 4404, 1)
Formater resultatene som datoer, og du får en kalender vist i skjermbildet ovenfor. Du kan for eksempel bruke ett av følgende datoformater:
- d-mmm-yy for å vise datoer som 1-20.aug.
- mmm d for å vise måned og dag som 20. august
- d for å vise bare dagen
Vent, men vi har som mål å lage en månedlig kalender. Hvorfor dukker noen datoer fra forrige og neste måned opp? For å skjule disse irrelevante datoene, sett opp en betinget formateringsregel med formelen nedenfor og bruk hvit skrift -fargen:
=MONTH(A5)MONTH(DATEVALUE($B$2 & "1"))
Hvor A5 er cellen lengst til venstre i kalenderen din og B2 er måletmåned.
For detaljerte trinn, se Hvordan lage en formelbasert betinget formateringsregel i Excel.
Slik kan du generere en sekvens av datoer i Excel. Jeg takker for at du leser og håper å se deg på bloggen vår neste uke!
Øvningsarbeidsbok for nedlasting
Datosekvens i Excel - formeleksempler (.xlsx-fil)