
Excel - podmíněné formátování..
.. a to tak, aby se v tabulce barevně označily řádky, které podle data připadají na víkendy a svátky, čili s vazbou na kalendář. Dokáže to Excel funkcí podmíněného formátování a pokud ano, jak?
...samozrejme, že dokáže, za pomoci rozumného užívateľa, ktorý do podmienky podmieneného formátovania zakomponuje vzorec s funkciou DENTYDNE (WEEKDAY).
Jeden zo stĺpcov tabuľky, samozrejme, musí obsahovať dátum.
Pre podmienené formátovanie zadáš pravidlo formátovania "Použiť vzorec na určenie buniek, ktoré sa majú formátovať" kde sa priradí farba bunke (bunkám riadka), kde sa vzorec vyhodnotí ako pravdivý.
Čiže vzorec by mal byť:
=NEBO(DENTYDNE($A1;2)=6;DENTYDNE($A1;2)=7)
v anglickej verzii:
=OR(WEEKDAY($A1;2)=6;WEEKDAY($A1;2)=7)
pričom zo vzorca vyplýva, že v mojom prípade sú dátumy v stĺpci A
Aby vedel zafarbiť aj sviatky, musíš mať niekde bokom zoznam dátumov, ktoré sú uznávané ako sviatky (Problém je so sviatkom s premenlivým dátumom: Veľká Noc, to by však nebol Excel, keby neexistoval vzorec, ktorý vypočíta dátum dňa (podľa zadaného roka), na ktorý pripadne tento sviatok).
Takže v prípade zahrnutia i sviatkov do podmieneného formátovania, je treba vzorec, zisťujúci soboty a nedele (hore) rozšíriť o kontrolu prítomnosti dátumu v pomocnom zozname sviatkov (medzi ktorými je i vypočítavaný dátum Veľkej Noci).
P.S. Funkcia DENTYDNE má parameter (tu použitá hodnota 2), ktorý udáva, že prvým dňom týždňa je pondelok a posledným nedeľa
nestačí podmínka DENTYDNE>5 ?
dostal si ma
som prepracovaný
(ako ináč zdôvodním svoju blbosť?)
Prípadne môžem vymyslieť ešte nejaké dodatočné zdôvodnenie, prečo som to zblbol: napr, keby chcel zvýrazňovať i nejaký samostatne stojaci deň, napr stredu, aby nezabudol na manželské povinnosti...
P.S.P.S. Pre fajnšmekrov:
vzorec pre výpočet Veľkého piatka v aktuálnom roku (Veľkonočná nedeľa - 2 dni) :
=CONCATENATE(DAY((FLOOR(DAY(MINUTE(YEAR(TODAY())/3 8)/2+56)&".5."&YEAR(TODAY());7)-34)-2);".";MONTH((FLOOR(DAY(MINUTE(YEAR(TODAY())/38)/2+ 56)&".5."&YEAR(TODAY());7)-34)-2);".";YEAR(TODAY()))
Teda Veľkonočný pondelok (Veľkonočná nedeľa + 1 deň):
=CONCATENATE(DAY((FLOOR(DAY(MINUTE(YEAR(TODAY())/3 8)/2+56)&".5."&YEAR(TODAY());7)-34)+1);".";MONTH((FLOOR(DAY(MINUTE(YEAR(TODAY())/38)/2+ 56)&".5."&YEAR(TODAY());7)-34)+1);".";YEAR(TODAY()))
touchwood, prosím skontroluj pre istotu
je mi ctí dostat jednoho z Excel guru této Poradny.
edit: a rovnou bys mohl pracovat jako komputista pro Vatikán.
Jinak pro českou mutaci Excelu:
Veľkonočný pondelok:
Nebo
kde A1 je buňka obsahující rok
Nejak sa nám to radikálne zjednodušuje...



Najjednoduchšie je to ale:
14.4.2017
17.4.2017
Ahoj, vše je v pořádku
Reagoval sem na Feriho22, který uvádí vzorec pro Velikonoční pondělí.
Ja len žartujem

Ahoj.
Datumy mám také ve sloupci "A".
Podle uvedeného vzorce mi to jako víkend označilo Ne + Po. Upravil jsem parametr "2" na "1" a dostal jsem správně označené víkendy - So + Ne.
Vždy je označený první den v měsíci bez obhledu zda připadá na víkend či ne.
Na svátky se raději vybodnu. Víkendy bohatě stačí.
tak ešte raz:
označ si celú oblasť (v šírke toľkých stĺpcov, koľko ich chceš splnenou podmienkou zafarbiť) a do aktívnej bunky nastav pravidlo podmieneného formátovania:
=DENTYDNE($A1;2)>5
(Platí samozrejme, ak je v A1 tiež dátum, inak začneš až od riadka, kde začínajú dátumy)
Zrejme tá chyba s nežiadúcim zafarbením prvého dňa v mesiaci a parametrom 2 dňa v týždni nejak súvisí (musel by si poslať svoj súbor pre odhalenie chyby).
Toto musí fungovať! Niečo tam máš zle (vrátane parametra 1, pozri si nápovedu k funkcii DENTYDNE, kde uvidíš, aké hodnoty parametra platia pre aké verzie týžňov)
Dííík.
Kdybych nebyl osel.. mohl jsem to dávno mít a nemusel otravovat.
Takže už je to ok?
Kam se chybička vloudila?
To se budeš děsně smát. Datumy mně začínaly v A2 a pochopitelně že jsem ve vzorci ponechal A1.
áno, to vysvetľuje posun (preto sa zdalo, že parameter 2 je nesprávny) a aj trvalé zafarbenie prvého dátumu
OK