Sloupec typu „Calculated“, neboli Počítané pole
- Posted by Jana Babáčková
- On 10.8.2017
- 1
Sloupec typu „Calculated“ (česky přeložený jako Počítané pole) je výjimečný. Patří sice mezi základní sadu sloupců, které můžete přidat ke každé běžné knihovně nebo listu, nicméně sám o sobě žádná data neobsahuje, pokud nejsou výsledkem nějakého výpočtu nebo vzorce založeném na ostatních typech sloupců daného objektu. K čemu je to dobré? Pomocí Počítaného pole můžeme porovnávat nebo sčítat číselné hodnoty sloupců mezi sebou, sloučit, rozdělit nebo porovnávat text, hledat prázdná pole nebo pracovat s datem a všechno co k tomu potřebujeme je několik vzorců a trocha cviku.
V minulosti se tento druh sloupce používal také pro nejrůznější formátování písma, řádků a obsahu vůbec pomocí vloženého HTML kódu, nicméně tato možnost nikdy nebyla firmou Microsoft oficiálně podporována a k 10.ZÁŘÍ 2017 KONČÍ. Veškerý nestandartní kód vložený do sloupců typu „Calculated“ bude v prostředí SPO ignorován bez náhrady, v on-premise prostředí SharePointu 2013 a 2016 zmizí po instalaci aktualizace z června 2017 s každou nově založenou webovou aplikací (stávající webové aplikace založené před instalací aktualizace zůstávají beze změny).
Ještě než se podíváme na to k čemu jsou Počítaná pole dobrá, musím Vás zdržet trochou té nutné teorie. Jména sloupců se do vzorců zapisují v hranatých závorkách, tedy např. [sloupec] nebo [Název] a to přesně tak, jak je vidíte v listu nebo knihovně včetně speciálních a českých znaků, pokud je používáte. Technický název (ten první, se kterým byl sloupec založený) se nepočítá. Sčítat můžete pole typu číslo, rozdělovat text z polí typu text, rozdíl mezi dny počítat z polí typu datum… a dávejte přitom pozor na návratový datový typ (formát výsledku, který se má v Počítaném poli zobrazit). Pokud se Váš sloupec jmenuje Today (česky Dnes), Me (česky Já) nebo ID, můžete narazit na podivné výsledky, protože tato slova jsou rezervovaná jako tokeny, které vrací určitou hodnotu samy o sobě a sloupce typu Lookup (vyhledávání v dalších sloupcích knihoven a listů webu) nefungují vůbec. Časem při svých experimentech možná zjistíte, že rozhodovací „IF“ funkce může být vnořena v jednom vzorci maximálně sedmkrát, ale to už předbíháme…
Princip práce se vzorci si nejlépe ukážeme na příkladech s čísly, kde výsledek formátujeme opět jako číslo, eventuelně měnu:
ČÍSLA |
|
=[Cena]*[Pocet] | Násobí |
=[2015]+[2016] | Sčítá |
=[Prijmy]-[Vydaje] | Odčítá |
=([Cena]/100)*21 | Spočítá daň (číslo formátujte s výsledkem v procentech) |
=MIN([A], [B], [C]) | Vypíše nejmenší číslo ze zadaných sloupců |
=[A]*(1+[B]) | Navýší číslo ze sloupce A o procento ze sloupce B |
Princip jasný, jdeme dál. Datum a čas jsou o něco zajímavější, protože tady můžete pomocí ustálených výrazů hh:mm:ss pracovat s časem jak se vzorci v Excelu, zobrazovat dny v týdnu, číslo aktuálního týdne, roční období, čtvrtletí nebo denní dobu v nejrůznějších kombinacích:
DATUM A ČAS |
|
=TEXT([Datum],“hh:mm:ss“) | Čas ve formátu 11:47:00 |
=TEXT([Datum],“dddd“) | Celý den v týdnu, např.: Pondělí |
=TEXT([Datum],“mmmm“) | Celý měsíc, např.: Srpen |
=TEXT([Datum],“mmmm dd, yyyy“ | Kombinace, např.: Srpen, 10, 2017 |
=IF(AND(HOUR([Cas])>6,HOUR([Cas])<18),“Den“,“Noc“) | Den nebo Noc |
=DATEDIF([Zacatek], [Konec],“d“) | Vrátí počet dní mezi dvěma daty |
=TEXT([Zacatek]-[Konec],“h:mm“) | Hodiny a minuty mezi dvěma daty |
Text jako hodnota polí si sebou občas může přinést zbytečné mezery, nechtěné formátování, špatně zapsaná malá/velká písmena nebo chybné hodnoty obecně (jen slovo Praha jde zapsat minimálně stovkou různých způsobů). Jak si s takovými věcmi poradit?
TEXT |
|
=CLEAN(„Produkt° °“) | Produkt – Zobrazí prostý text bez speciálních znaků |
=PROPER(„pRAhA“) | Praha – Zobrazí pouze první písmeno velké |
=LOWER(„oStrAVa“) | ostrava – Zobrazí všechna písmena malá |
=TRIM([TEXT]) | Odstraní mezery z iLike CZ na iLikeCZ |
=IF(ISBLANK([2017]), „Prazdne“, „OK“) | Detekuje prázdné pole |
=[TEXTA]&“ „&[TEXTB] | Sloučí text dvou sloupců s mezerou uprostřed |
Ruku na srdce – kdo z Vás někdy v minulosti potřeboval přeformátovat sloupec měny, ale nechtěl měnit regionální nastavení celého webu? Odstranit mezery před/za jménem nebo automaticky číslovat položky seznamu podle daného vzoru?
FORMÁTOVÁNÍ |
|
=TEXT([Cena],“CZK####.00″) | Přeformátování měny – CZK1234.56 |
=“Splatnost: „&TEXT([Datum], „dd-mmm-yyyy“) | Splatnost: 10-Srp-2017 |
=“CZ“ & REPT(„0“,5-LEN(TEXT([Cislo]))) & TEXT([Cislo]) | Doplnění čísla do pěti pozic – CZ00047 |
=REPT(„&“,5) | Zopakuje znak & pětkrát- &&&&& |
=EXACT([2016],[2017]) | Porovná obsah dvou sloupců (výsledek ano/ne) |
=CONCATENATE([Jmeno],“ prodal „,[Pocet],“ výrobků.“) | Novák prodal 47 výrobků. |
=IF([2016]-[2017],“-„,[2016]-[2017]) | Nahradí pole s nulou za pomlčku |
Pro podrobnější výpis zkuste tento LINK nebo tuhle STRÁNKU, kde je podobných příkladů stovky.
Pokud se Vám vzorce nedaří nebo je SharePoint odmítá kvůli špatné syntaxi, zkontrolujte datové typy sloupců, zkuste vložit vzorec ručně místo kopírování, zkontrolujte uvozovky a jazykové nastavení. Některé funkce pro datum a čas čekají na vstupu anglický nebo zjednodušený formát času. Pokud se pouštíte do složitějších vzorců, začněte po menších částech. Hledat chybu mezi čtyřmi použitými funkcemi ve dvou podmínkách je občas náročné…
… a k čemu používáte Počítané pole Vy? Pište do komentářů!
1 comments on Sloupec typu „Calculated“, neboli Počítané pole