Cú pháp công thức & hàm

Trong tài liệu trợ giúp này

Công thức Notion có thể hoạt động trên nhiều thuộc tính và hàm khác nhau. Tại đây, bạn sẽ tìm thấy danh sách các thuộc tính và hàm đó ➗


  • 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 →

Công thức Notion có thể hoạt động bằng cách sử dụng nhiều thuộc tính và hàm khác nhau. Tại đây, bạn sẽ tìm thấy danh sách các thuộc tính và hàm đó!

Công thức hỗ trợ hầu hết các loại thuộc tính. Lưu ý rằng các loại công thức khác với các loại thuộc tính.

Loại thuộc tính

Ví dụ:

Loại công thức

Tiêu đề

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

Văn bản

Văn bản

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

Văn bản

Chọn

prop(\"Priority\") == \"High\"

Văn bản

Đa lựa chọn

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

Văn bản (danh sách)

Hộp kiểm

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

Boolean

Email, URL, Số điện thoại

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

Văn bản

ID duy nhất

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

Văn bản

Được tạo bởi,
Được chỉnh sửa bởi

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

Người

Người

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

Người (danh sách)

Ngày,
Thời gian tạo,
Thời gian chỉnh sửa lần cuối

prop("hạn chót/ngày đến hạn") > now()
dateBetween(prop("Sinh nhật"), now(), "days")

Ngày

Số

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

Số

Quan hệ

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

Trang (danh sách)

Rollup

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

Số, ngày tháng hoặc danh sách thuộc bất kỳ loại nào. Phụ thuộc vào cấu hình rollup.

Các hàm tích hợp là các ký hiệu và giá trị cụ thể được tích hợp sẵn trong ngôn ngữ để giúp chỉ định một phép tính.

Built-in

Ví dụ

Toán tử toán học:+, -, *, %

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

Giá trị boolean:
true, false

truefalse

Toán tử so sánh:
==, >, >=, <, <=

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

Toán tử logic:
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

Toán tử ba ngôi:
? :

X ? Y : Z tương đương với if(X, Y, Z)

Notion formulas hỗ trợ các hàm sau.

Tên

Mô tả

Ví dụ

if

Trả về giá trị đầu tiên nếu điều kiện là đúng; nếu không, trả về giá trị thứ hai.

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

ifs

Trả về giá trị tương ứng với điều kiện đúng đầu tiên. Hàm này có thể được sử dụng như một giải pháp thay thế cho nhiều câu lệnh if() lồng nhau.

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

trống

Trả về true nếu giá trị trống. 0, “”, và [] được coi là trống.

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

length

Trả về độ dài của giá trị văn bản hoặc danh sách.

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

substring

Trả về chuỗi con của văn bản từ chỉ mục bắt đầu (bao gồm) đến chỉ mục kết thúc (tùy chọn và không bao gồm).

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

chứa

Trả về true nếu chuỗi tìm kiếm có trong giá trị.

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

test

Trả về true nếu giá trị khớp với biểu thức chính quy và false nếu ngược lại.

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

match

Trả về tất cả các kết quả khớp của biểu thức chính quy dưới dạng danh sách.

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

replace

Thay thế kết quả khớp đầu tiên của biểu thức chính quy bằng giá trị thay thế.

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

replaceAll

Thay thế tất cả các kết quả khớp của biểu thức chính quy bằng giá trị thay thế.

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

lower

Chuyển đổi văn bản thành chữ thường.

lower("NOTION") = "notion"

upper

Chuyển đổi văn bản thành chữ hoa.

upper("notion") = "NOTION"

lặp lại

Lặp lại văn bản một số lần nhất định.

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

link

Tạo một liên kết từ nhãn và URL.

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

style

Thêm định dạng và màu sắc cho văn bản. Các kiểu định dạng hợp lệ: \"b\" (in đậm), \"u\" (gạch dưới), \"i\" (nghiêng), \"c\" (mã), hoặc \"s\" (gạch xuyên). Màu sắc hợp lệ: \"gray\", \"brown\", \"orange\", \"yellow\", \"green\", \"blue\", \"purple\", \"pink\"\"red\". Thêm \"_background\" vào màu sắc để đặt màu nền.

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

unstyle

Loại bỏ các kiểu định dạng khỏi văn bản. Nếu không có kiểu nào được chỉ định, tất cả các kiểu sẽ bị loại bỏ.

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

format

Trả về giá trị được định dạng dưới dạng văn bản.

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

thêm

Trả về tổng của hai số.

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

subtract

Trả về hiệu của hai số.

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

multiply

Trả về tích của hai số.

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

mod

Trả về số dư của phép chia số thứ nhất cho số thứ hai.

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

pow

Trả về kết quả của một số cơ số được nâng lên lũy thừa.

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

divide

Trả về thương của hai số.

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

min

Trả về số nhỏ nhất trong các đối số.

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

max

Trả về số lớn nhất trong các đối số.

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

sum

Trả về tổng các đối số của nó.

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

median

Trả về giá trị trung vị của các đối số.

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

mean

Trả về trung bình cộng của các đối số.

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

abs

Trả về giá trị tuyệt đối của số đó.

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

round

Trả về giá trị của một số được làm tròn đến số nguyên gần nhất. Hỗ trợ một hoặc hai đối số. Trong trường hợp hai đối số, đối số thứ nhất đại diện cho giá trị và đối số thứ hai đại diện cho số chữ số thập phân cần làm tròn đến.

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

ceil

Trả về số nguyên nhỏ nhất lớn hơn hoặc bằng số đó.

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

floor

Trả về số nguyên lớn nhất nhỏ hơn hoặc bằng số đó.

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

sqrt

Trả về căn bậc hai dương của số đó.

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

cbrt

Trả về căn bậc ba của số đó.

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

exp

Trả về e^x, trong đó x là đối số và e là số Euler (2,718…), cơ số của logarit tự nhiên.

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

ln

Trả về logarit tự nhiên của số đó.

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

log10

Trả về logarit cơ số 10 của số đó.

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

log2

Trả về logarit cơ số 2 của số đó.

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

sign

Trả về 1 nếu số đó dương, -1 nếu số đó âm và 0 nếu số đó bằng 0.

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

pi

Trả về tỷ lệ chu vi của đường tròn so với đường kính.

pi() = 3.141592653589793

e

Trả về cơ số của logarit tự nhiên.

e() = 2.718281828459045

toNumber

Phân tích một số từ văn bản.

toNumber("2") = 2toNumber(@bây giờ()) = 1693443300000toNumber(true) = 1

hiện tại

Trả về ngày và giờ hiện tại.

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

hôm nay

Trả về ngày hiện tại không bao gồm giờ.

hôm nay() = @April 19, 2024

minute

Trả về phút của ngày (0-59).

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

giờ

Trả về giờ của ngày (0-23).

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

ngày

Trả về ngày trong tuần của ngày đó, từ 1 (Thứ Hai) đến 7 (Chủ Nhật).

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

ngày

Trả về ngày trong tháng từ ngày đó (1-31).

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

tuần

Trả về tuần ISO trong năm của ngày đó (1-53).

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

tháng

Trả về tháng của ngày đó (1-12).

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

năm

Trả về năm của ngày đó.

year(now()) = 2023

dateAdd

Thêm thời gian vào ngày. Đối số đơn vị có thể là: "years", "quarters", "months", "weeks", "days", "hours" hoặc "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ừ thời gian khỏi ngày. Đối số đơn vị có thể là: "years", "quarters", "months", "weeks", "days", "hours" hoặc "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

Trả về khoảng cách giữa hai ngày. Đối số đơn vị có thể là: "years", "quarters", "months", "weeks", "days", "hours" hoặc "minutes".

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

dateRange

Trả về một phạm vi ngày được tạo từ ngày bắt đầu và ngày kết thúc.

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

dateStart

Trả về ngày bắt đầu của phạm vi ngày.

dateStart(prop("phạm vi ngày")) = @7 Tháng 9, 2022dateBetween(dateStart(prop("phạm vi ngày")), dateEnd(prop("phạm vi ngày")), "days") = -365

dateEnd

Trả về ngày kết thúc của phạm vi ngày.

dateEnd(prop("phạm vi ngày")) = @7 Tháng 9, 2023dateBetween(dateEnd(prop("phạm vi ngày")), dateStart(prop("phạm vi ngày")), "days") = 365

timestamp

Trả về dấu thời gian Unix hiện tại, biểu thị số mili giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970.

timestamp(now()) = 1693443300000

fromTimestamp

Trả về ngày từ dấu thời gian Unix đã cho. Dấu thời gian biểu thị số mili giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970. Lưu ý: ngày được trả về sẽ không giữ lại giây & mili giây.

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

formatDate

Định dạng ngày bằng chuỗi định dạng tùy chỉnh. Chuỗi định dạng có thể chứa các thành phần văn bản sau để biểu thị các phần của ngày: \"YYYY\" cho năm, \"MM\" cho tháng, \"DD\" cho ngày, \"h\" cho giờ, \"mm\" cho phút.

formatDate(now(), \"MMMM D, Y\") = \"30 Tháng 8, 2023\"
formatDate(now(), \"MM/DD/YYYY\")
= \"08/30/2023\"
formatDate(now(), \"h:mm A\")
= \"17:55 CH\"

formatNumber

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

parseDate

Trả về ngày được phân tích cú pháp theo tiêu chuẩn ISO 8601.

parseDate(\"2022-01-01\") = @1 Tháng 1, 2022parseDate(\"2022-01-01T00:00Z\") = @31 Tháng 12, 2021 4:00 CH

name

Trả về tên của một người.

name(prop("Được tạo bởi"))prop("Pioneers").map(name(current)).join(", ") = "Grace Hopper, Ada Lovelace"

email

Trả về địa chỉ email của một người.

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

lúc

Trả về giá trị tại chỉ mục được chỉ định trong một danh sách.

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

first

Trả về mục đầu tiên trong danh sách.

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

gần đây nhất

Trả về mục cuối cùng trong danh sách.

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

slice

Trả về các mục của danh sách từ chỉ mục bắt đầu được cung cấp (bao gồm) đến chỉ mục kết thúc (tùy chọn và không bao gồm).

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

concat

Trả về kết quả nối của nhiều danh sách.

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

sắp xếp

Trả về danh sách theo thứ tự đã sắp xếp.

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

reverse

Trả về danh sách đảo ngược.

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

join

Trả về các giá trị của danh sách với ký tự nối được đặt giữa mỗi giá trị.

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

split

Trả về danh sách các giá trị được tạo bằng cách tách đầu vào văn bản theo một dấu phân cách.

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

unique

Trả về danh sách các giá trị duy nhất trong danh sách đầu vào.

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

includes

Trả về true nếu danh sách chứa giá trị được chỉ định, và false nếu ngược lại.

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

tìm kiếm

Trả về mục đầu tiên trong danh sách mà điều kiện đánh giá là true.

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

findIndex

Trả về chỉ mục của mục đầu tiên trong danh sách mà điều kiện là true.

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

Bộ lọc

Trả về các giá trị trong danh sách mà điều kiện là true.

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

some

Trả về true nếu bất kỳ mục nào trong danh sách thỏa mãn điều kiện đã cho, và false nếu ngược lại.

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

mỗi

Trả về true nếu mọi mục trong danh sách thỏa mãn điều kiện đã cho, và false nếu ngược lại.

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

map

Trả về danh sách được điền với kết quả gọi biểu thức trên mọi mục trong danh sách đầu vào.

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

flat

Làm phẳng một danh sách các danh sách thành một danh sách duy nhất.

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

id

Trả về id của trang. Nếu không có trang nào được cung cấp, trả về id của trang chứa công thức.

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

equal

Trả về true nếu cả hai giá trị bằng nhau và false nếu ngược lại.

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

unequal

Trả về false nếu cả hai giá trị bằng nhau và true nếu ngược lại.

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

let

Gán một giá trị cho một biến và đánh giá biểu thức sử dụng biến đó.

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

lets

Gán giá trị cho nhiều biến và đánh giá biểu thức sử dụng các biến đó.

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

trim

Xóa khoảng trắng khỏi phần đầu và cuối văn bản.

" notion ".trim() = "notion"


Gửi phản hồi

Tài nguyên này có hữu ích không?


Powered by Fruition