"Excel" sąlyginis formatavimas datoms & amp; laikas: formulės ir taisyklės

  • Pasidalinti
Michael Brown

Jei esate nuolatinis šio tinklaraščio lankytojas, tikriausiai pastebėjote keletą straipsnių, kuriuose aptariami įvairūs "Excel" sąlyginio formatavimo aspektai. O dabar pasinaudosime šiomis žiniomis ir sukursime skaičiuokles, kuriose skiriamos darbo dienos ir savaitgaliai, išskiriamos valstybinės šventės ir rodomas artėjantis terminas arba atidėjimas. Kitaip tariant, taikysime "Excel" sąlyginį formatavimą datoms.

Jei turite tam tikrų pagrindinių žinių apie "Excel" formules, greičiausiai esate susipažinę su kai kuriomis datos ir laiko funkcijomis, tokiomis kaip DABAR, DABAR, DATA, SAVAITĖ ir t. t. Šioje pamokoje mes ketiname žengti dar vieną žingsnį į priekį ir sąlygiškai formatuoti "Excel" datas taip, kaip norite.

    "Excel" sąlyginis datų formatavimas (integruotos taisyklės)

    "Microsoft Excel" pateikia 10 parinkčių, kaip formatuoti pasirinktas ląsteles pagal dabartinę datą.

    1. Norėdami taikyti formatavimą, tiesiog eikite į Pagrindinis skirtukas> Sąlyginis formatavimas> paryškinti langelių taisykles ir pasirinkite Įvykusios datos .

    2. Pasirinkite vieną iš datos parinktys iš kairėje lango pusėje esančio išskleidžiamojo sąrašo, pradedant paskutiniu mėnesiu ir baigiant kitu mėnesiu.
    3. Galiausiai pasirinkite vieną iš iš anksto nustatytų formatų arba nustatykite savo pasirinktinį formatą pasirinkdami įvairias parinktis Šriftas , Pasienis ir Užpildykite Jei "Excel" standartinės paletės nepakanka, visada galite spustelėti Daugiau spalvų... mygtuką.

    4. Spustelėkite GERAI ir mėgaukitės rezultatu! : )

    Tačiau šis greitas ir paprastas būdas turi du svarbius apribojimus: 1) jis veikia tik pasirinktose ląstelėse ir 2) sąlyginis formatas visada taikomas pagal dabartinę datą.

    "Excel" sąlyginio formatavimo formulės datoms

    Jei norite paryškinti ląsteles arba ištisas eilutes pagal kitoje ląstelėje esančią datą arba sukurti taisykles didesni laiko intervalai (t. y. daugiau nei mėnuo nuo dabartinės datos), turėsite sukurti savo sąlyginio formatavimo taisyklę, pagrįstą formule. Toliau rasite keletą mano mėgstamiausių "Excel" sąlyginių formatų datoms pavyzdžių.

    Kaip pažymėti savaitgalius "Excel" programoje

    Deja, "Microsoft Excel" neturi integruoto kalendoriaus, panašaus į "Outlook" kalendorių. Na, pažiūrėkime, kaip galite sukurti savo automatinį kalendorių, įdėdami visai nedaug pastangų.

    Kurdami "Excel" kalendorių, savaitės dienoms rodyti galite naudoti funkciją =DATE(metai,mėnuo,data). Tiesiog kur nors skaičiuoklėje įrašykite metų ir mėnesio numerius, o formulėje pateikite nuorodą į tuos langelius. Žinoma, galite įrašyti numerius tiesiai į formulę, tačiau tai nėra labai efektyvus būdas, nes formulę tektų koreguoti kiekvienam mėnesiui.

    Toliau pateiktoje ekrano nuotraukoje parodyta, kaip veikia funkcija DATA. Naudojau formulę =DATE($B$2,$B$1,B$4) kuris nukopijuojamas per 5 eilutę.

    Patarimas. Jei norite rodyti tik savaitės dienas, kaip parodyta pirmiau pateiktame paveikslėlyje, pasirinkite langelius su formule (mūsų atveju - 5 eilutę), spustelėkite dešiniuoju pelės klavišu ir pasirinkite Formatuoti ląsteles.> Skaičius> Pasirinktinis . Iš išskleidžiamojo sąrašo Tipas , pasirinkite arba dddd arba ddd atitinkamai rodyti visus dienos pavadinimus arba sutrumpintus pavadinimus.

    Jūsų "Excel" kalendorius beveik baigtas, ir jums tereikia pakeisti savaitgalių spalvą. Žinoma, jūs neketinate spalvinti langelių rankiniu būdu. Mes liepsime "Excel" automatiškai suformatuoti savaitgalius, sukurdami sąlyginio formatavimo taisyklę pagal SAVAITĖS DIENA formulė.

    1. Pradėkite pasirinkdami "Excel" kalendorių, kuriame norite šešėliuoti savaitgalius. Mūsų atveju tai yra intervalas $B$4:$AE$10. Būtinai pradėkite pasirinkimą nuo simbolio 1-asis datos stulpelis - Šiame pavyzdyje - B skiltis.
    2. Dėl Pagrindinis skirtuką, spustelėkite Sąlyginio formatavimo meniu> Nauja taisyklė .
    3. Sukurkite naują sąlyginio formatavimo taisyklę pagal formulę, kaip paaiškinta pirmiau pateiktame vadove.
    4. " Formuoti reikšmes, kai ši formulė yra teisinga" įveskite šią formulę WEEKDAY, pagal kurią bus nustatyta, kurie langeliai yra šeštadieniai ir sekmadieniai: =WEEKDAY(B$5,2)>5
    5. Spustelėkite Formatas... mygtuką ir nustatykite pasirinktinį formatą, perjungdami Šriftas , Pasienis ir Užpildykite skirtukus ir žaisti su įvairiomis formatavimo parinktimis. GERAI mygtuką, kad peržiūrėtumėte taisyklę.

    Leiskite man trumpai paaiškinti WEEKDAY(serijinis_numeris,[grąžinimo_tipas]) formulę, kad galėtumėte ją greitai pritaikyti savo skaičiuoklėms.

    • Svetainė serijinis_numeris parametras reiškia datą, kurią bandote rasti. Įvedate nuorodą į pirmąją ląstelę su data, mūsų atveju - B$5.
    • Svetainė [return_type] parametras nustato savaitės tipą (laužtiniai skliaustai reiškia, kad jis yra neprivalomas). Įveskite 2 kaip savaitės, prasidedančios nuo pirmadienio (1) iki sekmadienio (7), grąžinimo tipą. Visą galimų grąžinimo tipų sąrašą galite rasti čia.
    • Galiausiai rašote>5, kad paryškintumėte tik šeštadienius (6) ir sekmadienius (7).

    Toliau pateiktoje ekrano nuotraukoje matomas "Excel 2013" rezultatas - savaitgaliai paryškinti rausva spalva.

    Patarimai:

    • Jei jūsų įmonėje yra nestandartinių savaitgalių, pvz., penktadieniai ir šeštadieniai, tuomet formulę reikėtų pakeisti taip, kad ji būtų pradėta skaičiuoti nuo sekmadienio (1) ir būtų pažymėtos 6 (penktadienis) ir 7 (šeštadienis) dienos. Savaitės diena(B$5,1)>5 .
    • Jei kuriate horizontalų (kraštovaizdžio) kalendorių, ląstelės nuorodoje naudokite santykinį stulpelį (be $) ir absoliučią eilutę (su $), nes turėtumėte užfiksuoti eilutės nuorodą - pirmiau pateiktame pavyzdyje tai yra 5 eilutė, todėl įrašėme B$5. Tačiau jei kuriate vertikalios orientacijos kalendorių, turėtumėte elgtis priešingai, t. y. naudoti absoliutų stulpelį ir santykinę eilutę, pvz., $B5, kaip matotetoliau pateiktoje ekrano nuotraukoje:

    Kaip pažymėti šventes "Excel" programoje

    Norėdami dar labiau patobulinti "Excel" kalendorių, galite šešėliuoti ir valstybines šventes. Norėdami tai padaryti, turėsite toje pačioje ar kitoje skaičiuoklėje išvardyti šventes, kurias norite paryškinti.

    Pavyzdžiui, į A stulpelį įrašiau šias šventes ($A$14:$A$17). Žinoma, ne visos jos yra tikros valstybinės šventės, bet jos tinka demonstraciniais tikslais : )

    Vėl atidarote Sąlyginis formatavimas > Nauja taisyklė . Atostogų atveju ketinate naudoti arba MATCH arba COUNTIF funkcija:

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

    Pastaba. Jei pasirinkote kitą švenčių spalvą, turite perkelti švenčių taisyklę į taisyklių sąrašo viršų per Sąlyginis formatavimas> Taisyklių tvarkymas...

    Toliau pateiktame paveikslėlyje parodytas "Excel 2013" rezultatas:

    Sąlyginai formatuokite ląstelę, kai reikšmė pakeičiama į datą

    Nėra didelė problema sąlyginai formatuoti ląstelę, kai į ją ar bet kurią kitą tos pačios eilutės ląstelę įrašoma data, jei neleidžiamas joks kitas reikšmės tipas. Šiuo atveju galite tiesiog naudoti formulę, kad paryškintumėte ne tuščius langelius, kaip aprašyta "Excel" sąlyginėse formulėse, skirtose tuštiems ir ne tuštiems langeliams. Tačiau ką daryti, jei tose ląstelėse jau yra tam tikros reikšmės, pvz., tekstas, ir norite pakeistifono spalva, kai tekstas pakeičiamas į datą?

    Užduotis gali atrodyti šiek tiek sudėtinga, tačiau sprendimas labai paprastas.

    1. Pirmiausia reikia nustatyti datos formato kodą. Štai keletas pavyzdžių:
      • D1: dd-mmm-yy arba d-mmm-yy
      • D2: dd-mmm arba d-mmm
      • D3: mmm-yy
      • D4: mm/dd/yy arba m/d/yy arba m/d/yy h:mm

      Visą datos kodų sąrašą rasite šiame straipsnyje.

    2. Pasirinkite stulpelį, kuriame norite pakeisti langelių spalvą, arba visą lentelę, jei norite paryškinti eilutes.
    3. Dabar sukurkite sąlyginio formatavimo taisyklę, naudodami formulę, panašią į šią: =CELL("format",$A2)="D1" Formulėje A yra stulpelis su datomis, o D1 - datos formatas.

      Jei lentelėje yra 2 ar daugiau formatų datų, naudokite operatorių OR, pvz. =OR(ląstelė("formatas", $A2)="D1", ląstelė("formatas",$A2)="D2", ląstelė("formatas", $A2)="D3")

      Toliau pateiktoje ekrano nuotraukoje parodytas tokios sąlyginio formatavimo taisyklės, taikomos datoms, rezultatas.

    Kaip paryškinti eilutes pagal tam tikrą datą tam tikrame stulpelyje

    Tarkime, turite didelę "Excel" skaičiuoklę, kurioje yra du datų stulpeliai (B ir C). Norite paryškinti kiekvieną eilutę, kurios C stulpelyje yra tam tikra data, tarkime, gegužės 13-14 d.

    Norėdami taikyti "Excel" sąlyginį formatavimą tam tikrai datai, turite rasti jos skaitinė vertė Pirma. Kaip tikriausiai žinote, "Microsoft Excel" saugo datas kaip eilės numerius, pradedant nuo 1900 m. sausio 1 d. Taigi, 1900 m. sausio 1 d. saugoma kaip 1, 1900 m. sausio 2 d. saugoma kaip 2, o gegužės 13-14 d. - kaip 41772.

    Norėdami rasti datos numerį, dešiniuoju pelės klavišu spustelėkite ląstelę, pasirinkite Formatuoti ląsteles> Skaičius ir pasirinkite Bendra formatas. Užrašykite matomą skaičių ir spustelėkite Atšaukti nes tikrai nenorite keisti datos formato.

    Iš tikrųjų tai buvo pagrindinė darbo dalis, o dabar tereikia sukurti visos lentelės sąlyginio formatavimo taisyklę, naudojant šią labai paprastą formulę: =$C2=41772 Formulė reiškia, kad jūsų lentelėje yra antraštės, o 2 eilutė yra pirmoji eilutė su duomenimis.

    Alternatyvus būdas - naudoti DATEVALUE formulė, kuri konvertuoja datą į skaičių formatą, kuriame ji saugoma, pvz. =$C2=DATEVALUE("5/13/2014")

    Kad ir kokią formulę naudotumėte, jos poveikis bus toks pat:

    Sąlyginai formatuokite datas "Excel" pagal dabartinę datą

    Kaip tikriausiai žinote, "Microsoft Excel" teikia TODAY() funkcijas įvairiems skaičiavimams pagal dabartinę datą atlikti. Štai tik keli pavyzdžiai, kaip galima naudoti šią funkciją sąlygiškai formatuojant datas "Excel" programoje.

    1 pavyzdys. Pažymėkite datas, kurios yra lygios, didesnės arba mažesnės nei šiandien

    Jei norite sąlygiškai formatuoti ląsteles arba ištisas eilutes pagal šiandienos datą, naudokite funkciją TODAY taip:

    Lygiai taip pat kaip ir šiandien: =$B2=TODAY()

    Didesnis nei šiandien: =$B2>TODAY()

    Mažiau nei šiandien: =$B2

    Toliau pateiktoje ekrano nuotraukoje matyti, kaip veikia pirmiau nurodytos taisyklės. Atkreipkite dėmesį, kad rašymo metu DIENA buvo 2014 m. birželio 12 d.

    2 pavyzdys. Sąlyginai formatuokite datas "Excel" pagal kelias sąlygas

    Panašiai funkciją TODAY galite naudoti kartu su kitomis "Excel" funkcijomis, kad galėtumėte tvarkyti sudėtingesnius scenarijus. Pavyzdžiui, galite norėti, kad jūsų "Excel" sąlyginio formatavimo datos formulė nuspalvintų Sąskaita faktūra stulpelyje, kai Pristatymo data yra lygus arba didesnis nei šiandien, BET norite, kad formatavimas išnyktų, kai įvedate sąskaitos faktūros numerį.

    Šiai užduočiai atlikti reikia papildomo stulpelio su šia formule (kur E yra jūsų Pristatymas stulpelyje ir F Sąskaita faktūra stulpelis):

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

    Jei pristatymo data yra didesnė arba lygi dabartinei datai ir stulpelyje "Sąskaita faktūra" nėra skaičiaus, formulė grąžina 1, priešingu atveju - 0.

    Po to sukursite paprastą sąlyginio formatavimo taisyklę, skirtą Sąskaita faktūra stulpelis su formule =$G2=1 kur G yra jūsų papildomas stulpelis. Žinoma, vėliau šį stulpelį galėsite paslėpti.

    3 pavyzdys. Pabrėžkite artėjančias datas ir vėlavimus

    Tarkime, "Excel" programoje turite projekto tvarkaraštį, kuriame nurodytos užduotys, jų pradžios datos ir trukmės. Norite, kad kiekvienos užduoties pabaigos data būtų apskaičiuojama automatiškai. Papildomas iššūkis yra tas, kad formulėje taip pat turėtų būti atsižvelgta į savaitgalius. Pavyzdžiui, jei pradžios data yra 2014 m. birželio 13 d., o darbo dienų skaičius (trukmė) yra 2, pabaigos data turėtų būti 2014 m. birželio 17 d,nes birželio 14 ir 15 d. yra šeštadienis ir sekmadienis.

    Norėdami tai padaryti, naudosime WORKDAY.INTL(start_date,days,[weekend],[holidays]) funkcija, tiksliau =WORKDAY.INTL(B2,C2,1) .

    Formulėje kaip 3-iąjį parametrą įrašome 1, nes jis nurodo šeštadienį ir sekmadienį kaip švenčių dienas. Galite naudoti kitą reikšmę, jei jūsų savaitgaliai skiriasi, tarkime, penktadienis ir šeštadienis. Visą savaitgalių reikšmių sąrašą rasite čia. Pasirinktinai taip pat galite naudoti 4-ąjį parametrą [šventės], kuris yra datų rinkinys (langelių intervalas), kuris turėtų būti neįtrauktas į darbo dienų kalendorių.

    Galiausiai, galite norėti paryškinti eilutes priklausomai nuo to, kaip toli yra galutinis terminas. Pavyzdžiui, sąlyginio formatavimo taisyklėmis, pagrįstomis toliau pateiktomis 2 formulėmis, paryškinamos atitinkamai artėjančios ir neseniai pasibaigusios galutinės datos:

    • =AND($D2-TODAY()>=0,$D2-TODAY()<=7) - paryškinti visas eilutes, kuriose pabaigos data (D stulpelis) yra artimiausias 7 dienas . Ši formulė tikrai patogi, kai reikia stebėti artėjančias galiojimo datas arba mokėjimus.
    • =AND(TODAY()-$D2>=0,TODAY()-$D2<=7) - paryškinti visas eilutes, kuriose pabaigos data (D stulpelis) patenka į paskutinės 7 dienos . Pagal šią formulę galite stebėti naujausius pradelstus mokėjimus ir kitus vėlavimus.

    Pateikiame dar keletą formulės pavyzdžių, kuriuos galima pritaikyti pirmiau pateiktai lentelei:

    =$D2 - išryškina visas praėjusias datas (t. y. datas, kurios yra trumpesnės už dabartinę datą). Gali būti naudojamas prenumeratai, kurios galiojimo laikas pasibaigė, pradelstiems mokėjimams ir t. t. formatuoti.

    =$D2>TODAY() - išryškina visas būsimas datas (t. y. datas, kurios yra didesnės už dabartinę datą). Ją galite naudoti norėdami išryškinti būsimus įvykius.

    Be abejo, pirmiau pateiktos formulės gali būti be galo įvairios, priklausomai nuo konkrečios užduoties. Pavyzdžiui:

    =$D2-TODAY()>=6 - išryškina datas, kurios įvyks per 6 ar daugiau dienų.

    =$D2=TODAY()-14 - atkreipia dėmesį į datas, kurios įvyko lygiai prieš 2 savaites.

    Kaip paryškinti datas datos intervale

    Jei darbalapyje yra ilgas datų sąrašas, taip pat galite norėti paryškinti langelius arba eilutes, kurios patenka į tam tikrą datų intervalą, t. y. paryškinti visas datas, kurios yra tarp dviejų nurodytų datų.

    Šią užduotį vėl galite atlikti naudodami funkciją TODAY(). Tik turėsite sudaryti šiek tiek sudėtingesnes formules, kaip parodyta toliau pateiktuose pavyzdžiuose.

    Formulės praeities datoms paryškinti

    • Daugiau nei prieš 30 dienų: =TODAY()-$A2>30
    • Nuo 30 iki 15 dienų imtinai: =AND(TODAY()-$A2>=15, TODAY()-$A2<=30)
    • Prieš mažiau nei 15 dienų: =AND(TODAY()-$A2>=1, TODAY()-$A2<15)

    Dabartinė data ir būsimos datos nespalvotos.

    Formulės būsimoms datoms paryškinti

    • Tai įvyks po daugiau nei 30 dienų: =$A2-TODAY()>30
    • Per 30-15 dienų (imtinai): =AND($A2-TODAY()>=15, $A2-TODAY()<=30)
    • Per mažiau nei 15 dienų: =AND($A2-TODAY()>=1, $A2-TODAY()<15)

    Dabartinė data ir visos ankstesnės datos nėra spalvotos.

    Kaip užtamsinti tarpus ir laiko intervalus

    Šiame paskutiniame pavyzdyje naudosime dar vieną "Excel" datos funkciją - DATEDIF(pradžios_data, pabaigos_data, intervalas) . Ši funkcija apskaičiuoja dviejų datų skirtumą pagal nurodytą intervalą. Nuo visų kitų šioje pamokoje aptartų funkcijų ji skiriasi tuo, kad leidžia ignoruoti mėnesius ar metus ir apskaičiuoti tik dienų ar mėnesių skirtumą, priklausomai nuo to, ką pasirinksite.

    Neįsivaizduojate, kaip tai galėtų jums pasitarnauti? Pagalvokite apie tai kitaip... Tarkime, kad turite savo šeimos narių ir draugų gimtadienių sąrašą. Ar norėtumėte sužinoti, kiek dienų liko iki kito gimtadienio? Be to, kiek tiksliai dienų liko iki vestuvių metinių ir kitų įvykių, kurių nenorėtumėte praleisti? Lengvai!

    Reikia šios formulės (kur A yra jūsų Data stulpelis):

    =DATEDIF(TODAY(), DATA((METAI(TODAY())+1), MĖNESIS($A2), DIENA($A2)), "yd")

    Formulės pabaigoje esantis intervalo tipas "yd" naudojamas metams ignoruoti ir apskaičiuoti tik dienų skirtumą. Visą galimų intervalų tipų sąrašą rasite čia.

    Patarimas. Jei pamiršote ar pametėte sudėtingą formulę, galite naudoti šią paprastą formulę: =365-DATEDIF($A2,TODAY(), "yd") Rezultatai lygiai tokie patys, tik nepamirškite keliamaisiais metais 365 pakeisti 366 : )

    O dabar sukurkime "Excel" sąlyginio formatavimo taisyklę, kad skirtingus tarpus nuspalvintume skirtingomis spalvomis. Šiuo atveju prasmingiau naudoti "Excel" spalvų skales, o ne kurti atskirą taisyklę kiekvienam laikotarpiui.

    Toliau pateiktoje ekrano nuotraukoje matomas rezultatas "Excel" programoje - gradientinė 3 spalvų skalė su atspalviais nuo žalios iki raudonos ir geltonos spalvos.

    "Excel" žiniatinklio programa "Dienos iki kito gimtadienio

    Sukūrėme šią "Excel" žiniatinklio programėlę, kad parodytume, kaip veikia pirmiau minėta formulė. 1 stulpelyje įveskite įvykius, o 2 stulpelyje pakeiskite atitinkamas datas ir paeksperimentuokite su rezultatais.

    Pastaba. Jei norite peržiūrėti įterptąjį sąsiuvinį, leiskite naudoti rinkodaros slapukus.

    Jei norite sužinoti, kaip sukurti tokias interaktyvias "Excel" skaičiuokles, peržiūrėkite šį straipsnį apie tai, kaip sukurti internetines "Excel" skaičiuokles.

    Tikimės, kad bent vienas iš šiame straipsnyje aptartų "Excel" sąlyginių datų formatų jums pasirodė naudingas. Jei ieškote sprendimo kokiam nors kitam uždaviniui, kviečiame rašyti komentarus. Dėkojame, kad skaitėte!

    Michaelas Brownas yra atsidavęs technologijų entuziastas, mėgstantis supaprastinti sudėtingus procesus naudojant programinės įrangos įrankius. Turėdamas daugiau nei dešimtmetį patirtį technologijų pramonėje, jis patobulino savo įgūdžius „Microsoft Excel“ ir „Outlook“, taip pat „Google“ skaičiuoklėse ir dokumentuose. Michaelio tinklaraštis skirtas dalytis savo žiniomis ir patirtimi su kitais, jame pateikiami lengvai įgyvendinami patarimai ir vadovėliai, kaip pagerinti produktyvumą ir efektyvumą. Nesvarbu, ar esate patyręs profesionalas, ar pradedantysis, Michaelo tinklaraštyje rasite vertingų įžvalgų ir praktinių patarimų, kaip išnaudoti visas šių pagrindinių programinės įrangos įrankių galimybes.