Skapa en datumsekvens i Excel och fyll automatiskt datumserier

  • Dela Detta
Michael Brown

I handledningen visas hur du kan utnyttja den nya funktionen SEQUENCE för att snabbt generera en lista med datum i Excel och använda funktionen AutoFill för att fylla en kolumn med datum, arbetsdagar, månader eller år.

Fram till nyligen har det bara funnits ett enkelt sätt att generera datum i Excel - AutoFyll-funktionen. Införandet av den nya dynamiska arrayfunktionen SEQUENCE har gjort det möjligt att skapa en serie datum med en formel också. Den här handledningen tar en djupgående titt på båda metoderna så att du kan välja den som fungerar bäst för dig.

    Hur man fyller datumserier i Excel

    När du behöver fylla en kolumn med datum i Excel är det snabbaste sättet att använda funktionen Automatisk ifyllning.

    Automatisk fyllning av en datumserie i Excel

    Det är mycket enkelt att fylla en kolumn eller rad med datum som ökar med en dag:

    1. Skriv det första datumet i den första cellen.
    2. Markera cellen med det första datumet och dra fyllningshandtaget (en liten grön fyrkant i det nedre högra hörnet) nedåt eller åt höger.

    Excel genererar omedelbart en serie datum i samma format som det första datumet som du skrev in manuellt.

    Fyll en kolumn med veckodagar, månader eller år

    Om du vill skapa en serie arbetsdagar, månader eller år gör du något av följande:

    • Fyll en kolumn med datum i följd enligt beskrivningen ovan. Klicka sedan på knappen Alternativ för automatisk ifyllning och välj det önskade alternativet, till exempel Fyllningsmånader :

    • Du kan också skriva in ditt första datum, högerklicka på fyllningshandtaget, hålla in och dra genom så många celler som behövs. När du släpper musknappen öppnas en kontextmeny där du kan välja det alternativ som behövs, Fyllnadsår i vårt fall:

    Fyll i en serie datum som ökar med N dagar

    För att automatiskt generera en serie dagar, veckodagar, månader eller år med en ett visst steg Det här är vad du måste göra:

    1. Ange det första datumet i den första cellen.
    2. Markera cellen, högerklicka på fyllningshandtaget, dra det genom så många celler som behövs och släpp sedan.
    3. På snabbmenyn väljer du Serie (den sista punkten).
    4. I Serie dialogrutan, väljer du den Enhet för datum av intresse och fastställa den Stegvärde .
    5. Klicka på OK.

    För fler exempel, se Hur man infogar och fyller ut datum automatiskt i Excel.

    Hur man skapar en datumsekvens i Excel med en formel

    I en av de tidigare handledningarna tittade vi på hur man använder den nya dynamiska arrayen SEQUENCE-funktionen för att generera en siffersekvens. Eftersom datum internt i Excel lagras som serienummer kan funktionen enkelt producera en datumserie också. Allt du behöver göra är att konfigurera argumenten korrekt enligt följande exempel.

    Observera: Alla formler som diskuteras här fungerar endast i de senaste versionerna av Excel 365 som stöder dynamiska matriser. I Excel 2019, Excel 2016 och Excel 2013 som är fördynamiska använder du AutoFyll-funktionen som visas i den första delen av den här handledningen.

    Skapa en serie datum i Excel

    Om du vill skapa en sekvens av datum i Excel ställer du in följande argument för funktionen SEQUENCE:

    SEQUENCE(rader, [kolumner], [start], [steg])
    • Rader - antalet rader som ska fyllas med datum.
    • Kolumner - antalet kolumner som ska fyllas med datum.
    • Starta - startdatumet i ett format som Excel kan förstå, t.ex. "8/1/2020" eller "1-Aug-2020". För att undvika misstag kan du ange datumet med hjälp av DATE-funktionen, t.ex. DATE(2020, 8, 1).
    • Steg - ökningen för varje efterföljande datum i en sekvens.

    Om du till exempel vill skapa en lista med 10 datum som börjar med 1 augusti 2020 och ökar med 1 dag är formeln:

    =FÖLJD(10, 1, "8/1/2020", 1)

    eller .

    = SEKVENS(10, 1, DATUM(2020, 8, 1), 1)

    Alternativt kan du ange antalet datum (B1), startdatum (B2) och steg (B3) i fördefinierade celler och hänvisa till dessa celler i formeln. Eftersom vi skapar en lista är kolumnnumret (1) hårdkodat:

    =FÖLJD(B1, 1, B2, B3)

    Skriv nedanstående formel i den översta cellen (A6 i vårt fall), tryck på Enter-tangenten och resultatet kommer automatiskt att spridas över det angivna antalet rader och kolumner.

    Obs. Med standardinställningen Allmänt För att resultaten ska visas korrekt måste du se till att datumformatet tillämpas på alla celler i spillområdet.

    Gör en serie arbetsdagar i Excel

    Om du vill få fram en serie med enbart arbetsdagar, så kan du sätta in SEQUENCE i funktionen WORKDAY eller WORKDAY.INTL på följande sätt:

    ARBETSDAG( start_datum -1, SEQUENCE( no_of_days ))

    Eftersom WORKDAY-funktionen lägger till det antal dagar som anges i det andra argumentet till startdatumet subtraherar vi 1 från det för att få med startdatumet i resultatet.

    För att generera en sekvens av arbetsdagar som börjar på datumet i B2 är formeln till exempel:

    = ARBETSDAG(B2-1, SEKVENS(B1))

    Där B1 är sekvensstorleken.

    Tips och anteckningar:

    • Om startdatumet är lördag eller söndag börjar serien nästa arbetsdag.
    • Excel-funktionen WORKDAY förutsätter att lördag och söndag är helger. Om du vill konfigurera anpassade helger och helgdagar använder du istället funktionen WORKDAY.INTL.

    Generera en månadssekvens i Excel

    Om du vill skapa en serie datum som ökas med en månad kan du använda den här generiska formeln:

    DATE( år , SEKVENS(12), dag )

    I det här fallet anger du målåret i det första argumentet och dagen i det tredje argumentet. För det andra argumentet returnerar SEQUENCE-funktionen löpande nummer från 1 till 12. Baserat på ovanstående parametrar producerar DATE-funktionen en serie datum som visas i den vänstra delen av skärmdumpen nedan:

    =DATE(2020, SEKVENS(12), 1)

    Om du bara vill visa namn på månader , ange ett av nedanstående anpassade datumformat för spillområdet:

    • mmm - kortform som Jan , Februari , Mar , etc.
    • mmmm - full form som Januari , Februari , Mars , etc.

    Resultatet blir att endast månadsnamnen visas i cellerna, men de underliggande värdena kommer fortfarande att vara fullständiga datum. I båda serierna i skärmdumpen nedan märker du den standardhögerjustering som är typisk för siffror och datum i Excel:

    Om du vill generera en datumsekvens som ökar med en månad och börjar med ett visst datum , använda funktionen SEQUENCE tillsammans med EDATE:

    EDATE( start_datum , SEKVENS(12, 1, 0))

    Funktionen EDATE returnerar ett datum som är det angivna antalet månader före eller efter startdatumet. Funktionen SEQUENCE producerar en matris med 12 nummer (eller så många som du anger) för att tvinga EDATE att gå framåt i steg om en månad. Observera att funktionen starta argumentet sätts till 0, så att startdatumet inkluderas i resultaten.

    Med startdatumet i B1 får formeln följande form:

    =DATUM(B1, SEKVENS(12, 1, 0))

    Obs. När du har fyllt i en formel ska du komma ihåg att använda ett lämpligt datumformat för att resultaten ska visas korrekt.

    Skapa en årsföljd i Excel

    Om du vill skapa en serie datum som ökas med år använder du den här generiska formeln:

    DATE(SEQUENCE( n , 1, YEAR( start_datum ))), MÅNAT( start_datum ), DAY( start_datum ))

    Var n är det antal datum som du vill generera.

    I det här fallet konstruerar funktionen DATE(år, månad, dag) ett datum på det här sättet:

    • År returneras av SEQUENCE-funktionen som är konfigurerad för att generera en n rader och 1 kolumn med siffror, med början vid årets värde från start_datum .
    • Månad och dag värden hämtas direkt från startdatumet.

    Om du t.ex. anger startdatumet i B1 kommer följande formel att ge ut en serie med 10 datum i ettårsintervaller:

    =DATE(SEKVENS(10, 1, ÅR(B1)), MÅNAD(B1), DAG(B1))

    Efter att ha formaterats som datum kommer resultaten att se ut på följande sätt:

    Generera en tidsföljd i Excel

    Eftersom tider lagras i Excel som decimaltal som representerar en bråkdel av dagen kan funktionen SEQUENCE arbeta direkt med tider.

    Om du antar att starttiden är i B1 kan du använda en av följande formler för att skapa en serie på 10 gånger. Skillnaden är endast i steg Argument: Eftersom det finns 24 timmar på ett dygn använder du 1/24 för att öka med en timme, 1/48 för att öka med 30 minuter och så vidare.

    Med 30 minuters mellanrum:

    =SEKVENS(10, 1, B1, 1/48)

    En timmes mellanrum:

    =FÖLJD(10, 1, B1, 1/24)

    2 timmars mellanrum:

    =FÖLJD(10, 1, B1, 1/12)

    Skärmbilden nedan visar resultatet:

    Om du inte vill göra dig besväret att beräkna steget manuellt kan du definiera det med hjälp av TIME-funktionen:

    SEQUENCE(rader, kolumner, start, TIME( timme , minut , andra ))

    I det här exemplet matar vi in alla variabler i separata celler som visas i skärmbilden nedan. Sedan kan du använda nedanstående formel för att generera en tidsserie med den stegstorlek som du anger i cellerna E2 (timmar), E3 (minuter) och E4 (sekunder):

    =SEKVENS(B2, B3, B4, TIME(E2, E3, E4))

    Hur man skapar en månadskalender i Excel

    I det här sista exemplet använder vi SEQUENCE-funktionen tillsammans med DATEVALUE och WEEKDAY för att skapa en månadskalender som uppdateras automatiskt baserat på det år och den månad som du anger.

    Formeln i A5 är följande:

    =SEKVENS(6, 7, DATEVALUE("1/"&B2&"/"&B1) - WEEKDAY(DATEVALUE("1/"&B2&"/"&B1)) + 1, 1)

    Hur denna formel fungerar:

    Du använder funktionen SEQUENCE för att generera en matris med datum med 6 rader (det maximala antalet veckor i en månad) och 7 kolumner (antalet dagar i en vecka), som ökas med en dag. rader , kolumner och steg argumenten väcker inga frågor.

    Den knepigaste delen i starta Vi kan inte börja kalendern med den första dagen i målmånaden eftersom vi inte vet vilken veckodag det är. Därför använder vi följande formel för att hitta den första söndagen före den första dagen i den angivna månaden och det angivna året:

    DATEVALUE("1/"&B2&"/"&B1) - WEEKDAY(DATEVALUE("1/"&B2&"/"&B1)) + 1

    Den första DATEVALUE-funktionen returnerar ett serienummer som i det interna Excel-systemet representerar den första dagen i månaden i B2 och året i B1. I vårt fall är det 44044, vilket motsvarar den 1 augusti 2020. I det här fallet har vi:

    44044 - WEEKDAY(DATEVALUE("1/"&B2&"/"&B1)) + 1

    Funktionen WEEKDAY returnerar veckodagen som motsvarar den första dagen i målmånaden som ett tal från 1 (söndag) till 7 (lördag). I vårt fall är det 7 eftersom den 1 augusti 2020 är en lördag. Vår formel kan reduceras till:

    44044 - 7 + 1

    44044 - 7 är 4403, vilket motsvarar lördagen den 25 juli 2020. Eftersom vi behöver söndagen lägger vi till +1.

    På detta sätt får vi en enkel formel som ger en matris med serienummer som börjar med 4404:

    =SEKVENS(6, 7, 4404, 1)

    Om du formaterar resultaten som datum får du en kalender som visas i skärmbilden ovan. Du kan till exempel använda något av följande datumformat:

    • d-mmm-yy för att visa datum som 1 augusti 20
    • mmm d för att visa månad och dag på följande sätt 20 augusti
    • d för att endast visa dagen

    Vänta, men vi vill skapa en månadskalender. Varför visas vissa datum i föregående och nästa månad? För att dölja dessa irrelevanta datum skapar du en regel för villkorlig formatering med nedanstående formel och tillämpar vitt typsnitt färg:

    =MONTH(A5)MONTH(DATEVALUE($B$2 & "1")))

    Där A5 är cellen längst till vänster i kalendern och B2 är målmånaden.

    Detaljerade steg finns i Hur man skapar en formelbaserad regel för villkorlig formatering i Excel.

    Så kan du skapa en sekvens av datum i Excel. Tack för att du läste och hoppas att vi ses på vår blogg nästa vecka!

    Arbetsbok för övning för nedladdning

    Datumsekvens i Excel - exempel på formler (.xlsx-fil)

    Michael Brown är en hängiven teknikentusiast med en passion för att förenkla komplexa processer med hjälp av mjukvaruverktyg. Med mer än ett decenniums erfarenhet inom teknikbranschen har han finslipat sina kunskaper i Microsoft Excel och Outlook, samt Google Sheets och Docs. Michaels blogg är tillägnad att dela med sig av sin kunskap och expertis med andra, och tillhandahåller lätta att följa tips och handledningar för att förbättra produktiviteten och effektiviteten. Oavsett om du är en erfaren proffs eller nybörjare, erbjuder Michaels blogg värdefulla insikter och praktiska råd för att få ut det mesta av dessa viktiga programvaruverktyg.