Formelsyntaks og funksjoner

Formelfunksjoner hero
I denne artikkelen

Notion-formler kan fungere på forskjellige egenskaper og funksjoner. Her finner du en liste over dem ➗


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.

Egenskapstyper

Eksempler

Formeltype

Tittel

prop("Tittel")prop("Tittel").length()

Tekst

Tekst

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

Tekst

Valg

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

Tekst

Flervalg

prop("Tagger").length( )
prop("Tagger").includes("Økonomi")

Text (list)

Avmerkingsboks

prop("Avmerkingsboks")
not prop("Avmerkingsboks")

Boolsk verdi

E-post, URL, telefonnummer

!empty(prop("Telefon"))
!empty(prop("E-post"))
link("Ring", "tlf:" + prop("Telefon"))

Tekst

Unik ID

prop("Oppgave-ID").split("-").first( ) ← Prefix
prop("Oppgave-ID").split("-").last() ← ID

Tekst

Opprettet av,
Redigert av

prop("Opprettet av").name()
prop("Opprettet av").email()

Person

Person

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

Person (list)

Dato,
Tidspunkt for opprettelse,
Sist redigert

prop("Frist") > now()
dateBetween(prop("Fødselsdag"), now(), "days")

Dato

Tall

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

Tall

Relasjon

prop("Oppgaver").length()
prop("Oppgaver").filter(current.prop("Status") !== "Ferdig")

Page (list)

Rollup

prop("Innkjøp").length()
prop("Gjennomsnittskostnad") * 12

Tall, dato eller enhver liste. Avhenger av rollup-konfigurasjonen.

Innbygginger er spesifikke symboler og verdier som er bygget inn i språket for å hjelpe til med å betegne en beregning.

Innebygd

Eksempel

Matematiske operatorer:+, -, *, %

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

Boolske verdier:
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 er ekvivalent med if(X, Y, Z)

Notion-formler støtter følgende funksjoner.

Navn

Beskrivelse

Eksempel

if

Returnerer den første verdien hvis betingelsen er sann; ellers returnerer den andre verdien.

if(true, 1, 2) = 1if(false, 1, 2) = 2prop("Avmerket") == true ? "Ferdig" : "Uferdig"

ifs

Returnerer verdien som tilsvarer den første sanne betingelsen. Dette kan brukes som et alternativ til flere nestede if()-setninger.

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

empty

Returnerer sann hvis verdien er tom. 0, "", og [] anses som tomme.

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

length

Returnerer lengden på teksten eller listeverdien.

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

substring

Returnerer delstrengen til teksten fra startindeksen (inkludert) til sluttindeksen (valgfritt og eksklusivt).

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

contains

Returnerer true hvis søkestrengen er til stede i verdien.

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

test

Returnerer true hvis verdien samsvarer med det regulære uttrykket og usann ellers.

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

match

Returnerer alle treff i det regulære uttrykket som en liste.

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

replace

Erstatter det første treffet av det regulære uttrykket med erstatningsverdien.

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

replaceAll

Erstatter alle treff i et regulært uttrykk med erstatningsverdien.

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

lower

Konverterer teksten til små bokstaver.

lower("NOTION") = "notion"

upper

Konverterer teksten til store bokstaver.

upper("notion") = "NOTION"

repeat

Gjentar teksten et gitt antall ganger.

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

link

Oppretter en hyperlenke fra etiketteksten og URL-en.

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

style

Legger til stiler og farger i teksten. Gyldige formateringsstiler: "b" (fet), "u" (understreking), "i" (kursiv), "c" (kode), or "s" (gjennomstreking). Gyldige farger: "gray", "brown", "orange", "yellow", "green", "blue", "purple", "pink" og "red". Legg til "_background" til farger for å angi bakgrunnsfarger.

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

unstyle

Fjerner formateringsstiler fra teksten. Hvis ingen stiler er angitt, fjernes alle stiler.

unstyle("Text")unstyle("Text", "b")

format

Returnerer verdien formatert som tekst.

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

add

Returnerer summen av to tall.

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

subtract

Returnerer differansen av to tall.

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

multiply

Returnerer produktet av to tall.

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

mod

Returnerer første tallmodulus for det andre tallet.

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

pow

Returnerer resultatet av et grunntall opphøyet i en potens.

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

divide

Returnerer kvotienten av to tall.

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

min

Returnerer det minste tallet av argumentene.

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

max

Returnerer det største tallet av argumentene.

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

sum

Returnerer summen av argumentene.

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

median

Returnerer den midterste verdien av argumentene.

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

mean

Returnerer det aritmetiske gjennomsnittet av argumentene.

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

abs

Returnerer den absolutte verdien av tallet.

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

round

Returnerer verdien av et tall avrundet til nærmeste heltall.

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

ceil

Returnerer det minste heltall større enn eller lik tallet.

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

floor

Returnerer det største heltall mindre enn eller lik tallet.

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

sqrt

Returnerer den positive kvadratroten av tallet.

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

cbrt

Returnerer kubikkroten av tallet.

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

exp

Returnerer e^x, der x er argumentet, og e er Eulers tall (2,718 ...), grunnlaget for den naturlige logaritmen.

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

ln

Returnerer den naturlige logaritmen til tallet.

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

log10

Returnerer tallets logaritme med grunntall 10.

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

log2

Returnerer logaritmen til tallet med grunntall 2.

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

sign

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

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

pi

Returnerer forholdet mellom omkretsen og diameteren til en sirkel.

pi() = 3,141592653589793

e

Returnerer grunntallet for den naturlige logaritmen.

e() = 2,718281828459045

toNumber

Analyserer et tall fra tekst.

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

now

Returnerer gjeldende dato og klokkeslett.

nå() = @30. august, 2023 17:55

today

Returnerer gjeldende dato uten klokkeslett.

today() = @19. april, 2024

minute

Returnerer minuttet for datoen (0–59).

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

hour

Returnerer klokkeslettet for datoen (0–23).

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

day

Returnerer ukedagen for datoen, mellom 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-uken for året 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 året for datoen.

year(now()) = 2023

dateAdd

Legger til tidspunkt i datoen. Enhetsargumentet kan være ett av følgende: "years", "quarters", "months", "weeks", "days", "hours" eller "minutes".

dateAdd(now(), 1, "days") = @31. august 2023 17:55dateAdd(now(), 2, "months") = @30. oktober 2023 17:55
dateAdd(now(), 3, "years") = @30. august 2026 17:55

dateSubtract

Trekker fra klokkeslett fra datoen. Enhetsargumentet kan være ett av følgende: "years", "quarters", "months", "weeks", "days", "hours" eller "minutes".

dateSubtract(now(), 1, "days") = @29. august 2023 17:55dateSubtract(now(), 2, "months") = @30. juni 2023 17:55
dateSubtract
(now(), 3, "years") = @30. august 2020 17:55

dateBetween

Returnerer forskjellen mellom to datoer. Enhetsargumentet kan være ett av 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

Datointervall

Returnerer en datoperiode definert av start- og sluttdatoene.

dateRange(prop("Startdato"), prop("Sluttdato")) = @7. september 2022 → 7. september 2023

dateStart

Returnerer starten av datoperioden.

dateStart(prop("Datointervall")) = @7. september 2022dateBetween(dateStart(prop("Datointervall")), dateEnd(prop("Datointervall")), "days") = -365

dateEnd

Returnerer slutten av datoperioden.

dateEnd(prop("Datointervall")) = @7. september, 2023dateBetween(dateEnd(prop("Datointervall")), dateStart(prop("Datointervall")), "days") = 365

tidsstempel

Returnerer gjeldende Unix-tidsstempel, som representerer antall millisekunder som har gått siden 1. januar 1970.

timestamp(now()) = 1693443300000

fromTimestamp

Returnerer datoen fra det gitte Unix-tidsstempelet. Tidsstemplet representerer antall millisekunder som har gått siden 1. januar 1970. NB! Den returnerte datoen vil ikke beholde sekunder og millisekunder.

fromTimestamp(1689024900000) = @10. juli 2023 14:35

formatDate

Formaterer datoen ved hjelp av en egendefinert formatstreng. Formatstrengen kan inneholde følgende tekst for å representere deler av datoen: "YYYY" for år, "MM" for måned, "DD" for dag, "h" for time, "mm" for minutt.

formatDate(now(), "MMMM D, Y" ) = "30. august, 2023"
formatDate(now(), "MM/DD/YYYYY"
) = "08/30/2023"
formatDate(now(), "h:mm A")
= "17:55"

parseDate

Returnerer datoen analysert i henhold til ISO 8601-standarden.

parseDate("2022-01-01") = @1. januar, 2022parseDate("2022-01-01T00:00Z") = @31. desember, 2021 16:00

name

Returnerer navnet på en person.

name(prop("Opprettet av"))prop("Pionærer").map(name(current)).join(", ") = "Grace Hopper, Ada Lovelace"

email

Returnerer e-postadressen til en person.

email(prop("Opprettet av" ))
prop("Personer").map(email(current)).join(", ")

at

Returnerer verdien ved den angitte indeksen i en liste.

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

first

Returnerer det første elementet i listen.

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

last

Returnerer det siste elementet i listen.

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

slice

Returnerer elementene i listen fra den oppgitte startindeksen (inkludert) til sluttindeksen (valgfritt og eksklusivt).

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

concat

Returnerer sammenføyningen av flere lister.

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

Sorter

Returnerer listen i sortert rekkefølge.

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

reverse

Returnerer den reverserte listen.

reverse(["grønn", "egg", "skinke"]) = ["skinke", "egg", "grønn"]

join

Returnerer verdiene i listen, med forbindelsen plassert mellom hver av dem.

join(["a", "b", "c"], ", ") = "a, b, c"join(["vof", "sen"], "") = "vofsen"

split

Returnerer listen over verdier som er opprettet ved å dele tekstinndata med et skilletegn.

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

unique

Returnerer listen over unike verdier i inndatalisten.

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

includes

Returnerer true hvis listen inneholder den angitte verdien, og false ellers.

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

find

Returnerer det første elementet i listen hvor betingelsen vurderes som true.

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

findIndex

Returnerer indeksen til det første elementet i listen der betingelsen er true.

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

filter

Returnerer verdiene i listen der betingelsen er true.

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

some

Returnerer true hvis et element i listen oppfyller den gitte betingelsen, og ellers false.

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

every

Returnerer true hvis hvert element i listen oppfyller den gitte betingelsen, og ellers false.

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

map

Returnerer listen fylt ut med resultatene av å kalle uttrykket på hvert element i inndatalisten.

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

flat

Slår sammen flere lister til én liste.

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

id

Returnerer ID-en til siden. Hvis ingen side er oppgitt, returneres ID-en til siden formelen er på.

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

equal

Returnerer true hvis begge verdiene er like og false ellers.

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

unequal

Returnerer false hvis begge verdiene er like og true ellers.

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

let

Tildeler en variabel en verdi og evaluerer uttrykket ved å bruke denne variabelen.

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

lets

Tildeler verdier til flere variabler og evaluerer uttrykket ved å bruke disse variablene.

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


Gi tilbakemelding

Var denne ressursen nyttig?