Sintassi delle formule e funzioni

In questo articolo di supporto

Le formule di Notion possono operare su varie proprietà e funzioni. Qui ne troverai un elenco ➗


  • Looking for Notion formula basics? Check out this article →

  • If you have a formula that doesn't seem to work, learn about common formula errors and how to troubleshoot them in this article →

Know what you want your formula to do, but not sure how to build it? You can use Notion AI to create and edit formulas. Learn more here →

Le formule di Notion possono operare utilizzando varie proprietà e funzioni. Qui ne troverai un elenco!

Le formule supportano quasi tutti i tipi di proprietà. Nota che i tipi di formula sono diversi dai tipi di proprietà.

Tipi di proprietà

Esempi

Tipo di formula

Titolo

prop("Title")prop("Title").length()

Testo

Testo

prop(\"Text\")prop(\"Text\").length()

Testo

Seleziona

prop("Priority") == "High"

Testo

Selezione multipla

prop(\"Tags\").length()prop(\"Tags\").includes(\"Finance\")

Testo (elenco)

Casella

prop(\"Checkbox\")
not prop(\"Checkbox\")

Booleano

Email, URL, Numero di telefono

!empty(prop(\"Phone\"))
!empty(prop(\"Email\"))
link(\"chiamata\", \"tel:\" + prop(\"Phone\"))

Testo

ID univoco

prop(\"Task ID\").split(\"-\").first() ← Prefisso
prop(\"Task ID\").split(\"-\").last() ← ID

Testo

Creato da,
Modificato da

prop(\"Created By\").name()
prop(\"Created By\").email()

Persona

Persona

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

Persona (elenco)

Data,
Data di creazione,
Ultima modifica

prop(\"Scadenza\") > now()
dateBetween(prop(\"compleanno\"), now(), \"days\")

Data

Numero

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

Numero

Relazione

prop("Tasks").length()
prop("Tasks").filter(current.prop("Status") !== "Done")

Pagina (elenco)

Rollup

prop(\"Purchases\").length()
prop(\"Average cost\") * 12

Numero, data o elenco di qualsiasi tipo. Dipende dalla configurazione del rollup.

I simboli e i valori incorporati sono elementi specifici integrati nella lingua per aiutare a designare un calcolo.

Integrato

Esempio

Operatori matematici:+, -, *, %

2 * pi()"hello" + "world"

Valori booleani:
true, false

truefalse

Operatori di confronto:
==, >, >=, <, <=

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

Operatori logici:
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

Operatore ternario:
? :

X ? Y : Z è equivalente a if(X, Y, Z)

Le formule di Notion sono compatibili con le seguenti funzioni.

Nome

Descrizione

Esempio

if

Restituisce il primo valore se la condizione è true; in caso contrario, restituisce il secondo valore.

if(true, 1, 2) = 1if(false, 1, 2) = 2prop("Checked") == true ? "Complete" : "Incomplete"

ifs

Restituisce il valore che corrisponde alla prima condizione vera. Può essere utilizzato come alternativa a più istruzioni if() nidificate.

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

vuoto

Restituisce true se il valore è vuoto. 0, “”, e [] sono considerati vuoti.

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

length

Restituisce la lunghezza del testo o del valore dell'elenco.

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

sottostringa

Restituisce la sottostringa del testo, dall'indice iniziale (incluso) all'indice finale (facoltativo ed escluso).

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

contiene

Restituisce true se la stringa di ricerca è presente nel valore.

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

test

Restituisce true se il valore corrisponde all'espressione regolare e false in caso contrario.

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

match

Restituisce tutte le corrispondenze dell'espressione regolare sotto forma di elenco.

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

replace

Sostituisce la prima corrispondenza dell'espressione regolare con il valore di sostituzione.

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

replaceAll

Sostituisce tutte le corrispondenze dell'espressione regolare con il valore di sostituzione.

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

lower

Converte il testo in minuscolo.

lower(\"NOTION\") = \"notion\"

upper

Converte il testo in maiuscolo.

upper(\"notion\") = \"NOTION\"

ripeti

Ripete il testo un numero di volte specificato.

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

link

Crea un collegamento ipertestuale a partire dal testo dell'etichetta e dall'URL.

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

style

Aggiunge stili e colori al testo. Stili di formattazione validi: \"b\" (grassetto), \"u\" (sottolineato), \"i\" (corsivo), \"c\" (codice) o \"s\" (barrato). Colori validi: \"gray\", \"brown\", \"orange\", \"yellow\", \"green\", \"blue\", \"purple\", \"pink\" e \"red\". Aggiungi \"_background\" ai colori per impostare lo sfondo.

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

unstyle

Rimuove gli stili di formato dal testo. Se non viene specificato alcuno stile, tutti gli stili vengono rimossi.

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

format

Restituisce il valore formattato come testo.

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

aggiungere

Restituisce la somma di due numeri.

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

subtract

Restituisce la differenza di due numeri.

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

multiply

Restituisce il prodotto di due numeri.

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

mod

Restituisce il primo numero modulo il secondo numero.

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

pow

Restituisce il risultato di un numero base elevato alla potenza di un esponente.

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

divide

Restituisce il quoziente di due numeri.

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

min

Restituisce il numero più piccolo tra gli argomenti.

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

max

Restituisce il numero più grande tra gli argomenti.

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

sum

Restituisce la somma dei suoi argomenti.

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

mediana

Restituisce il valore medio dei suoi argomenti.

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

media

Restituisce la media aritmetica dei suoi argomenti.

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

abs

Restituisce il valore assoluto del numero.

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

round

Restituisce il valore di un numero arrotondato all'intero più vicino. Supporta uno o due argomenti. Nel caso di due argomenti, il primo rappresenta il valore e il secondo rappresenta il numero di cifre decimali a cui arrotondare.

round(0.4) = 0round(-0.6) = -1
round(1.234, 0)
= 1round(1.234, 2) = 1.23round(1234, -2) = 1200

ceil

Restituisce il numero intero più piccolo maggiore o uguale al numero.

ceil(0.4) = 1ceil(-0.6) = 0

floor

Restituisce il numero intero più grande minore o uguale al numero.

floor(0.4) = 0floor(-0.6) = -1

sqrt

Restituisce la radice quadrata positiva del numero.

sqrt(4) = 2sqrt(7) = 2.6457513110645907

cbrt

Restituisce la radice cubica del numero.

cbrt(9) = 2.080083823051904cbrt(64) = 4

exp

Restituisce e^x, dove x è l'argomento ed e è la costante di Eulero (2.718…), la base del logaritmo naturale.

exp(1) = 2.718281828459045exp(-1) = 0.36787944117144233

ln

Restituisce il logaritmo naturale del numero.

ln(2.718281828459045) = 1ln(10) = 2.302585092994046

log10

Restituisce il logaritmo in base 10 del numero.

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

log2

Restituisce il logaritmo in base 2 del numero.

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

sign

Restituisce 1 se il numero è positivo, -1 se è negativo e 0 se è zero.

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

pi

Restituisce il rapporto tra la circonferenza e il diametro di un cerchio.

pi() = 3.141592653589793

e

Restituisce la base del logaritmo naturale.

e() = 2.718281828459045

toNumber

Analizza un numero ricavato dal testo.

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

ora

Restituisce la data e l'ora correnti.

now() = @30 agosto 2023 17:55

oggi

Restituisce la data corrente senza l'ora.

today() = @19 aprile 2024

minuto

Restituisce i minuti della data (0-59).

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

ora

Restituisce l'ora della data (0-23).

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

giorno

Restituisce il giorno della settimana della data, compreso tra 1 (lunedì) e 7 (domenica).

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

data

Restituisce il giorno del mese dalla data (1-31).

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

settimana

Restituisce la settimana ISO dell'anno della data (1-53).

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

mese

Restituisce il mese della data (1-12).

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

anno

Restituisce l'anno della data.

year(now()) = 2023

dateAdd

Aggiunge tempo alla data. L'argomento dell'unità può essere uno dei seguenti: "anni", "trimestri", "mesi", "settimane", "giorni", "ore" o "minuti".

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

dateSubtract

Sottrae tempo dalla data. L'argomento dell'unità può essere uno dei seguenti: "anni", "trimestri", "mesi", "settimane", "giorni", "ore" o "minuti".

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

dateBetween

Restituisce la differenza tra due date. L'argomento dell'unità può essere uno dei seguenti: "anni", "trimestri", "mesi", "settimane", "giorni", "ore" o "minuti".

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

dateRange

Restituisce un intervallo di date costruito a partire dalle date di inizio e di fine.

dateRange(prop("Start Date"), prop("End Date")) = @7 settembre 2022 → 7 settembre 2023

dateStart

Restituisce l'inizio di un intervallo di date.

dateStart(prop("intervallo di date")) = @7 settembre 2022dateBetween(dateStart(prop("intervallo di date")), dateEnd(prop("intervallo di date")), "days") = -365

dateEnd

Restituisce la fine di un intervallo di date.

dateEnd(prop("intervallo di date")) = @7 settembre 2023dateBetween(dateEnd(prop("intervallo di date")), dateStart(prop("intervallo di date")), "days") = 365

timestamp

Restituisce il timestamp Unix corrente, che rappresenta il numero di millisecondi trascorsi dal 1° gennaio 1970.

timestamp(now()) = 1693443300000

fromTimestamp

Restituisce la data dal timestamp Unix fornito. Il timestamp rappresenta il numero di millisecondi trascorsi dal 1 gennaio 1970. Nota: la data restituita non manterrà i secondi e i millisecondi.

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

formatDate

Formatta la data utilizzando una stringa di formato personalizzata. La stringa di formato può contenere il seguente testo per rappresentare parti della data: "YYYY" per l'anno, "MM" per il mese, "DD" per il giorno, "h" per l'ora, "mm" per il minuto.

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

formatNumber

\"Revenue: \" + formatNumber(prop(\"Number\"), \"usd\", 0).style(\"green\")

parseDate

Restituisce la data interpretata in base allo standard ISO 8601.

parseDate("2022-01-01") = @1 gennaio 2022parseDate("2022-01-01T00:00Z") = @31 dicembre 2021 16:00

name

Restituisce il nome di una persona.

name(prop("Created By"))prop("Pioneers").map(name(current)).join(", ") = "Grace Hopper, Ada Lovelace"

email

Restituisce l'indirizzo e-mail di una persona.

email(prop("creato da"))prop("Persone").map(email(current)).join(", ")

alle

Restituisce il valore corrispondente all'indice specificato in un elenco.

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

first

Restituisce il primo elemento dell'elenco.

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

ultimo

Restituisce l'ultimo elemento dell'elenco.

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

slice

Restituisce gli elementi dell'elenco, dall'indice iniziale fornito (incluso) all'indice finale (facoltativo ed escluso).

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

concat

Restituisce la concatenazione di più elenchi.

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

ordina

Restituisce l'elenco in ordine.

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

reverse

Restituisce l'elenco invertito.

reverse(["green", "eggs", "ham"]) = ["ham", "eggs", "green"]

join

Restituisce i valori dell'elenco con il separatore posizionato tra ciascuno dei valori.

join(["a", "b", "c"], ", ") = "a, b, c"join(["dog", "go"], "") = "doggo"

split

Restituisce l'elenco dei valori creati dividendo un input di testo in base a un separatore.

split("apple,pear,orange", ",") = ["apple", "pear", "orange"]

univoco

Restituisce l'elenco dei valori univoci nell'elenco di input.

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

includes

Restituisce true se l'elenco contiene il valore specificato e false in caso contrario.

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

trova

Restituisce il primo elemento dell'elenco per il quale la condizione restituisce true.

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

findIndex

Restituisce l'indice del primo elemento dell'elenco per il quale la condizione restituisce true.

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

Filtra

Restituisce i valori dell'elenco per i quali la condizione è true.

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

some

Restituisce true se un elemento dell'elenco soddisfa la condizione specificata e false in caso contrario.

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

ogni

Restituisce true se ogni elemento dell'elenco soddisfa la condizione specificata e false in caso contrario.

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

map

Restituisce l'elenco popolato con i risultati della chiamata all'espressione per ogni elemento dell'elenco di input.

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

flat

Appiattisce un elenco di elenchi in un unico elenco.

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

id

Restituisce l'ID della pagina. Se non viene fornita alcuna pagina, restituisce l'ID della pagina in cui si trova la formula.

id()
id(prop(\"Relazione\").first())

equal

Restituisce true se entrambi i valori sono uguali e false in caso contrario.

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

unequal

Restituisce false se entrambi i valori sono uguali e true in caso contrario.

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

let

Assegna un valore a una variabile e valuta l'espressione utilizzando tale variabile.

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

lets

Assegna valori a più variabili e valuta l'espressione utilizzando tali variabili.

lets(a, \"Hello\", b, \"world\", a + \" \" + b) = \"Hello world\"lets(base, 3, height, 8, base * height / 2) = 12

trim

Rimuove gli spazi iniziali e finali del testo.

\" notion \".trim() = \"notion\"


Lascia un feedback

Ti è stata utile questa risorsa?