Excel betinget formatering for datoer & tid: formler og regler

  • Del Dette
Michael Brown

Hvis du er en regelmæssig besøgende på denne blog, har du sikkert bemærket et par artikler, der dækker forskellige aspekter af Excel betinget formatering. Og nu vil vi udnytte denne viden og skabe regneark, der skelner mellem hverdage og weekender, fremhæver helligdage og viser en kommende deadline eller forsinkelse. Med andre ord vil vi anvende Excel betinget formatering på datoer.

Hvis du har et grundlæggende kendskab til Excel-formler, er du sandsynligvis bekendt med nogle af dato- og tidsfunktionerne såsom NU, I DAG, DATO, UGEDAG osv. I denne vejledning vil vi tage denne funktionalitet et skridt videre for at formaterer Excel-datoer betinget på den måde, du ønsker.

    Excel betinget formatering for datoer (indbyggede regler)

    Microsoft Excel giver 10 muligheder for at formatere udvalgte celler baseret på den aktuelle dato.

    1. For at anvende formateringen skal du blot gå til Hjem faneblad> Betinget formatering> Fremhæv celleregler og vælg En dato, der indtræffer .

    2. Vælg en af følgende datoindstillinger fra rullelisten i venstre side af vinduet, fra sidste måned til næste måned.
    3. Endelig kan du vælge et af de foruddefinerede formater eller oprette dit eget format ved at vælge forskellige muligheder på Skrifttype , Grænse og Fyld faner. Hvis Excel-standardpaletten ikke er tilstrækkelig, kan du altid klikke på fanen Flere farver... knap.

    4. Klik på OK og nyd resultatet! : )

    Denne hurtige og enkle metode har dog to væsentlige begrænsninger - 1) den fungerer kun for udvalgte celler, og 2) det betingede format anvendes altid baseret på den aktuelle dato.

    Excel-formler til betinget formatering af datoer

    Hvis du vil fremhæve celler eller hele rækker baseret på en dato i en anden celle , eller oprette regler for større tidsintervaller (dvs. mere end en måned fra den aktuelle dato), skal du oprette din egen regel for betinget formatering baseret på en formel. Nedenfor finder du et par eksempler på mine foretrukne Excel-betingede formateringsformater for datoer.

    Sådan fremhæver du weekender i Excel

    Desværre har Microsoft Excel ikke en indbygget kalender, der ligner Outlooks. Lad os se, hvordan du kan oprette din egen automatiserede kalender med ganske lidt besvær.

    Når du designer din Excel-kalender, kan du bruge funktionen =DATE(år, måned, dato) til at vise ugedagene. Du skal blot indtaste årstallet og månedens nummer et sted i dit regneark og henvise til disse celler i formlen. Du kan selvfølgelig også skrive tallene direkte i formlen, men det er ikke en særlig effektiv metode, fordi du skal justere formlen for hver måned.

    Skærmbilledet nedenfor viser DATE-funktionen i aktion. Jeg brugte formlen =DATE($B$2,$B$1,B$4) som kopieres på tværs af række 5.

    Tip. Hvis du kun vil vise ugedagene, som du ser på billedet ovenfor, skal du vælge cellerne med formlen (række 5 i vores tilfælde), højreklikke og vælge Formater celler.> Antal> Brugerdefineret . fra rullelisten under Type , vælg enten ddddd eller ddd for at vise henholdsvis fulde dagsnavne eller forkortede navne.

    Din Excel-kalender er næsten færdig, og du mangler kun at ændre farven på weekender. Du skal naturligvis ikke farve cellerne manuelt. Vi får Excel til at formatere weekenderne automatisk ved at oprette en betinget formateringsregel baseret på UGEDAG formel.

    1. Du starter med at vælge din Excel-kalender, hvor du vil skygge weekenderne. I vores tilfælde er det området $B$4:$AE$10. Sørg for at starte markeringen med 1. dato kolonne - Kolonne B i dette eksempel.
    2. På den Hjem klikker du på Menu for betinget formatering> Ny regel .
    3. Opret en ny regel for betinget formatering baseret på en formel som forklaret i den ovenfor linkede vejledning.
    4. I " Formater værdier, hvor denne formel er sand" feltet, skal du indtaste følgende WEEKDAY-formel, der bestemmer, hvilke celler der er lørdage og søndage: =WEEKDAY(B$5,2)>5
    5. Klik på den Format... knappen og indstil dit brugerdefinerede format ved at skifte mellem Skrifttype , Grænse og Fyld faner og lege med forskellige formateringsmuligheder. Når du er færdig, skal du klikke på OK for at få vist reglen.

    Lad mig nu kort forklare den WEEKDAY(serial_number,[return_type]) formel, så du hurtigt kan tilpasse den til dine egne regneark.

    • serial_number parameteren repræsenterer den dato, du forsøger at finde. Du indtaster en reference til din første celle med en dato, B$5 i vores tilfælde.
    • [return_type] parameteren bestemmer ugetypen (firkantede parenteser betyder, at den er valgfri). Du indtaster 2 som returneringstype for en uge, der starter fra mandag (1) til søndag (7). Du kan finde den komplette liste over tilgængelige returneringstyper her.
    • Endelig skriver du>5 for kun at fremhæve lørdage (6) og søndage (7).

    Skærmbilledet nedenfor viser resultatet i Excel 2013 - weekenderne er fremhævet med rødlig farve.

    Tips:

    • Hvis du har ikke-standardiserede weekender i din virksomhed, f.eks. fredage og lørdage, skal du ændre formlen, så den begynder at tælle fra søndag (1) og fremhæver dag 6 (fredag) og 7 (lørdag) - WEEKDAY(B$5,1)>5 .
    • Hvis du opretter en horisontal kalender (landskab), skal du bruge en relativ kolonne (uden $) og en absolut række (med $) i en cellehenvisning, fordi du skal låse rækkehenvisningen - i ovenstående eksempel er det række 5, så vi har indtastet B$5. Men hvis du designer en kalender i lodret retning, skal du gøre det modsatte, dvs. bruge en absolut kolonne og en relativ række, f.eks. $B5, som du kan se iskærmbilledet nedenfor:

    Sådan fremhæver du helligdage i Excel

    For at forbedre din Excel-kalender yderligere kan du også skygge helligdage. For at gøre det skal du angive de helligdage, du ønsker at fremhæve, i det samme eller et andet regneark.

    Jeg har f.eks. tilføjet følgende helligdage i kolonne A ($A$14:$A$17). Selvfølgelig er det ikke alle helligdage, men de er nok til demonstration : )

    Igen, du åbner Betinget formatering > Ny regel I tilfælde af ferie skal du bruge enten MATCH eller COUNTIF funktion:

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

    Bemærk. Hvis du har valgt en anden farve for helligdage, skal du flytte reglen om helligdage til toppen af listen over regler via Betinget formatering> Administrer regler...

    Det følgende billede viser resultatet i Excel 2013:

    Formater en celle betinget, når en værdi ændres til en dato

    Det er ikke noget stort problem at formatere en celle betinget, når der tilføjes en dato til den pågældende celle eller en anden celle i samme række, så længe ingen anden værditype er tilladt. I dette tilfælde kan du blot bruge en formel til at fremhæve ikke-blanke felter, som beskrevet i Excel betingede formler for blanke felter og ikke-blanke felter. Men hvad nu hvis disse celler allerede har nogle værdier, f.eks. tekst, og du ønsker at ændrebaggrundsfarve, når teksten ændres til en dato?

    Opgaven lyder måske lidt indviklet, men løsningen er meget enkel.

    1. Først og fremmest skal du bestemme formatkoden for din dato. Her er et par eksempler:
      • D1: dd-mmm-yy eller d-mmm-yy
      • D2: dd-mmm eller d-mmm
      • D3: mmm-yy
      • D4: mm/dd/ååå eller m/d/ååå eller m/d/ååå h:mm

      Du kan finde den komplette liste over datokoder i denne artikel.

    2. Vælg en kolonne, hvor du vil ændre farven på cellerne, eller hele tabellen, hvis du vil fremhæve rækker.
    3. Opret nu en regel for betinget formatering ved hjælp af en formel, der ligner denne: =CELL("format",$A2)="D1" I formlen er A kolonnen med datoer, og D1 er datoformatet.

      Hvis din tabel indeholder datoer i 2 eller flere formater, skal du bruge OR-operatoren, f.eks. =OR(celle("format", $A2)="D1", celle("format",$A2)="D2", celle("format", $A2)="D3")

      Skærmbilledet nedenfor viser resultatet af en sådan betinget formateringsregel for datoer.

    Sådan fremhæver du rækker baseret på en bestemt dato i en bestemt kolonne

    Antag, at du har et stort Excel-regneark, der indeholder to dato-kolonner (B og C). Du vil fremhæve alle rækker, der har en bestemt dato, f.eks. 13-maj-14, i kolonne C.

    Hvis du vil anvende Excel betinget formatering på en bestemt dato, skal du finde dens numerisk værdi Som du sikkert ved, gemmer Microsoft Excel datoer som fortløbende løbenumre, startende fra 1. januar 1900. 1-Jan-1900 er altså gemt som 1, 2-Jan-1900 er gemt som 2... og 13-May-14 som 41772.

    Hvis du vil finde datoens nummer, skal du højreklikke på cellen, vælge Format Celler> Antal og vælg den Generelt format. Skriv det nummer, du ser, ned og klik på Annuller fordi du ikke rigtig ønsker at ændre datoformatet.

    Det var faktisk den største del af arbejdet, og nu behøver du kun at oprette en betinget formateringsregel for hele tabellen med denne meget enkle formel: =$C2=41772 Formlen forudsætter, at din tabel har overskrifter, og at række 2 er den første række med data.

    En alternativ måde er at bruge DATEVALUE formel, der konverterer datoen til det talformat, som den er gemt i, f.eks. =$C2=DATEVALUE("5/13/2014")

    Uanset hvilken formel du bruger, vil den have samme effekt:

    Formater datoer i Excel betinget baseret på den aktuelle dato

    Som du sikkert ved, giver Microsoft Excel den I DAG() funktioner til forskellige beregninger baseret på den aktuelle dato. Her er blot nogle få eksempler på, hvordan du kan bruge den til betinget formatering af datoer i Excel.

    Eksempel 1. Fremhæv datoer, der er lig med, større end eller mindre end i dag

    Hvis du vil formatere celler eller hele rækker betinget baseret på dagens dato, skal du bruge funktionen TODAY på følgende måde:

    Lige så meget som i dag: =$B2=TODAY()

    Større end i dag: =$B2>TODAY()

    Mindre end i dag: =$B2

    Skærmbilledet nedenfor viser ovenstående regler i praksis. Bemærk venligst, at i skrivende stund var DAG den 12. juni 2014.

    Eksempel 2. Formatering af datoer i Excel på grundlag af flere betingelser

    På samme måde kan du bruge funktionen TODAY i kombination med andre Excel-funktioner til at håndtere mere komplekse scenarier. Du kan f.eks. ønske, at din Excel-formel til betinget formatering af datoer skal farve Faktura kolonnen, når den Leveringsdato er lig med eller større end i dag MEN du ønsker, at formateringen skal forsvinde, når du indtaster fakturanummeret.

    Til denne opgave skal du bruge en ekstra kolonne med følgende formel (hvor E er din Levering kolonne og F i kolonnen Faktura kolonne):

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

    Hvis leveringsdatoen er større end eller lig med den aktuelle dato, og der ikke er noget tal i kolonnen Faktura, returnerer formlen 1, ellers er den 0.

    Derefter opretter du en simpel betinget formateringsregel for Faktura kolonne med formlen =$G2=1 hvor G er din ekstra kolonne. Du vil naturligvis kunne skjule denne kolonne senere.

    Eksempel 3. Fremhæv kommende datoer og forsinkelser

    Antag, at du har en projektplan i Excel, der indeholder en liste over opgaver, deres startdatoer og varighed. Du vil gerne have slutdatoen for hver opgave beregnet automatisk. En yderligere udfordring er, at formlen også skal tage højde for weekender. Hvis startdatoen f.eks. er 13-juni-2014, og antallet af arbejdsdage (varighed) er 2, skal slutdatoen være 17-juni-2014,fordi den 14. juni og 15. juni er lørdag og søndag.

    For at gøre dette bruger vi WORKDAY.INTL(start_dato,dage,[weekend],[helligdage]) funktion, mere præcist =WORKDAY.INTL(B2,C2,1) .

    I formlen indtaster vi 1 som den tredje parameter, da den angiver lørdag og søndag som helligdage. Du kan bruge en anden værdi, hvis dine weekender er forskellige, f.eks. fre og lør. Den komplette liste over weekendværdier findes her. Du kan eventuelt også bruge den fjerde parameter [holidays], som er et sæt datoer (celleinterval), der skal udelukkes fra arbejdsdagskalenderen.

    Endelig kan du måske fremhæve rækker afhængigt af, hvor langt der er til fristen. For eksempel fremhæver de betingede formateringsregler baseret på følgende 2 formler henholdsvis kommende og nylige slutdatoer:

    • =AND($D2-TODAY()>=0,$D2-TODAY()<=7) - fremhæve alle rækker, hvor slutdatoen (kolonne D) ligger inden for de næste 7 dage Denne formel er virkelig praktisk, når det drejer sig om at spore kommende udløbsdatoer eller betalinger.
    • =AND(TODAY()-$D2>=0,TODAY()-$D2<=7) - fremhæve alle rækker, hvor slutdatoen (kolonne D) ligger inden for sidste 7 dage Du kan bruge denne formel til at spore de seneste forfaldne betalinger og andre forsinkelser.

    Her er et par andre eksempler på formler, der kan anvendes på ovenstående tabel:

    =$D2 - fremhæver alle overskredne datoer (dvs. datoer, der er mindre end den aktuelle dato). Kan bruges til at formatere udløbne abonnementer, forfaldne betalinger osv.

    =$D2>TODAY() - fremhæver alle fremtidige datoer (dvs. datoer, der er større end den aktuelle dato). Du kan bruge den til at fremhæve kommende begivenheder.

    Der kan naturligvis være uendelige variationer af ovenstående formler, afhængigt af din særlige opgave, f.eks:

    =$D2-TODAY()>=6 - fremhæver datoer, der ligger om 6 eller flere dage.

    =$D2=TODAY()-14 - fremhæver datoer, der fandt sted for præcis 2 uger siden.

    Sådan fremhæver du datoer inden for et datointerval

    Hvis du har en lang liste af datoer i dit regneark, kan du også fremhæve de celler eller rækker, der ligger inden for et bestemt datointerval, dvs. fremhæve alle datoer, der ligger mellem to givne datoer.

    Du kan udføre denne opgave ved at bruge funktionen TODAY() igen. Du skal blot konstruere lidt mere udførlige formler som vist i eksemplerne nedenfor.

    Formler til at fremhæve tidligere datoer

    • Mere end 30 dage siden: =TODAY()-$A2>30
    • Fra 30 til 15 dage siden, inklusive: =AND(TODAY()-$A2>=15, TODAY()-$A2<=30)
    • Mindre end 15 dage siden: =AND(TODAY()-$A2>=1, TODAY()-$A2<15)

    Den aktuelle dato og eventuelle fremtidige datoer er ikke farvet.

    Formler til at fremhæve fremtidige datoer

    • Vil finde sted om mere end 30 dage fra nu af: =$A2-TODAY()>30
    • Om 30 til 15 dage, inklusive: =AND($A2-TODAY()>=15, $A2-TODAY()<=30)
    • På mindre end 15 dage: =AND($A2-TODAY()>=1, $A2-TODAY()<15)

    Den aktuelle dato og eventuelle tidligere datoer er ikke farvet.

    Sådan skygger du huller og tidsintervaller

    I dette sidste eksempel vil vi bruge endnu en Excel-datafunktion - DATEDIF(start_dato, slut_dato, interval) Denne funktion beregner forskellen mellem to datoer baseret på det angivne interval. Den adskiller sig fra alle andre funktioner, som vi har diskuteret i denne vejledning, ved at du kan ignorere måneder eller år og kun beregne forskellen mellem dage eller måneder, alt efter hvad du vælger.

    Hvis du ikke kan se, hvordan det kan fungere for dig, så tænk på en anden måde... Antag, at du har en liste over dine familiemedlemmers og venners fødselsdage. Vil du gerne vide, hvor mange dage der er til deres næste fødselsdag? Og hvor mange dage er der tilbage til din bryllupsdag og andre begivenheder, som du ikke vil gå glip af?

    Du skal bruge følgende formel (hvor A er din Dato kolonne):

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

    Intervaltypen "yd" i slutningen af formlen bruges til at ignorere årstal og kun beregne forskellen mellem dagene. Se her for at få en komplet liste over tilgængelige intervaltyper.

    Tip: Hvis du glemmer eller forlægger den komplicerede formel, kan du bruge denne enkle formel i stedet: =365-DATEDIF($A2,TODAY(), "yd") Det giver nøjagtig de samme resultater, bare husk at erstatte 365 med 366 i skudår : )

    Og lad os nu oprette en Excel-regel for betinget formatering for at give forskellige mellemrum forskellige farver. I dette tilfælde giver det mere mening at bruge Excel Farveskalaer end at oprette en separat regel for hver periode.

    Skærmbilledet nedenfor viser resultatet i Excel - en gradient 3-farveskala med nuancer fra grøn til rød og gul.

    "Dage til næste fødselsdag" Excel webapp

    Vi har lavet denne Excel Web App for at vise dig ovenstående formel i praksis. Indtast dine begivenheder i den første kolonne, og ændr de tilsvarende datoer i den anden kolonne for at eksperimentere med resultatet.

    Bemærk: For at se den indlejrede arbejdsbog skal du tillade marketingcookies.

    Hvis du er nysgerrig efter at vide, hvordan du kan lave sådanne interaktive Excel-regneark, kan du læse denne artikel om, hvordan du laver webbaserede Excel-regneark.

    Forhåbentlig har mindst et af de Excel betingede formater for datoer, der er beskrevet i denne artikel, vist sig at være nyttigt for dig. Hvis du leder efter en løsning på en anden opgave, er du meget velkommen til at skrive en kommentar. Tak for læsningen!

    Michael Brown er en dedikeret teknologientusiast med en passion for at forenkle komplekse processer ved hjælp af softwareværktøjer. Med mere end ti års erfaring i teknologibranchen har han finpudset sine færdigheder i Microsoft Excel og Outlook samt Google Sheets og Docs. Michaels blog er dedikeret til at dele sin viden og ekspertise med andre og giver nemme at følge tips og vejledninger til at forbedre produktiviteten og effektiviteten. Uanset om du er en erfaren professionel eller nybegynder, tilbyder Michaels blog værdifuld indsigt og praktiske råd til at få mest muligt ud af disse vigtige softwareværktøjer.