Formelsyntaks og funktioner

Formelfunktioner hero
I denne artikel

Notion-formler kan fungere på forskellige egenskaber og funktioner. Her er en liste over dem ➗


Vil du udforske grundlæggende information om formler? Tjek vores introduktionsartikel:

Notion formulas can operate using various properties and functions. Here, you'll find a list of them!

Formulas support almost all property types. Note that formula types are different from property types.

Egenskabstyper

Eksempler

Formeltype

Titel

prop("Titel")prop("Titel").length()

Tekst

Tekst

prop("Tekst")prop("Tekst").length()

Tekst

Vælg

prop("Prioritet") == "Høj"

Tekst

Vælg flere

prop("Tags").length()prop("Tags").includes("Finans")

Text (list)

Afkrydsningsfelt

prop("Afkrydsningsfelt")
not prop("Afkrydsningsfelt")

Boolesk

E-mail, URL, Telefonnummer

!empty(prop("Telefon"))
!empty(prop("E-mail"))
link("Opkald", "tlf.:" + prop("Telefon"))

Tekst

Unikt ID

prop("Opgave-id").split("-").first() ← Præfiks
prop("Opgave-id").split("-").last () ← ID

Tekst

Oprettet af,
Redigeret af

prop("Oprettet af").name()
prop("Oprettet af").email()

Person

Person

prop("Person")
prop("Person").at(0).name()
prop("Person").map(current.email())

Person (list)

Dato,
Tidspunkt for oprettelse,
Sidst redigeret

prop("Forfaldsdato") > now()
dateBetween(prop("Fødselsdag"), now(), "dage")

Dato

Tal

prop("Tal")/2
pi() * prop("Radius") ^ 2

Tal

Relation

prop("Opgaver").length()
prop("Opgaver").filter(current.prop("Status") !== "Færdig")

Page (list)

Rollup

prop("Køb").length()
prop("Gennemsnitlig omkostning") * 12

Tal, dato eller liste af enhver type. Afhænger af rollup-konfigurationen.

Indbyggede er specifikke symboler og værdier, der er indbygget i sproget for at hjælpe med at betegne en beregning.

Indbygget

Eksempel

Matematiske operatorer:+, -, *, %

2 * pi()"hej" + " verden "

Booleske værdier:
true, false

truefalse

Sammenligningsoperatorer:
==, >, >=, <, <=

123 == 123 = true"Notion" == "Motion" = false

Logiske operatorer:
and, or, not

and:true and false
true && false
and(true, false)
or:true or false
true || false
or(true, false)
not:not true
!true

Ternær operator:
?:

X ? Y : Z svarer til if(X, Y, Z)

Notion-formler understøtter følgende funktioner:

Navn

Beskrivelse

Eksempel

if

Returnerer den første værdi, hvis betingelsen er "sand", ellers returneres den anden værdi.

if(true, 1, 2) = 1if(false, 1, 2) = 2prop("Afkrydset") == true ? "Afsluttet" : "Ikke afsluttet"

ifs

Returnerer den værdi, der svarer til den første sande betingelse. Dette kan bruges som et alternativ til flere indlejrede if()-strenge.

ifs(true, 1, true, 2, 3) = 1ifs(false, 1, false, 2, 3) = 3

tom

Returnerer "sand", hvis værdien er tom. 0, "" og [] betragtes som tomme.

empty(0) = trueempty([]) = true

length

Returnerer længden af tekst- eller listeværdien.

length("hej") = 5length([1, 2, 3]) = 3

substring

Returnerer tekstens delstreng fra startindekset (inklusive) til slutindekset (valgfrit og eksklusivt).

substring("Notion", 0, 3) = "Not"substring("Notion", 3) = "ion"

indeholder

Returnerer "sand", hvis søgestrengen er til stede i værdien.

contains("Notion", "ot") = true

test

Returnerer "sand", hvis værdien matcher det regulære udtryk, og ellers "falsk".

test("Notion", "Not") = truetest("Notion", "\\d") = false

match

Returnerer alle matches af det regulære udtryk som en liste.

match("Notion Notion", "Not") = ["Not", "Not"]match("Notion 123 Notion 456", "\\d+") = ["123", "456"]

erstat

Erstatter det første match i det regulære udtryk med erstatningsværdien.

replace("Notion Notion", "N", "M") = "Motion Notion"

erstat alle

Erstatter alle matches i det regulære udtryk med erstatningsværdien.

replaceAll("Notion Notion", "N", "M") = "Motion Motion"replaceAll("Notion 123", "\\d", "") = "Notion"

lower

Konverterer teksten til små bogstaver.

lower("NOTION") = "notion"

upper

Konverterer teksten til store bogstaver.

upper("notion") = "NOTION"

repeat

Gentager teksten et givet antal gange.

repeat("0", 4) = "0000"repeat("~=", 10) = "~=~=~=~=~=~=~=~=~=~="

link

Opretter et hyperlink ud fra labelteksten og webadressen.

link("Notion", "https://notion.so") = "Notion"

style

Tilføjer stilarter og farver til teksten. Gyldige formateringsstilarter: "b" (fed), "u" (understreget), "i" (kursiv), "c" (kode), or "s" (gennemstreget). Gyldige farver: "gray", "brown", "orange", "yellow", "green", "blue", "purple", "pink" og "red". Tilføj "_background" til farver for at indstille baggrundsfarver.

style("Notion", "b", "u") = "Notion" style("Notion", "blue", "gray_background")

unstyle

Fjerner formateringsstilarter fra teksten. Hvis der ikke er angivet nogen stilarter, fjernes alle stilarter.

unstyle("Tekst")unstyle("Tekst", "b")

formater

Returnerer værdien formateret som tekst.

format(1234) = "1234"format(now()) = "August 30, 2023 17:55"

add

Returnerer summen af to tal.

add(5, 10) = 155 + 10 = 15

subtract

Returnerer forskellen mellem to tal.

subtract(5, 10) = -55 - 10 = -5

multiply

Returnerer produktet af to tal.

multiply(5, 10) = 505 * 10 = 50

mod

Returnerer det første tal modulo det andet tal.

mod(5, 10) = 55 % 10 = 5

pow

Returnerer resultatet af et grundtal opløftet til en eksponentpotens.

pow(5, 10) = 97656255 ^ 10 = 9765625

divide

Returnerer kvotienten af to tal.

divide(5, 10) = 0.55 / 10 = 0,5

min

Returnerer det mindste tal af argumenterne.

min(1, 2, 3) = 1min([1, 2, 3]) = 1

max

Returnerer det største tal af argumenterne.

max(1, 2, 3) = 3max([1, 2, 3]) = 3

sum

Returnerer summen af dens argumenter.

sum(1, 2, 3) = 6sum([1, 2, 3], 4, 5) = 15

median

Beregner middelværdien af argumenter.

median(1, 2, 4) = 2
median([1, 2, 3], 4) = 2,5

mean

Beregner gennemsnittet af argumenter.

mean(1, 2, 3) = 2
mean([1, 2, 3], 4, 5) = 3

abs

Returnerer den absolutte værdi af tallet.

abs(10) = 10abs(-10) = 10

round

Returnerer værdien af et tal afrundet til nærmeste heltal.

round(0,4) = 0round(-0,6) = -1

ceil

Returnerer det mindste heltal, der er større end eller lig med tallet.

ceil(0,4) = 1ceil(-0,6) = 0

floor

Returnerer det største heltal mindre end eller lig med tallet.

floor(0,4) = 0floor(-0,6) = -1

sqrt

Returnerer den positive kvadratrod af tallet.

sqrt(4) = 2sqrt(7) = 2,6457513110645907

cbrt

Returnerer kubikroden af tallet.

cbrt(9) = 2,080083823051904cbrt(64) = 4

exp

Returnerer e^x, hvor x er argumentet, og e er Eulers tal (2,718...), basis for den naturlige logaritme.

exp(1) = 2,718281828459045exp(-1) = 0,36787944117144233

ln

Returnerer den naturlige logaritme for tallet.

ln(2,718281828459045) = 1ln(10) = 2,302585092994046

log10

Returnerer base-10-logaritmen af tallet.

log10(10) = 1log10(100000) = 5

log2

Returnerer base-2-logaritmen af tallet.

log2(4) = 2log2(1024) = 10

sign

Returnerer 1, hvis tallet er positivt, -1, hvis det er negativt, og 0, hvis det er nul.

sign(-10) = -1sign(10) = 1

p

Returnerer forholdet mellem en cirkels omkreds og dens diameter.

pi() = 3.141592653589793

e

Returnerer basis af den naturlige logaritme.

e() = 2,718281828459045

toNumber

Analyserer et tal fra tekst.

toNumber("2") = 2toNumber(now()) = 1693443300000toNumber(true) = 1

now

Returnerer den aktuelle dato og det aktuelle klokkeslæt.

now() = @August 30, 2023 5:55 PM

today

Returnerer den aktuelle dato uden klokkeslæt.

today() = @April 19, 2024

minute

Returnerer minuttallet for datoen (0-59).

minute(parseDate("2023-07-10T17:35Z")) = 35

hour

Returnerer timen for datoen (0-23).

hour(parseDate("2023-07-10T17:35Z")) = 17

day

Returnerer ugedagen for datoen, mellem 1 (mandag) og 7 (søndag).

day(parseDate("2023-07-10T17:35Z")) = 1

date

Returnerer dagen i måneden fra datoen (1-31).

date(parseDate("2023-07-10T17:35Z")) = 10

week

Returnerer ISO-ugen i årstallet for datoen (1-53).

week(parseDate("2023-01-02")) = 1

month

Returnerer måneden for datoen (1-12).

month(parseDate("2023-07-10T17:35Z")) = 7

year

Returnerer årstallet for datoen.

year(now()) = 2023

dateAdd

Tilføjer tid til datoen. Enhedsargumentet kan være et af følgende: "years", "quarters", "months", "weeks", "days", "hours" eller "minutes".

dateAdd(now(), 1, "days") = @August 31, 2023 5:55 PMdateAdd(now(), 2, "months") = @October 30, 2023 5:55
PM
dateAdd(now(), 3, "years") = @August 30, 2026 5:55 PM

dateSubtract

Trækker tid fra datoen. Enhedsargumentet kan være et af følgende: "years", "quarters", "months", "weeks", "days", "hours" eller "minutes".

dateSubtract(now(), 1, "days") = @August 29, 2023 5:55 PMdateSubtract(now(), 2, "months") = @June 30, 2023 5:55 PMdateSubtract(now(), 3, "years") = @August 30, 2020 5:55 PM

dateBetween

Returnerer forskellen mellem to datoer. Enhedsargumentet kan være et af følgende: "years", "quarters", "months", "weeks", "days", "hours" eller "minutes".

dateBetween(now(), parseDate("2022-09-07"), "days") = 357dateBetween(parseDate("2030-01-01"), now(), "years") = 6

dateRange

Returnerer et datointerval konstrueret ud fra start- og slutdatoerne.

dateRange(prop("Startdato"), prop("Slutdato")) = @September 7, 2022 → September 7, 2023

dateStart

Returnerer starten af datointervallet.

dateStart(prop("Datointerval")) = @September 7, 2022dateBetween(dateStart(prop("Datointerval")), dateEnd(prop("Datointerval")), "days") = -365

dateEnd

Returnerer slutningen af datointervallet.

dateEnd(prop("Datointerval")) = @September 7, 2023dateBetween(dateEnd(prop("Datointerval")), dateStart(prop("Datointerval")), "days") = 365

timestamp

Returnerer det aktuelle Unix-tidsstempel, der repræsenterer antallet af millisekunder, der er gået siden 1. januar 1970.

timestamp(now()) = 1693443300000

fromTimestamp

Returnerer datoen fra det givne Unix-tidsstempel. Tidsstemplet repræsenterer antallet af millisekunder, der er gået siden 1. januar 1970. Bemærk: den returnerede dato vil ikke beholde sekunderne og millisekunderne.

fromTimestamp(1689024900000) = @July 10, 2023 2:35 PM

formatDate

Formaterer datoen ved hjælp af en brugerdefineret formatstreng. Formatstrengen kan indeholde følgende tekst for at repræsentere dele af datoen: "YYYY" for år, "MM" for måned, "DD" for day, "h" for time, "mm" for minut.

formatDate(now(), "MMMM D, Y") = "August 30, 2023"
formatDate(now(), "MM/DD/YYYY")
= "08/30/2023"
formatDate(now(), "h:mm A")
= "17:55 PM"

parseDate

Returnerer datoen analyseret i henhold til standarden ISO 8601.

parseDate("2022-01-01") = @January 1, 2022parseDate("2022-01-01T00:00Z") = @December 31, 2021 4:00 PM

name

Returnerer navnet på en person.

name(prop("Oprettet af"))prop("Pionerer").map(name(current)).join(", ") = "Grace Hopper, Ada Lovelace"

email

Returnerer e-mailadressen på en person.

email(prop("Oprettet af" ))
prop("Personer").map(email(current)).join(", ")

at

Returnerer værdien ved det angivne indeks i en liste.

at([1, 2, 3], 1) = 2

first

Returnerer det første element i listen.

first([1, 2, 3]) = 1

last

Returnerer det sidste element i listen.

last([1, 2, 3]) = 3

slice

Returnerer elementerne i listen fra det angivne startindeks (inklusive) til slutindekset (valgfrit og eksklusivt).

slice([1, 2, 3], 1, 2) = [2]slice(["a", "b", "c"], 1) = ["b", "c"]

concat

Returnerer sammenkædningen af flere lister.

concat([1, 2], [3, 4]) = [1, 2, 3, 4]concat(["a", "b"], ["c", "d"]) = ["a", "b", "c", "d"]

sort

Returnerer listen i sorteret rækkefølge.

sort([3, 1, 2]) = [1, 2, 3]

reverse

Returnerer den omvendte liste.

reverse(["grønt", "æg", "skinke"]) = ["skinke", "æg", "grønt"]

join

Returnerer værdierne i listen med sammenkæderen placeret mellem hver af værdierne.

join(["a", "b", "c"], ", ") = "a, b, c"join(["vov", "se"], "") = "vovse"

split

Returnerer listen over værdier, der er oprettet ved at opdele tekstinputtet via et skilletegn.

split("æble,pære,appelsin", ",") = ["æble", "pære", "appelsin"]

unique

Returnerer listen over unikke værdier i inputlisten.

unique([1, 1, 2]) = [1, 2]

includes

Returnerer "sand", hvis listen indeholder den angivne værdi, og "falsk" ellers.

includes(["a", "b", "c"], "b") = trueincludes([1, 2, 3], 4) = false

find

Returnerer det første element i listen, for hvilket betingelsen evalueres til true.

find(["a", "b", "c"], current == "b") = "b"find([1, 2, 3], current > 100) = Empty

findIndex

Returnerer indekset for det første element i listen, for hvilket betingelsen er "sand".

findIndex(["a", "b", "c"], current == "b") = 1findIndex([1, 2, 3], current > 100) = -1

filter

Returnerer de værdier i listen, for hvilke betingelsen er "sand".

filter([1, 2, 3], current > 1) = [2, 3]filter(["a", "b", "c"], current == "a") = ["a"]

some

Returnerer "sand", hvis et element i listen opfylder den givne betingelse, og ellers "falsk".

some([1, 2, 3], current == 2) = truesome(["a", "b", "c"], current.length > 2) = false

every

Returnerer "sand", hvis alle elementer i listen opfylder den givne betingelse, og ellers "falsk".

every([1, 2, 3], current > 0) = trueevery(["a", "b", "c"], current == "b") = false

map

Returnerer den liste, der er udfyldt med resultaterne af at kalde udtrykket på hvert element i inputlisten.

map([1, 2, 3], current + 1) = [2, 3, 4]map([1, 2, 3], current + index) = [1, 3, 5]

flat

Gør en liste af lister til en enkelt liste.

flat([1, 2, 3]) = [1, 2, 3]flat([[1, 2], [3, 4]]) = [1, 2, 3, 4]

id

Returnerer sidens id. Hvis der ikke er angivet en side, returneres id'et for den side, formlen er på.

id()
id(prop("Relation").first())

equal

Returnerer "sand", hvis begge værdier er ens, og ellers "falsk".

equal(1, 1) = true"a" == "b" = false

unequal

Returnerer "falsk", hvis begge værdier er ens, og ellers "sand".

unequal(1, 2) = true"a" != "a" = false

let

Tildeler en værdi til en variabel og evaluerer udtrykket ved hjælp af denne variabel.

let(person, "Alan", "Hej " + person + "!") = "Hej Alan!"let(radius, 4, round(pi() * radius ^ 2)) = 50

lets

Tildeler værdier til flere variabler og evaluerer udtrykket ved hjælp af disse variabler.

lets(a, "Hej", b, "verden", a + " " + b) = "Hej verden"lets(base, 3, height, 8, base * height / 2) = 12


Giv feedback

Var denne ressource nyttig?