Excel voorwaardelijke opmaak voor data & tijd: formules en regels

  • Deel Dit
Michael Brown

Als u een regelmatige bezoeker van deze blog bent, hebt u waarschijnlijk al een paar artikelen gezien over verschillende aspecten van Excel voorwaardelijke opmaak. En nu gaan we deze kennis benutten en spreadsheets maken die onderscheid maken tussen weekdagen en weekenden, feestdagen markeren en een komende deadline of vertraging weergeven. Met andere woorden, we gaan Excel voorwaardelijke opmaak toepassen op datums.

Als u enige basiskennis hebt van Excel-formules, dan bent u waarschijnlijk bekend met enkele datum- en tijdfuncties zoals NU, VANDAAG, DATUM, WEEKDAG, enz. In deze zelfstudie gaan we een stap verder met deze functionaliteit om Excel data conditioneel opmaken op de manier die je wilt.

    Excel voorwaardelijke opmaak voor data (ingebouwde regels)

    Microsoft Excel biedt 10 opties om geselecteerde cellen op te maken op basis van de huidige datum.

    1. Om de opmaak toe te passen, gaat u gewoon naar de Home tab> Voorwaardelijke opmaak> Markeer cel regels en selecteer Een datum die zich voordoet .

    2. Selecteer een van de datumopties uit de keuzelijst links in het venster, van vorige maand tot volgende maand.
    3. Kies tenslotte een van de voorgedefinieerde formaten of stel uw eigen formaat in door verschillende opties te kiezen op de Lettertype , Grens en Vul tabbladen. Als het standaard Excel-palet niet voldoet, kunt u altijd de Meer kleuren... knop.

    4. Klik op OK en geniet van het resultaat.)

    Deze snelle en eenvoudige manier heeft echter twee belangrijke beperkingen - 1) het werkt alleen voor geselecteerde cellen en 2) de voorwaardelijke opmaak wordt altijd toegepast op basis van de huidige datum.

    Excel voorwaardelijke opmaakformules voor datums

    Als u cellen of hele rijen wilt markeren gebaseerd op een datum in een andere cel of regels maken voor grotere tijdsintervallen (d.w.z. meer dan een maand vanaf de huidige datum), moet u uw eigen regel voor voorwaardelijke opmaak maken op basis van een formule. Hieronder vindt u een paar voorbeelden van mijn favoriete Excel voorwaardelijke opmaak voor datums.

    Hoe weekends markeren in Excel

    Helaas heeft Microsoft Excel geen ingebouwde kalender zoals Outlook. Laten we eens kijken hoe u met weinig moeite uw eigen geautomatiseerde kalender kunt maken.

    Wanneer u uw Excel-kalender ontwerpt, kunt u de functie =DATE(jaar,maand,datum) gebruiken om de dagen van de week weer te geven. Voer gewoon het jaar en het nummer van de maand ergens in uw spreadsheet in en verwijs naar die cellen in de formule. Natuurlijk zou u de nummers rechtstreeks in de formule kunnen typen, maar dit is geen erg efficiënte aanpak omdat u de formule voor elke maand zou moeten aanpassen.

    Het onderstaande screenshot demonstreert de DATE functie in actie. Ik gebruikte de formule =DATUM($B$2,$B$1,B$4) die gekopieerd wordt over rij 5.

    Tip. Als u alleen de dagen van de week wilt weergeven zoals in de afbeelding hierboven, selecteert u de cellen met de formule (rij 5 in ons geval), klikt u met de rechtermuisknop en kiest u Cellen opmaken.> Getal> Aangepast In de vervolgkeuzelijst onder Type kies dan dddd of ddd om respectievelijk volledige dagnamen of afgekorte namen te tonen.

    Uw Excel kalender is bijna klaar, en u hoeft alleen nog maar de kleur van de weekenden te veranderen. Natuurlijk gaat u de cellen niet handmatig kleuren. We laten Excel de weekenden automatisch opmaken door een voorwaardelijke opmaakregel te maken op basis van de WEEKDAG formule.

    1. U begint met het selecteren van uw Excel kalender waar u de weekenden in de schaduw wilt plaatsen. In ons geval is dat het bereik $B$4:$AE$10. Zorg ervoor dat u de selectie begint met de 1e datum kolom - Kolom B in dit voorbeeld.
    2. Op de Home tabblad, klik op Voorwaardelijke opmaak menu> Nieuwe regel .
    3. Maak een nieuwe regel voor voorwaardelijke opmaak op basis van een formule zoals uitgelegd in de hierboven gelinkte gids.
    4. In de " Formatteer waarden waar deze formule waar is" vak de volgende formule WEEKDAY in die bepaalt welke cellen zaterdag en zondag zijn: =WEEKDAG(B$5,2)>5
    5. Klik op de Formaat... knop en stel uw aangepaste formaat in door te schakelen tussen de Lettertype , Grens en Vul tabbladen en spelen met verschillende opmaakopties. Als u klaar bent, klikt u op de OK om een voorbeeld van de regel te bekijken.

    Nu, laat me kort de WEEKDAG(serienummer,[return_type]) formule, zodat u die snel kunt aanpassen voor uw eigen spreadsheets.

    • De serienummer parameter staat voor de datum die u probeert te vinden. U voert een verwijzing in naar uw eerste cel met een datum, B$5 in ons geval.
    • De [return_type] De parameter bepaalt het weektype (vierkante haken impliceren dat het optioneel is). U voert 2 in als terugkeertype voor een week die begint van maandag (1) tot en met zondag (7). De volledige lijst van beschikbare terugkeertypes vindt u hier.
    • Tenslotte schrijft u>5 om alleen zaterdag (6) en zondag (7) te markeren.

    De onderstaande schermafbeelding toont het resultaat in Excel 2013 - de weekends zijn rood gekleurd.

    Tips:

    • Als u in uw bedrijf niet-standaard weekends hebt, bv. vrijdag en zaterdag, dan moet u de formule zo aanpassen dat ze begint te tellen vanaf zondag (1) en dag 6 (vrijdag) en 7 (zaterdag) markeert. WEEKDAG(B$5,1)>5 .
    • Als u een horizontale (liggende) kalender maakt, gebruikt u een relatieve kolom (zonder $) en absolute rij (met $) in een celverwijzing omdat u de referentie van de rij moet vastzetten - in het bovenstaande voorbeeld is dat rij 5, dus hebben we B$5 ingevoerd. Maar als u een kalender in verticale oriëntatie ontwerpt, moet u het tegenovergestelde doen, d.w.z. een absolute kolom en relatieve rij gebruiken, bijv. $B5 zoals u kunt zien inhet screenshot hieronder:

    Hoe markeer je feestdagen in Excel

    Om uw Excel-kalender verder te verbeteren, kunt u ook feestdagen in de schaduw stellen. Daarvoor moet u de feestdagen die u wilt markeren in hetzelfde of een ander spreadsheet vermelden.

    Ik heb bijvoorbeeld de volgende feestdagen toegevoegd in kolom A ($A$14:$A$17). Het zijn natuurlijk niet allemaal echte feestdagen, maar ze volstaan voor demonstratiedoeleinden : )

    Nogmaals, je opent Voorwaardelijke opmaak > Nieuwe regel In het geval van vakantie gaat u ofwel MATCH of COUNTIF functie:

    • =COUNTIF($A$14:$A$17,B$5)>0
    • =MATCH(B$5,$A$14:$A$17,0)

    Opmerking. Als u een andere kleur voor feestdagen hebt gekozen, moet u de feestdagregel naar de top van de regelslijst verplaatsen via Voorwaardelijke opmaak> Regels beheren...

    De volgende afbeelding toont het resultaat in Excel 2013:

    Formatteer een cel voorwaardelijk wanneer een waarde wordt gewijzigd in een datum

    Het is geen groot probleem om een cel voorwaardelijk op te maken wanneer een datum wordt toegevoegd aan die cel of een andere cel in dezelfde rij, zolang er geen ander type waarde is toegestaan. In dit geval kunt u gewoon een formule gebruiken om niet-blanco's te markeren, zoals beschreven in Excel voorwaardelijke formules voor blanco's en niet-blanco's. Maar wat als die cellen al enkele waarden hebben, bijvoorbeeld tekst, en u wilt deachtergrondkleur wanneer tekst wordt veranderd in een datum?

    De taak klinkt misschien wat ingewikkeld, maar de oplossing is heel eenvoudig.

    1. Eerst moet u de formaatcode van uw datum bepalen. Hier zijn enkele voorbeelden:
      • D1: dd-mmm-yy of d-mmm-yy
      • D2: dd-mmm of d-mmm
      • D3: mmm-yy
      • D4: mm/dd/yy of m/d/yy of m/d/yy h:mm

      De volledige lijst van datumcodes vindt u in dit artikel.

    2. Selecteer een kolom waarin u de kleur van cellen wilt veranderen, of de hele tabel als u rijen wilt markeren.
    3. En maak nu een regel voor voorwaardelijke opmaak met een formule zoals deze: =CELL("format",$A2)="D1" In de formule is A de kolom met datums en D1 het datumformaat.

      Als uw tabel datums in 2 of meer formaten bevat, gebruik dan de OR-operator, bijv. =OR(cell("format", $A2)="D1", cell("format",$A2)="D2", cell("format", $A2)="D3")

      Het onderstaande screenshot toont het resultaat van zo'n voorwaardelijke opmaakregel voor datums.

    Hoe rijen markeren op basis van een bepaalde datum in een bepaalde kolom

    Stel, u hebt een groot Excel-spreadsheet met twee datumkolommen (B en C). U wilt elke rij met een bepaalde datum, bijvoorbeeld 13-mei-14, in kolom C markeren.

    Om Excel voorwaardelijke opmaak toe te passen op een bepaalde datum, moet u zijn numerieke waarde Eerst. Zoals u waarschijnlijk weet, slaat Microsoft Excel datums op als opeenvolgende volgnummers, beginnend bij 1 januari 1900. Dus 1-Jan-1900 wordt opgeslagen als 1, 2-Jan-1900 wordt opgeslagen als 2... en 13-mei-14 als 41772.

    Om het nummer van de datum te vinden, rechtsklik op de cel, selecteer Cellen opmaken> getal en kies de Algemeen formaat. Noteer het nummer dat u ziet en klik op Annuleren omdat u het formaat van de datum niet echt wilt veranderen.

    Dat was eigenlijk het grootste deel van het werk en nu hoeft u alleen nog maar een voorwaardelijke opmaakregel te maken voor de hele tabel met deze zeer eenvoudige formule: =$C2=41772 De formule impliceert dat uw tabel koppen heeft en dat rij 2 de eerste rij met gegevens is.

    Een alternatieve manier is om de DATEVALUE formule die de datum omzet in het getalformaat waarin hij is opgeslagen, bijv. =$C2=DATEVALUE("5/13/2014")

    Welke formule je ook gebruikt, het zal hetzelfde effect hebben:

    Data in Excel voorwaardelijk opmaken op basis van de huidige datum

    Zoals u waarschijnlijk weet biedt Microsoft Excel de TODAY() functies voor diverse berekeningen op basis van de huidige datum. Hier volgen enkele voorbeelden van hoe u het kunt gebruiken om datums voorwaardelijk op te maken in Excel.

    Voorbeeld 1. Markeer data gelijk aan, groter dan of kleiner dan vandaag

    Om cellen of hele rijen voorwaardelijk op te maken op basis van de datum van vandaag, gebruikt u de functie TODAY als volgt:

    Gelijk aan vandaag: =$B2=TODAY()

    Meer dan vandaag: =$B2>TODAY()

    Minder dan vandaag: =$B2

    Het onderstaande screenshot demonstreert de bovenstaande regels in actie. Let wel, op het moment van schrijven was TODAY 12-jun-2014.

    Voorbeeld 2. Data in Excel voorwaardelijk opmaken op basis van verschillende voorwaarden

    Op een vergelijkbare manier kunt u de TODAY-functie gebruiken in combinatie met andere Excel-functies om complexere scenario's af te handelen. U wilt bijvoorbeeld dat uw Excel-formule voor voorwaardelijke opmaak van de datum de kleur van de Factuur kolom wanneer de Leveringsdatum is gelijk aan of groter dan vandaag MAAR u wilt dat de opmaak verdwijnt wanneer u het factuurnummer invoert.

    Voor deze taak hebt u een extra kolom nodig met de volgende formule (waarbij E uw Levering kolom en F de Factuur kolom):

    =IF(E2>=TODAY(),IF(F2="", 1, 0), 0)

    Als de leveringsdatum groter of gelijk is aan de huidige datum en er geen getal in de kolom Factuur staat, geeft de formule 1 terug, anders 0.

    Daarna maakt u een eenvoudige voorwaardelijke opmaakregel voor de Factuur kolom met de formule =$G2=1 waarbij G uw extra kolom is. Natuurlijk kunt u deze kolom later verbergen.

    Voorbeeld 3. Markeer komende data en vertragingen

    Stel, u hebt een projectplanning in Excel met taken, hun begindata en duur. Wat u wilt is dat de einddatum voor elke taak automatisch wordt berekend. Een extra uitdaging is dat de formule ook rekening moet houden met de weekends. Bijvoorbeeld, als de begindatum 13-jun-2014 is en het aantal dagen werk (duur) is 2, dan moet de einddatum komen als 17-jun-2014,omdat 14-jun en 15-jun zaterdag en zondag zijn.

    Hiervoor gebruiken we de WERKDAG.INTL(start_datum,dagen,[weekend],[feestdagen]) functie, meer bepaald =WORKDAY.INTL(B2,C2,1) .

    In de formule voeren we 1 in als 3e parameter, omdat die zaterdag en zondag als feestdagen aangeeft. U kunt een andere waarde gebruiken als uw weekenden anders zijn, bijvoorbeeld vr en za. De volledige lijst van de weekendwaarden is hier beschikbaar. Optioneel kunt u ook de 4e parameter [feestdagen] gebruiken, dat is een reeks data (bereik van cellen) die moeten worden uitgesloten van de werkdagkalender.

    En tenslotte wilt u misschien rijen markeren afhankelijk van hoe ver weg de deadline is. Bijvoorbeeld, de voorwaardelijke opmaakregels gebaseerd op de volgende 2 formules markeren respectievelijk komende en recente einddata:

    • =AND($D2-TODAY()>=0,$D2-TODAY()<=7) - markeer alle rijen waarvan de Einddatum (kolom D) binnen de komende 7 dagen Deze formule is erg handig voor het bijhouden van komende vervaldata of betalingen.
    • =AND(TODAY()-$D2>=0,TODAY()-$D2<=7) - markeer alle rijen waarvan de Einddatum (kolom D) binnen de laatste 7 dagen U kunt deze formule gebruiken om de laatste achterstallige betalingen en andere vertragingen bij te houden.

    Hier volgen nog enkele formulevoorbeelden die kunnen worden toegepast op de bovenstaande tabel:

    =$D2 - markeert alle verstreken data (d.w.z. data korter dan de huidige datum). Kan worden gebruikt om verlopen abonnementen, achterstallige betalingen enz. op te maken.

    =$D2>TODAY() - markeert alle toekomstige data (d.w.z. data groter dan de huidige datum). U kunt het gebruiken om komende gebeurtenissen te markeren.

    Natuurlijk kunnen er oneindig veel variaties zijn op bovenstaande formules, afhankelijk van uw specifieke taak. Bijvoorbeeld:

    =$D2-TODAY()>=6 - benadrukt data die over 6 of meer dagen vallen.

    =$D2=TODAY()-14 - hoogtepunten data precies 2 weken geleden.

    Hoe datums binnen een datumbereik markeren

    Als u een lange lijst met datums in uw werkblad hebt, wilt u misschien ook de cellen of rijen markeren die binnen een bepaald datumbereik vallen, d.w.z. alle datums markeren die tussen twee gegeven datums liggen.

    U kunt deze taak opnieuw uitvoeren met de functie TODAY(). U zult alleen iets uitgebreidere formules moeten maken, zoals in de onderstaande voorbeelden wordt gedemonstreerd.

    Formules om voorbije data te markeren

    • Meer dan 30 dagen geleden: =TODAY()-$A2>30
    • Van 30 tot en met 15 dagen geleden: =AND(TODAY()-$A2>=15, TODAY()-$A2<=30)
    • Minder dan 15 dagen geleden: =AND(TODAY()-$A2>=1, TODAY()-$A2<15)

    De huidige datum en eventuele toekomstige data zijn niet gekleurd.

    Formules om toekomstige data te markeren

    • Zal over meer dan 30 dagen plaatsvinden: =$A2-TODAY()>30
    • Over 30 tot 15 dagen, inclusief: =AND($A2-TODAY()>=15, $A2-TODAY()<=30)
    • In minder dan 15 dagen: =AND($A2-TODAY()>=1, $A2-TODAY()<15)

    De huidige datum en eventuele vroegere data zijn niet gekleurd.

    Hoe kunnen hiaten en tijdsintervallen worden gearceerd?

    In dit laatste voorbeeld gaan we nog een andere Excel-datumfunctie gebruiken - DATEDIF(begin_datum, eind_datum, interval) Deze functie berekent het verschil tussen twee datums op basis van het opgegeven interval. Hij verschilt van alle andere functies die we in deze handleiding hebben besproken in die zin dat je maanden of jaren kunt negeren en alleen het verschil kunt berekenen tussen dagen of maanden, wat je ook kiest.

    Ziet u niet hoe dit voor u zou kunnen werken? Bekijk het eens op een andere manier... Stel dat u een lijst hebt met verjaardagen van uw familieleden en vrienden. Zou u willen weten hoeveel dagen er nog zijn tot hun volgende verjaardag? Bovendien, hoeveel dagen zijn er precies over tot uw huwelijksverjaardag en andere gebeurtenissen die u niet zou willen missen? Gemakkelijk!

    De formule die u nodig hebt is deze (waarbij A uw Datum kolom):

    =DATEDIF(TODAY(), DATE((TODAY())+1), MONTH($A2), DAY($A2)), "yd")

    Het intervaltype "yd" aan het eind van de formule wordt gebruikt om jaren te negeren en alleen het verschil tussen de dagen te berekenen. Kijk hier voor de volledige lijst van beschikbare intervaltypen.

    Tip. Als u die ingewikkelde formule vergeet of kwijt bent, kunt u deze eenvoudige formule gebruiken: =365-DATEDIF($A2,TODAY(),"yd") Het levert precies dezelfde resultaten op, alleen vergeet niet 365 te vervangen door 366 in schrikkeljaren : )

    En laten we nu een Excel voorwaardelijke opmaakregel maken om verschillende tussenruimten in verschillende kleuren te kleuren. In dit geval is het zinvoller om Excel kleurschalen te gebruiken in plaats van voor elke periode een aparte regel te maken.

    De schermafbeelding hieronder toont het resultaat in Excel - een 3-kleurenschaal met tinten van groen naar rood tot geel.

    "Dagen tot de volgende verjaardag" Excel Web App

    Wij hebben deze Excel Web App gemaakt om u de bovenstaande formule in actie te laten zien. Voer uw gebeurtenissen in de 1e kolom in en verander de bijbehorende data in de 2e kolom om te experimenteren met het resultaat.

    Opmerking: om de ingesloten werkmap te bekijken, moet u marketingcookies toestaan.

    Als u benieuwd bent hoe u dergelijke interactieve Excel-spreadsheets kunt maken, bekijk dan dit artikel over hoe u webgebaseerde Excel-spreadsheets kunt maken.

    Hopelijk is ten minste één van de in dit artikel besproken voorwaardelijke Excel-indelingen voor datums nuttig voor u gebleken. Als u een oplossing zoekt voor een andere taak, bent u van harte welkom om een reactie te plaatsen. Bedankt voor het lezen!

    Michael Brown is een toegewijde technologieliefhebber met een passie voor het vereenvoudigen van complexe processen met behulp van softwaretools. Met meer dan tien jaar ervaring in de technische industrie heeft hij zijn vaardigheden in Microsoft Excel en Outlook, evenals Google Spreadsheets en Documenten aangescherpt. Michael's blog is gewijd aan het delen van zijn kennis en expertise met anderen, met eenvoudig te volgen tips en tutorials voor het verbeteren van de productiviteit en efficiëntie. Of je nu een doorgewinterde professional of een beginner bent, Michaels blog biedt waardevolle inzichten en praktisch advies om het meeste uit deze essentiële softwaretools te halen.