תחביר ופונקציות של נוסחאות

באנר Hero של פונקציות נוסחאות
במאמר זה

נוסחאות של Notion יכולות לפעול באמצעות מאפיינים ופונקציות שונים. כאן תוכלו למצוא רשימה שלהם ➗


  • מחפשים את היסודות של נוסחאות ב-Notion? כדאי לעיין במאמר הזה ←

  • אם יש לכם נוסחה שככל הנראה אינה עובדת, אתם יכולים לקרוא על שגיאות נפוצות בנוסחאות ודרכים לפתור אותן במאמר הזה ←

אתם יודעים מה אתם רוצים שהנוסחה שלכם תעשה, אבל לא בטוחים איך לבנות אותה? אפשר להשתמש ב-Notion AI כדי ליצור ולערוך נוסחאות. מידע נוסף זמין כאן ←

נוסחאות של Notion יכולות לפעול באמצעות מאפיינים ופונקציות שונים. כאן תוכלו למצוא רשימה שלהם!

נוסחאות תומכות כמעט בכל סוגי המאפיינים. שימו לב שסוגי הנוסחאות שונים מסוגי המאפיינים.

סוגי מאפיינים

דוגמאות

סוג נוסחה

כותרת

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

טקסט

טקסט

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

טקסט

בחירה

prop("Priority") == "High"

טקסט

בחירה מרובה

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

טקסט (רשימה)

תיבת סימון

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

בוליאנית

אימייל, כתובת URL, מספר טלפון

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

טקסט

מזהה ייחודי

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

טקסט

נוצר על ידי,
נערך על ידי

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

אדם

אדם

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

אדם (רשימה)

תאריך,
זמן יצירה,
זמן עריכה אחרון

prop("Due Date") > now()
dateBetween(prop("Birthday"), now(), "days")

תאריך

מספר

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

מספר

יחס

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

דף (רשימה)

רול-אפ

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

מספר, תאריך או רשימה מכל סוג שהוא. תלוי בתצורת הרול-אפ.

פונקציות מובנות הן סמלים וערכים ספציפיים המובנים בשפה כדי לסייע בקביעת חישוב.

מובנה

דוגמה

מפעילי מתמטיקה:+, -, *, %

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

ערכים בוליאניים:
true, false

truefalse

מפעילי השוואה:
==, >, >=, <, <=

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

מפעילים לוגיים:
ו, או, לא

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

אופרטור טרנארי:
? :

X ? Y : Z שווה ערך ל- if(X, Y, Z)

נוסחאות של Notion תומכות בפונקציות הבאות.

שם

תיאור

דוגמה

if

מספקת את הערך הראשון אם התנאי הוא 'true'; במידה ולא, היא מספקת את הערך השני.

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

ifs

מחזירה את הערך המתאים לתנאי האמת הראשון. ניתן להשתמש בפונקציה זו כחלופה להצהרות משנה מרובות של if().

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

ריק

מחזירה 'true' אם הערך ריק. 0, "" ו-[] נחשבים ריקים.

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

אורך

מספקת את אורך הטקסט או את ערך הרשימה.

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

תת-מחרוזת

מספקת את תת-מחרוזת הטקסט מאינדקס ההתחלה (כולל) לאינדקס הסיום (אופציונלי ואקסלוסיבי).

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

מכיל

מספקת 'true' אם מחרוזת החיפוש קיימת בערך.

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

בדיקה

מספקת 'true' אם הערך תואם לביטוי הרגיל, ואם לא – 'false'.

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

match

מספקת את כל ההתאמות של הביטוי הרגיל כרשימה.

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

replace

מחליפה את ההתאמה הראשונה של הביטוי הרגיל בערך החלופי.

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

replaceAll

מחליפה את כל ההתאמות של הביטוי הרגיל בערך החלופי.

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

lower

ממירה את הטקסט לאותיות קטנות.

lower("NOTION") = "notion"

upper

ממירה את הטקסט לאותיות גדולות.

upper("notion") = "NOTION"

repeat

חוזרת על הטקסט מספר פעמים נתון.

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

link

יוצרת היפר-קישור מטקסט התווית ומכתובת ה-URL.

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

style

מוסיפה סגנונות וצבעים לטקסט. סגנונות עיצוב חוקיים: "b" (מודגש), "u" (קו תחתון), "i" (נטוי), "c" (קוד) או "s" (קו חוצה). צבעים חוקיים: "gray", "brown", "orange", "yellow", "green", "blue", "purple", "pink", and "red". יש להוסיף "_background" לצבעים כדי להגדיר צבעי רקע.

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

unstyle

מסירה סגנונות עיצוב מהטקסט. אם לא צוינו סגנונות, כל הסגנונות יוסרו.

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

format

מספקת את הערך בפורמט טקסט.

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

add

מספקת את הסכום של שני מספרים.

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

subtract

מחזירה את ההפרש בין שני מספרים.

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

multiply

מספקת את המכפלה של שני מספרים.

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

mod

מספקת את שארית החלוקה של המספר הראשון מהמספר השני.

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

pow

מספקת את התוצאה של מספר בסיס שהועלה בחזקה.

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

divide

מספקת את המנה של שני מספרים.

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

min

מספקת את המספר הקטן ביותר של הארגומנטים.

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

max

מספקת את המספר הגדול ביותר של הארגומנטים.

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

sum

מספקת את הסכום של הארגומנטים.

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

median

מספקת את הערך האמצעי של הארגומנטים שלה.

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

mean

מספקת את הממוצע האריתמטי של הארגומנטים.

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

abs

מספקת את הערך המוחלט של המספר.

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

round

מספקת את הערך של מספר מעוגל למספר השלם הקרוב ביותר. תומכת בארגומנט אחד או שניים. במקרה של שני ארגומנטים, הראשון מייצג את הערך והשני מייצג את מספר המקומות העשרוניים שאליהם יש לעגל.

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

ceil

מספקת את המספר השלם הקטן ביותר שגדול או שווה למספר.

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

floor

מספקת את המספר השלם הגדול ביותר שהוא פחות מהמספר או שווה לו.

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

sqrt

מספקת את השורש הריבועי החיובי של המספר.

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

cbrt

מספקת את השורש השלישי של המספר.

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

exp

מספקת e^x, כאשר x הוא הפרמטר, ו-e הוא מספר אוילר (2.718...), הבסיס של הלוגריתם הטבעי.

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

ln

מספקת את הלוגריתם הטבעי של המספר.

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

log10

מספקת את הלוגריתם של בסיס 10 של המספר.

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

log2

מספקת את הלוגריתם של בסיס 2 של המספר.

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

sign

מספקת 1 אם המספר חיובי, -1 אם הוא שלילי ו-0 אם הוא אפס.

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

pi

מחזירה את היחס בין היקף מעגל לקוטר שלו.

pi() = 3.141592653589793

e

מחזירה את בסיס הלוגריתם הטבעי.

e() = 2.718281828459045

toNumber

מנתחת מספר מטקסט.

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

עכשיו

מספקת את התאריך והשעה הנוכחיים.

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

היום

מספקת את התאריך הנוכחי ללא השעה.

today() = @April 19, 2024

דקה

מספקת את הדקה של התאריך (0-59).

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

שעה

מספקת את השעה של התאריך (0-23).

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

יום

מספקת את היום בשבוע של התאריך, בין 1 (יום שני) ל-7 (יום ראשון).

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

תאריך

מספקת את היום בחודש מהתאריך (1-31).

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

שבוע

מספקת את שבוע ה-ISO של שנת התאריך (1-53).

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

חודש

מספקת את החודש של התאריך (1-12).

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

שנה

מספקת את שנת התאריך.

year(now()) = 2023

dateAdd

מוסיפה זמן לתאריך. הארגומנט של היחידה יכול להיות אחד מהבאים:"years", "quarters", "months", "weeks", "days", "hours", or "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

מחסירה זמן מהתאריך. הארגומנט של היחידה יכול להיות אחד מהבאים:"years", "quarters", "months", "weeks", "days", "hours", or "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

מחזירה את ההפרש בין שני תאריכים. הארגומנט של היחידה יכול להיות אחד מהבאים:"years", "quarters", "months", "weeks", "days", "hours", or "minutes".

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

dateRange

מספקת טווח תאריכים שנבנה מתאריכי ההתחלה והסיום.

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

dateStart

מספקת את תחילת טווח התאריכים.

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

dateEnd

מספקת את סוף טווח התאריכים.

dateEnd(prop("Date range")) = @September 7, 2023dateBetween(dateEnd(prop("Date Range")), dateStart(prop("Date Range")), "days") = 365

timestamp

מספקת את חותמת הזמן הנוכחית של Unix, המייצגת את מספר המילישניות שחלפו מאז 1 בינואר 1970.

timestamp(now()) = 1693443300000

fromTimestamp

מחזירה את התאריך מחותמת הזמן הנתונה של Unix. חותמת הזמן מייצגת את מספר המילישניות שחלפו מאז 1 בינואר 1970. הערה: התאריך המוחזר לא ישמור את השניות והמילישניות.

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

formatDate

מעצבת את התאריך באמצעות מחרוזת פורמט מותאמת אישית. מחרוזת הפורמט יכולה להכיל את הטקסט הבא כדי לייצג חלקים מהתאריך: "YYYY" לשנה, "MM" לחודש, "DD" ליום, "h" לשעה, "mm" לדקה.

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

מספקת את התאריך בפורמט ISO 8601.

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

name

מספקת את שם האדם.

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

email

מספקת את כתובת האימייל של אדם.

email(prop("Created By"))prop("People").map(email(current)).join(", ")

ב-

מספקת את הערך באינדקס שצוין ברשימה.

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

first

מספקת את הפריט הראשון ברשימה.

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

האחרון

מספקת את הפריט האחרון ברשימה.

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

slice

מספקת את הפריטים של הרשימה מאינדקס ההתחלה שסופק (כולל) לאינדקס הסיום (אופציונלי ואקסלוסיבי).

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

concat

מספקת את הרצף של מספר רשימות.

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

מיון

מחזירה את הרשימה בסדר ממוין.

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

reverse

מספקת את הרשימה בסדר הפוך.

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

join

מספקת את הערכים של הרשימה כאשר המחבר ממוקם בין כל אחד מהערכים.

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

split

מספקת את רשימת הערכים שנוצרו על ידי פיצול קלט טקסט באמצעות מפריד.

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

ייחודי

מספקת את רשימת הערכים הייחודיים ברשימת הקלט.

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

includes

מספקת 'true' אם הרשימה מכילה את הערך שצוין, ואם לא – 'false'.

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

find

מספקת את הפריט הראשון ברשימה שעבורו התנאי הוא 'true'.

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

findIndex

מספקת את האינדקס של הפריט הראשון ברשימה שעבורו התנאי הוא 'true'.

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

filter

מספקת את הערכים ברשימה שעבורם התנאי הוא 'true'.

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

some

מספקת 'true' אם פריט כלשהו ברשימה עומד בתנאי הנתון, ואם לא – 'false'.

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

כל

מספקת 'true' אם כל פריט ברשימה עומד בתנאי הנתון, ואם לא – 'false'.

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

מפה

מספקת את הרשימה מלאה בתוצאות של קריאת הביטוי בכל פריט ברשימת הקלט.

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

flat

משטחת רשימה של רשימות לרשימה אחת.

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

id

מחזירה את המזהה של הדף. אם לא סופק דף, היא מחזירה את המזהה של הדף שבו נמצאת הנוסחה.

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

equal

מספקת 'true' אם שני הערכים שווים, ואם לא – 'false'.

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

unequal

מחזירה 'false' אם שני הערכים שווים, ואם לא – 'true'.

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

let

מקצה ערך למשתנה ומעריכה את הביטוי באמצעות משתנה זה.

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

lets

מקצה ערכים למשתנים מרובים ומעריכה את הביטוי באמצעות משתנים אלה.

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

trim

מסירה רווחים מתחילת וסוף הטקסט.

" notion ".trim() = "notion"


מתן משוב

האם המשאב הזה היה שימושי?