Inhoudsopgave
De zelfstudie laat zien hoe u de nieuwe SEQUENCE-functie kunt gebruiken om snel een lijst met datums in Excel te genereren en de functie Automatisch aanvullen kunt gebruiken om een kolom te vullen met datums, werkdagen, maanden of jaren.
Tot voor kort was er slechts één eenvoudige manier om datums te genereren in Excel - de functie AutoFill. Met de introductie van de nieuwe dynamische matrixfunctie SEQUENCE is het mogelijk geworden om ook met een formule een reeks datums te maken. In deze zelfstudie worden beide methoden grondig bekeken, zodat u de methode kunt kiezen die voor u het beste werkt.
Hoe datumreeksen te vullen in Excel
Wanneer u in Excel een kolom met datums moet vullen, is de snelste manier om de functie Automatisch vullen te gebruiken.
Automatisch een datumreeks vullen in Excel
Een kolom of rij vullen met datums die met één dag toenemen is heel eenvoudig:
- Typ de begindatum in de eerste cel.
- Selecteer de cel met de begindatum en sleep de vulgreep (een klein groen vierkantje rechtsonder) naar beneden of naar rechts.
Excel genereert onmiddellijk een reeks datums in hetzelfde formaat als de eerste datum die u handmatig hebt ingevoerd.
Vul een kolom met weekdagen, maanden of jaren
Om een reeks werkdagen, maanden of jaren te maken, doet u een van de volgende dingen:
- Vul een kolom met opeenvolgende data zoals hierboven beschreven. Klik daarna op de knop Opties voor automatisch invullen en kies de gewenste optie, bijvoorbeeld Vulmaanden :
- Of u kunt de eerste datum invoeren, rechts klikken op de vulgreep, vasthouden en door zoveel cellen slepen als nodig is. Wanneer u de muisknop loslaat, verschijnt een contextmenu waarmee u de gewenste optie kunt selecteren, Jaren vullen in ons geval:
Vul een reeks data oplopend met N dagen
Om automatisch een reeks dagen, weekdagen, maanden of jaren te genereren met een specifieke stap is dit wat je moet doen:
- Voer de begindatum in de eerste cel in.
- Selecteer die cel, rechtsklik op het vulhandvat, sleep het door zoveel cellen als nodig, en laat dan los.
- Kies in het pop-up menu Serie (het laatste item).
- In de Serie dialoogvenster, selecteer de Datum eenheid van belang en stel de Stapwaarde .
- Klik op OK.
Voor meer voorbeelden, zie Hoe data in te voegen en automatisch in te vullen in Excel.
Een datumreeks maken in Excel met een formule
In een van de vorige tutorials hebben we bekeken hoe u de nieuwe dynamische array SEQUENCE functie kunt gebruiken om een getallenreeks te genereren. Omdat intern in Excel datums worden opgeslagen als volgnummers, kan de functie ook gemakkelijk een datumreeks produceren. Het enige wat u hoeft te doen is de argumenten correct configureren zoals uitgelegd in de volgende voorbeelden.
Opmerking. Alle hier besproken formules werken alleen in de nieuwste versies van Excel 365 die dynamische arrays ondersteunen. In pre-dynamische Excel 2019, Excel 2016 en Excel 2013 gebruikt u de AutoFill functie zoals getoond in het eerste deel van deze tutorial.
Een reeks datums maken in Excel
Om in Excel een rij data te genereren, stelt u de volgende argumenten van de functie SEQUENCE in:
SEQUENCE(rijen, [kolommen], [start], [stap])- Rijen - het aantal rijen dat met datums moet worden gevuld.
- Kolommen - het aantal te vullen kolommen met datums.
- Start - de begindatum in een formaat dat Excel kan begrijpen, zoals "8/1/2020" of "1-Aug-2020". Om fouten te voorkomen, kunt u de datum opgeven met behulp van de functie DATUM, zoals DATE(2020, 8, 1).
- Stap - de verhoging voor elke volgende datum in een reeks.
Om bijvoorbeeld een lijst van 10 data te maken die begint met 1 augustus 2020 en oploopt met 1 dag, is de formule:
=SEQUENCE(10, 1, "8/1/2020", 1)
of
=SEQUENTIE(10, 1, DATUM(2020, 8, 1), 1)
U kunt ook het aantal data (B1), de begindatum (B2) en de stap (B3) invoeren in vooraf gedefinieerde cellen en in uw formule naar die cellen verwijzen. Aangezien wij een lijst genereren, is het kolomnummer (1) hardcoded:
=SEQUENTIE(B1, 1, B2, B3)
Typ de onderstaande formule in de bovenste cel (A6 in ons geval), druk op de Enter-toets, en de resultaten worden automatisch verspreid over het opgegeven aantal rijen en kolommen.
Opmerking. Met de standaard Algemeen Om ze correct weer te geven, moet u de datumnotatie toepassen op alle cellen in het spill-bereik.
Maak een reeks werkdagen in Excel
Om alleen een reeks werkdagen te krijgen, wikkel je SEQUENCE in de functie WORKDAY of WORKDAY.INTL op deze manier:
WERKDAG( begindatum -1, SEQUENCE( aantal dagen ))Aangezien de functie WERKDAG het aantal dagen dat in het tweede argument wordt opgegeven, toevoegt aan de begindatum, trekken we er 1 van af om de begindatum zelf in de resultaten op te nemen.
Om bijvoorbeeld een reeks werkdagen te genereren die begint op de datum in B2, is de formule:
=WERKDAG(B2-1, REEKS(B1))
Waarbij B1 de sequentiegrootte is.
Tips en opmerkingen:
- Als een startdatum zaterdag of zondag is, begint de serie op de eerstvolgende werkdag.
- De Excel WORKDAY functie gaat ervan uit dat zaterdag en zondag weekends zijn. Om aangepaste weekends en feestdagen te configureren, gebruikt u in plaats daarvan de WORKDAY.INTL functie.
Een maandreeks genereren in Excel
Om een reeks datums te maken die met één maand worden verhoogd, kunt u deze algemene formule gebruiken:
DATUM( jaar , SEQUENTIE(12), dag )In dit geval zet u het doeljaar in het 1e argument en de dag in het 3e argument. Voor het 2e argument geeft de functie SEQUENCE opeenvolgende getallen van 1 tot 12. Op basis van de bovenstaande parameters produceert de functie DATE een reeks datums zoals in het linkerdeel van onderstaande schermafbeelding:
=DATE(2020, SEQUENCE(12), 1)
Om alleen de namen van maanden Stel een van de onderstaande aangepaste datumformaten in voor het morsbereik:
- mmm - korte vorm zoals Jan , Feb , Mar enz.
- mmmm - volledige vorm zoals Januari , Februari , Maart enz.
Het resultaat is dat alleen de maandnamen in de cellen verschijnen, maar dat de onderliggende waarden nog steeds volledige datums zijn. In beide reeksen in de onderstaande schermafbeelding ziet u de standaardrechtse uitlijning die typisch is voor getallen en datums in Excel:
Om een datumreeks te genereren die oploopt met één maand en begint met een specifieke datum Gebruik de functie SEQUENCE samen met EDATE:
EDATE( begindatum , SEQUENTIE(12, 1, 0))De EDATE-functie geeft een datum terug die het opgegeven aantal maanden voor of na de begindatum ligt. En de SEQUENCE-functie produceert een array van 12 getallen (of zoveel als je opgeeft) om EDATE te dwingen vooruit te gaan in stappen van één maand. Merk op dat de functie start argument op 0 gezet, zodat de begindatum in de resultaten wordt opgenomen.
Met de begindatum in B1 krijgt de formule deze vorm:
=DATUM(B1, REEKS(12, 1, 0))
Opmerking: Vergeet niet om na het invullen van een formule de juiste datumnotatie toe te passen op de resultaten, zodat deze correct worden weergegeven.
Een jaarreeks maken in Excel
Om een reeks datums te maken die oplopen per jaar, gebruikt u deze algemene formule:
DATUM(SEQUENCE( n , 1, JAAR( begindatum )), MAAND( begindatum ), DAG( begindatum ))Waar n is het aantal data dat u wilt genereren.
In dit geval construeert de functie DATE(jaar, maand, dag) een datum op deze manier:
- Jaar wordt teruggegeven door de SEQUENCE-functie die geconfigureerd is om een n rijen bij 1 kolom array van nummers, beginnend bij de jaarwaarde van begindatum .
- Maand en dag waarden worden rechtstreeks ontleend aan de begindatum.
Als u bijvoorbeeld de begindatum invoert in B1, geeft de volgende formule een reeks van 10 data in stappen van één jaar:
=DATUM(SEQUENTIE(10, 1, JAAR(B1)), MAAND(B1), DAG(B1))
Na opmaak als datums zien de resultaten er als volgt uit:
Een tijdenreeks genereren in Excel
Omdat tijden in Excel worden opgeslagen als decimale getallen die een fractie van de dag vertegenwoordigen, kan de functie SEQUENCE direct met tijden werken.
Ervan uitgaande dat de begintijd in B1 staat, kunt u een van de volgende formules gebruiken om een reeks van 10 keer te produceren. Het verschil zit alleen in de stap Aangezien er 24 uur in een dag zitten, gebruik je 1/24 om een uur op te tellen, 1/48 om 30 minuten op te tellen, enzovoort.
30 minuten na elkaar:
=SEQUENTIE(10, 1, B1, 1/48)
1 uur na elkaar:
=SEQUENTIE(10, 1, B1, 1/24)
2 uur na elkaar:
=SEQUENCE(10, 1, B1, 1/12)
Het onderstaande screenshot toont de resultaten:
Als u geen moeite wilt doen om de stap handmatig te berekenen, kunt u deze bepalen met behulp van de TIJD-functie:
SEQUENCE(rijen, kolommen, start, TIJD( uur , minuut , tweede ))Voor dit voorbeeld voeren we alle variabelen in afzonderlijke cellen in, zoals in de schermafbeelding hieronder. En dan kunt u de onderstaande formule gebruiken om een tijdreeks te genereren met een willekeurige stapgrootte in de cellen E2 (uren), E3 (minuten) en E4 (seconden):
=SEQUENTIE(B2, B3, B4, TIJD(E2, E3, E4))
Hoe maak je een maandkalender in Excel?
In dit laatste voorbeeld gebruiken we de functie SEQUENCE samen met DATEVALUE en WEEKDAY om een maandelijkse kalender te maken die automatisch wordt bijgewerkt op basis van het jaar en de maand die u opgeeft.
De formule in A5 is als volgt:
=SEQUENCE(6, 7, DATEVALUE("1/"&B2&"/"&B1) - WEEKDAG(DATEVALUE("1/"&B2&"/"&B1)) + 1, 1)
Hoe deze formule werkt:
U gebruikt de SEQUENCE-functie om een 6 rijen (het maximaal mogelijke aantal weken in een maand) bij 7 kolommen (het aantal dagen in een week) array van datums te genereren, verhoogd met 1 dag. Vandaar dat de rijen , kolommen en stap argumenten roepen geen vragen op.
Het lastigste deel in de start We kunnen onze kalender niet beginnen met de 1e dag van de doelmaand omdat we niet weten welke dag van de week dat is. Dus gebruiken we de volgende formule om de eerste zondag voor de 1e dag van de opgegeven maand en het opgegeven jaar te vinden:
DATEVALUE("1/"&B2&"/"&B1) - WEEKDAG(DATEVALUE("1/"&B2&"/"&B1)) + 1
De eerste DATEVALUE functie geeft een volgnummer dat, in het interne Excel systeem, de 1e dag van de maand weergeeft in B2 en het jaar in B1. In ons geval is het 44044 wat overeenkomt met 1 augustus 2020. Op dit punt hebben we:
44044 - WEEKDAG(DATEVALUE("1/"&B2&"/"&B1)) + 1
De functie WEEKDAY geeft de dag van de week die overeenkomt met de eerste dag van de doelmaand als een getal van 1 (zondag) tot 7 (zaterdag). In ons geval is het 7 omdat 1 augustus 2020 zaterdag is. En onze formule reduceert tot:
44044 - 7 + 1
44044 - 7 is 4403, wat overeenkomt met zaterdag 25 juli 2020. Omdat we de zondag nodig hebben, voegen we de +1 correctie toe.
Zo krijgen we een eenvoudige formule die een reeks serienummers geeft die beginnen met 4404:
=SEQUENCE(6, 7, 4404, 1)
Formatteer de resultaten als datums, en je krijgt een kalender zoals in de schermafbeelding hierboven. Je kunt bijvoorbeeld een van de volgende datumformaten gebruiken:
- d-mmm-yy om data weer te geven zoals 1-Aug-20
- mmm d om maand en dag weer te geven zoals 20 augustus
- d om alleen de dag weer te geven
Wacht, maar we willen een maandkalender maken. Waarom verschijnen sommige data van de vorige en volgende maand? Om die irrelevante data te verbergen, stelt u een voorwaardelijke opmaakregel in met de onderstaande formule en past u de wit lettertype kleur:
=MONTH(A5)MONTH(DATEVALUE($B$2 & "1"))
Waarbij A5 de meest linkse cel van uw kalender is en B2 de doelmaand.
Voor de gedetailleerde stappen, zie Hoe maak je een op een formule gebaseerde regel voor voorwaardelijke opmaak in Excel.
Zo kun je in Excel een reeks data genereren. Ik dank je voor het lezen en hoop je volgende week op onze blog te zien!
Praktijk werkboek om te downloaden
Datumreeks in Excel - formulevoorbeelden (.xlsx-bestand)