Vlastnost Formula v Notion databázích

Blog / Dála Musil – 12. dubna 2023, aktualizace 19. února 2024

Potřebujete zobrazit u svých záznamů v databázi nějakou hodnotu specifickým způsobem nebo udělat třeba výpočet mezi některými hodnotami? Pak využijte vlastnost Formula (alias Funkce), která je nejpokročilejší vlastností, které Notion databáze umí.

Formula je nejen nejpokročilejší vlastností v databázích (průvodce databázemi), ale zároveň tím pádem i nejsložitější. Pokud používáte třeba v Excelu či Google Sheets funkce, pak je Formula v Notionu jejich obdobou - jejím základem je sestavení nějakého "vzorce" (třeba matematického) typicky z dalších hodnot záznamu. Velkou výhodu mají vývojáři, pro které je spousta používaných "prvků" na denním pořádku. My ostatní to máme trochu složitější, ale jak vám dnes ukážu, jde se to s trochou snahy naučit (pokud máte radši videa než texty, třeba v mém online kurzu).

Co je potřeba zdůraznit - databáze v Notionu se nerovná tabulkám v Excelu (Notion != Excel, jak by řekla právě formula v Notionu). Zatímco v Excelu můžu třeba vynásobit buňky A1 a B2, v databázi pracuji vždy s jedním záznamem, tzn. jedním řádkem. Můžu tak kombinovat všechny buňky (vlastnosti) v řádku A s A, ale nikoliv s řádkem B, protože to je jiný záznam.

Příklady použití Notion formulas

  • zjištění, kolik dní zbývá do deadline úkolu
  • výpočet, kolik fakturovat na základě časového výkazu
  • vypsání hlášky při překročeném termínu
  • stavový semafor, ideální pro projekty a úkoly
  • vytvoření hezčího progress baru
  • spojení jména a příjmení do jedné hodnoty
  • spočítání časového výkazu na základě data a času
  • zjištění jaký je název dne podle daného data
  • vypsaní data (termínu) v libovolném formátu
  • automatické posouvání data u úkolu v kalendáři
  • a samozřejmě sčítání, násobení, zaokrouhlování a další "klasická matematika"

Jaké máme možnosti?

Formula používá 4 typy prvků - vlastnosti, konstanty, operátory a funkce. Vlastnostmi jsou hodnoty vašich záznamů, čili třeba datum u úkolu, částka u klienta, status u projektu apod. - zkrátka to, co máte reálně zadané a vztahuje se právě a pouze jenom k danému konkrétnímu záznamu.

Notion formula - pole

Z konstant jsou stěžejní TRUE (pravda) a FALSE (nepravda), bez kterých se neobejdete, když použijete podmínku "pokud" (operátor IF). Tzn. třeba pokud je číslo větší než jiné, zaškrtni, pokud bude menší, nezaškrtávej.

Notion formula - true a false

V operátorech najdeme klasické sčítání, odčítání, dělení a násobení, možnosti typu AND (více podmínek platných) a OR (alespoň jedna podmínka platná) nebo třeba porovnávání, zda je nějaká hodnota větší či menší než jiná.

Notion formula - operátory

Funkce pak umožňují třeba spojení hodnot, výpočet délky hodnoty, nahrazení obsahu, zjištění zda je hodnota prázdná, zaokrouhlování nebo různorodou práci s datem a časem.

Notion formula - funkce

Ty nejpoužívanější prvky včetně příkladů probereme v dalších odstavcích.

Základní matematika

Znáte znaménka jako plus +, mínus -, krát * a děleno /? K běžným výpočtům nic dalšího nepotřebujete.

Notion formula - matematické funkce

Přizpůsobení formátu výsledku

Pokud je výstupem formuly číslo, můžeme nastavit také její formátování, jaké právě vlastnost Number umožňuje a to třeba včetně progress baru - typicky se hodí třeba když chcete vědět kolik % máte hotových z projektu.

Notion formula - formát výsledku

Zaokrouhlení s ROUND

Zaokrouhlovat můžete dolů (floor), nahoru (ceil) nebo klasicky (round).

Notion formula - zaokrouhlování

Pokud chcete držet i místa za desetinnou čárkou, je potřeba si pomoct přes pomocné číslo, které bude mít tolik nul, kolik chcete mít desetinných míst.

Notion formula - desetinná místa

Spojení textů s CONCAT

Pojďme od čísel k textům. Výše už jsem zmiňoval typické využití v podobě spojení obsahu, který máte ve dvou "buňkách", třeba spojení jména a příjmení do společného sloupce.

Notion formula - spojení textu

Spojení čísla s textem skrz FORMAT

Abych mohl používat číselné hodnoty v kombinaci s textovým obsahem, je potřeba je na text převést (jinak bude formula vyhazovat chybu). Slouží k tomu FORMAT, díky čemuž pak můžu vytvořit třeba následující ukázku.

Notion formula - text a číslo

V návaznosti si tak doplňme, že máme 4 datové typy (nebo chcete-li formáty) - text (string), číslo, datum a pravda/nepravda (tzv. Boolean), která je v základu v Notionu jako checkbox. Když chceme něco použít jinak než v daném formátu, musíme si typicky hodnotu sami naformátovat.

Klasické AND a OR

Pokud jste se nikdy nesetkali s podmínkami AND a OR, pointa je následující - AND se používá tehdy, když chceme, aby platily všechny zadané podmínky. OR pak když chceme, aby platila alespoň jedna ze zadaných podmínek.

V tomto příkladu bude zaškrtnuté AND, pokud je datum dnes nebo dříve (k čemuž slouží NOW) a zároveň je zaškrtnutá hodnota Hotovo. Jak vidíte, druhý řádek není splněný, protože datum je v budoucnu. Oproti tomu OR, kde jsem ve formule použil akorát "or" místo "and", jsou zaškrtnuté oba řádky - protože v obou je buď datum dnes a dříve nebo zaškrtnuté Hotovo (alespoň jedna podmínka je splněná).

Notion formula - and a or

Mimochodem tohle == znamená rovná se, != nerovná se. Větší než > a menší než < předpokládám znáte.

Podmínky s IF, TRUE a FALSE

Výše zmíněné AND a OR se typicky používají s IF, TRUE a FALSE. IF nám přitom říká "pokud něco, pak tohle (TRUE), pokud to neplatí tak tohle (FALSE)". V ukázce níže pokud je datum dnes nebo dříve, bude zaškrtnutý Stav. Pokud neplatí, nebude zaškrtnutý).

Notion formula - podmínka if

Místo TRUE a FALSE si můžeme dát něco vlastního - třeba textový řetězec (kdybych chtěl, aby to znělo odborně) nebo textovou hlášku (což říkám radši). A ano, k textu můžeme vložit třeba i emoji - důležité je nezapomenout na uvozovky.

Notion formula - textový true false

A abych navázal na zmíněné AND a OR, tak si pojďme tuhle podmínku rozšířit. Představme si, že koukáme na úkoly, a chceme vědět, jestli je úkol hotový a zároveň jsme neprošvihli termín. Máme podmínku pro datum, aby bylo dnes nebo dříve, a Hotovo musí být zaškrtnuté.

Notion formula - if s and

Tuhle podmínku mimochodem lze zapsat i tímhle způsobem, který je výhodnější o to víc, čím více podmínek kombinujete.

Notion formula - jiný zápis and

Více podmínek v jednom vzorci

Výše zmíněné IF můžeme také kombinovat do sebe a detailněji si tak přizpůsobovat finální hodnotu. Když tak navážu na screen, kde máme vlastnosti Datum a Hotovo, můžeme přidat další podmínku dovnitř. Co říká vzorec?

Notion formula - více if podmínek

Pokud je hotovo, bude TRUE = zelená fajfka. Pokud nebude hotovo, bude FALSE = vyber si z dalších podmínek.

1. a 3. řádek hotové nejsou, takže se bere v potaz druhá podmínka, která se ptá na to, jestli je datum právě dnešní.

Zatímco 1. řádek má datum včera (tenhle článek píšu 6. dubna), podmínka na dnešek je FALSE a bere se vykřičník. Podmínka na 3. řádek platí, takže TRUE bere oheň.

IF (první podmínka, pravda? → fajfka, IF (druhá podmínka, pravda? → oheň, nepravda? → vykřičník))

Formátování data a času FORMATDATE

Ve zmíněném příkladu jste si možná všimli zatím nezmíněné funkce FORMATDATE. Datum a čas jako takové můžete libovolně formátovat, pokud vám nestačí běžný zápis. Vlastnost se vám nicméně s touhle funkcí změní z typu date na string, tj. text, takže pak daný sloupec nemůžete používat v kalendáři (který umí zobrazovat pouze typ Date).

Notion formula - formát data

Zjištění data skrz NOW

Datum nemusíte jen formátovat, pokud už nějaké máte, ale můžete jej skrz kombinaci FORMATDATE a NOW i zjišťovat z právě aktuálního dne. Dny, týdny, měsíce, roky - co si přejete.

Notion formula - zjištění data

Příp. lze konkrétní den, datum nebo třeba měsíc zjišťovat i snadněji a sice rovnou skrz vlastní funkci. Třeba kolikátý je den tohoto týdne?

Notion formula - dnešní datum

Termín vs. dnešní datum s DATEBETWEEN

Hojně používané bývá také DATEBETWEEN pro zjištění, jak se od sebe liší různá data u jednoho záznamu - třeba v tomhle příkladu kolik času ve dnech zbývá do deadline.

Notion formula - datum v rozmezí

Použít se dá dobře také pro automatickou archivaci skrz filtry, např. pokud poslední editace záznamu proběhla před více než 14 dny, zaškrtni vlastnost Archivovat.

Jiné progress bary díky SLICE

Zajímavou funkcí je také SLICE, který slouží k primárně tomu, aby zobrazoval jen vybrané znaky z hodnot.

Notion formula - ukrojení znaků

Díky němu máme možnost vytvořit si také vlastní progress bary tím, že ukrajujeme vybrané "znaky". Ano, takhle se tvořily bary předtím, než je přidal Notion nativně (nicméně i teď jsou mnohde hezčí tyhle původní).

Notion formula - progress bar

Další běžnější funkce

  • CONTAINS - zjišťuje, zda hodnota obsahuje vybraný obsah
  • DATEADD a DATESUBTRACT - přidávání (a odebírání) času/data ke zvolené hodnotě
  • EMPTY - zjišťuje, zda je hodnota prázdná
  • JOIN - á la CONCAT s rozdílem, že vkládá stejný obsah navíc mezi hodnoty
  • MAX a MIN - vrací nejvyšší nebo nejnižší nalezenou hodnotu
  • REPLACE - nahrazení obsahu jiným
  • START a END - vrací počáteční nebo závěrečné datum z data, které má od-do
  • TONUMBER - mění datový typ na číslo

Český videokurz?

Pokud vám texty nestačí, můžete se naučit vlastnost Formula také díky videokurzům - třeba v jediném českém, který najdete tady. V kurzu vysvětluju názorně veškerý obsah z tohoto článku včetně všech běžnějších funkcí viz jeden odstavec výše. Níže ukázka z kurzu.

Nové formuly 2.0

V září 2023 dorazila nové verze formul, která násobně posouvá možnosti, jaké formuly mají. Více najdete v samostatném článku, který představuje nové formuly a automatizace. Níže se můžete mrknout na speciality, které teď dokážete, příp. tady je pár náhledů.

Jak vidíte, formula nemusí být zase tak složitá a díky nekonečné možnosti kombinací všech prvků a funkcí díky ní dokážete vypočítat nebo zobrazit téměř cokoliv vás napadne. Neváhejte ji proto vyzkoušet :-)

Nechcete se vlastnost formula učit, ale rádi byste ji využili? Dejte mi vědět, rád vám libovolnou formulu připravím zcela na míru nebo rovnou nastavím ve vašich databázích (více info tady).

autor Dála Musil

O autorovi článku
Dála Musil je digitální konzultant & designér a Notion Consulting Partner & Ambassador z Pardubic. Svým klientům pomáhá zjednodušovat život díky Notionu a automatizacím, dříve se věnoval UX designu, marketingu či procesnímu řízení. O podnikání a všem digitálním píše už více než 11 let.
Twitter profil  LinkedIn profil  Youtube kanál  Facebook stránka  RSS blogu

Líbil se vám článek? Sdílejte ho dál


Pomohl vám můj obsah? Podpořte další tvorbu

Jsou pro vás moje články, videa, šablony, newsletter či posty na socialu (nejen o Notionu) užitečné? Přispěním libovolné částky mi pomůžete tvořit další nový obsah ZDARMA. Díky za podporu! 🙌

QR platba

Přidejte se k 3 400+ lidem, kteří mě sledují

1x měsíčně vám pošlu zpravodaj ze světa Notionu plný novinek, tipů, článků a videí 🙂