如何用 Noiton 建造子彈筆記模板?|Formula 教學

更新 發佈閱讀 15 分鐘

這篇介紹了我常用的 Formula 指令,如果想要學 Formula 但不知道怎麼開始,可以看著跟著文章步驟摸一輪,相信大家做完後就能成為 Notion 大神!這次用了 Formula 神器「if」「contains」;帶到一些「date」系列的基本運算;「or」「and」的使用時機等實用指令。


子彈飛了一個月,

終於有人向我提問啦!!


raw-image

這次被問了「怎麼弄出這些公式?」所以這一篇會針對以下這個模板的「待辦清單」部分的公式做說明,如果想要找特定公式的用法的話,可以善用左方的「章節目錄」做選擇。

如果還沒有看過模板想要領取的話,請左轉到這篇初學者也能輕鬆打造待辦清單

在寫 Notion 的 Formula (你可以稱之為算式、函式、公式)的時候,跟 Execel 或是 Google sheet 很像,可以讓函式依照某些條件來判斷該如何顯示。只要你掌握到 Notion 的 Formula 可以設定哪些條件之後,要讓他用什麼樣的方法去顯示就是大家可以發揮想像力的地方了。

raw-image

而當你點開 Notion 的 Formula 你可以看見所有 Properties 以及函式前面都會有以上四種符號,代表他們在函式中有不同的身分,我對他們的認識為(從左至右)文字、數值、條件、日期。先對這四個符號有基本概念,在接下來的教學中比較不會卡關!


因為之前寫的 Formula 有點複雜,所以這幾天又將他做了優化,讓它看起來更清爽一點。其實是亂到不知道怎麼寫教學文,所以優化了一輪,但理論上一樣啦!

這個頁面總共用到了 9 個 Formula,我先用顏色來將有關聯性的 Property (屬性)標出來。下圖的編號是我在建照模板時的建照順序,我也會依照這順序做介紹。

raw-image


緊握扶手
站穩踏階

進入正題囉



任務顯示

每個卡片有一堆屬性以及不同的狀態,想要讓大家簡潔地全部顯示成「一行」的話,這真的必學~靈感來源為我很崇拜的日本 Notioner Yuji Tsuburaya 的這一則推文,簡約就是王道啊!

❶(contains)包含特定項目時打勾

raw-image
contains(prop("分類"), "活動")

翻譯蒟蒻

  • 條件:屬性分類包含「活動」這個字的話打勾,否則不打勾
raw-image



❷(or)符合任一條件時打勾

raw-image
or(contains(prop("分類"), "活動"), contains(prop("分類"), "會議"))

翻譯蒟蒻

  • 條件1:符合以下其中一個條件的話打勾,否則不打勾
  • 條件2:屬性「分類」裡頭包含『活動』這個字的話打勾,否則不打勾
  • 條件3:屬性「分類」裡頭包含『會議』這個字的話打勾,否則不打勾
raw-image



❸(if)依照條件判斷顯示前者或後者設定

▸ ① 如果是會議或是活動

raw-image
if(or(contains(prop("分類"), "活動"), contains(prop("分類"), "會議")), "▶︎ " + prop("詳細"), "")

翻譯蒟蒻

  • 條件1:符合條件2的話顯示A,否則顯示B
  • 顯示A:"▶︎ " 加上屬性「詳細」的內文
  • 顯示B:無
  • 條件2:符合以下其中一個條件的話打勾,否則不打勾
  • 條件3:屬性「分類」裡頭包含『活動』這個字的話打勾,否則不打勾
  • 條件4:屬性「分類」裡頭包含『會議』這個字的話打勾,否則不打勾
raw-image
raw-image



② 如果是待辦清單

▹ ⒈ 待辦與完成

raw-image
if(prop("完成"), "✓ done ", "▶︎ to do ")

翻譯蒟蒻

  • 條件:如果屬性「完成」被打勾的話顯示A,否則顯示B
  • 顯示A:『✓ done』
  • 顯示B:『▶︎ to do』
raw-image
raw-image



▸▹ ⒉ 待辦與完成、未完成

raw-image
if(prop("完成"), "✓ done ", if(prop("未完成"), "✘ undone", "▶︎ to do "))

翻譯蒟蒻

  • 條件1:如果屬性「完成」被打勾的話顯示A,否則看條件2
  • 顯示A:『✓ done』
  • 條件2:如果屬性「未完成」被打勾的話顯示B,否則顯示C
  • 顯示B:『✘ undone』
  • 顯示C:『▶︎ to do』
raw-image
raw-image



❹ 合併以上條件並加上待辦事項詳細說明

raw-image
if(or(contains(prop("分類"), "活動"), contains(prop("分類"), "會議")), "▶︎ ", if(prop("完成"), "✓ done ", if(prop("未完成"), "✘ undone ", "▶︎ to do "))) + prop("詳細")顯示執行日

翻譯蒟蒻

  • 條件1:如果屬性「分類」包含『活動』或『會議』的話顯示A,否則看條件2
  • 顯示A:▶︎
  • 條件2:如果屬性「完成」被打勾的話顯示B,否則看條件3
  • 顯示B:『✓ done』
  • 條件3:如果屬性「未完成」被打勾的話顯示C,否則顯示D
  • 顯示C:『✘ undone』
  • 顯示D:『▶︎ to do』
  • 無視以上條件,一律加上屬性「詳細」的內文
raw-image
raw-image



顯示執行日

臉書社團 Notion.Taiwan 台灣官方社群 真的很多大神潛伏在裡頭,這個算式就是我在社團裡面逛啊逛的時候發現的。(想朝聖的)算式來源:某篇 Notion 社團貼文的留言處

❶ (timestamp)13 位時間戳

raw-image

只要在 timestamp 後面加上任何上「日期或時間」,它就會將這轉為13 位時間戳。

raw-image

時間戳顯示的「now」在算式中他會顯示國際標準時間,所以為了要校準時差所以需要加上八小時。

  • 1000:毫秒 → 秒
  • 60:秒 → 分
  • 60:分 → 小時
  • 8:八小時


❷ (mod)無法被整除的餘數

為了要屬性「今日時間」顯示為每一天的午夜 12:00am,所以要先算出當下這個時間戳無法被「天」這個單位整除的數字為多少。

先從簡單的開始

raw-image
  • 21 ÷ 3 = 7 ⋯ 「0」
  • 14 ÷ 3 = 4 ⋯ 「2」
代入時間戳後
raw-image
  • 台灣的標準時間 ÷ 24 小時 = 今天的 12:00am ⋯ 「多出的時間」


▸ 算出當下這個時間的 12:00am 的時間戳

raw-image
mod(timestamp(now()) + 8 * 60 * 60 * 1000, 24 * 60 * 60 * 1000)
  • 現在這個時間 - 剛剛算出來多出的時間 = 台灣時間今天的 12:00am


❸(fromTimestamp)把 13 位時間戳顯示成時間

raw-image
fromTimestamp(timestamp(now()) - mod(timestamp(now()) + 8 * 60 * 60 * 1000, 24 * 60 * 60 * 1000))



❹(start & end)開始與結束的時間

當你的時間設定有「起始日」跟「結束日」時,就可以用這個指令讓他只顯示其中一個。

▸ ① 顯示起始時間

raw-image

▸ ② 顯示結束時間

raw-image



❺(dateBetween)計算兩個時間的差距

raw-image

不只可以指定顯示「天數」也可以選擇其他時間單位

raw-image

▸ ① 計算起始時間到今天

dateBetween(start(prop("date")), prop("今日時間"), "days")
raw-image

▸ ② 計算結束時間到今天

dateBetween(end(prop("date")), prop("今日時間"), "days")
raw-image

❻(and)符合兩者條件時打勾

prop("起始到今天") <= 0 and prop("結束到今天") >= 0
raw-image

翻譯蒟蒻

  • 如果起始到今天大於 0 的話代表這項任務還未開始
  • 如果起始到今天小於等於 0 的話代表這項任務需要開始執行
  • 如果結束到今天大於等於 0 的話代表這項任務需要繼續執行
  • 如果結束到今天小於 0 的話代表這項任務已經結束


  • 條件1:同時符合以下兩個條件的話打勾,否則不打勾
  • 條件2:起始到今天小於等於 0 的話打勾,否則不打勾
  • 條件3:結束到今天大於等於 0 的話打勾,否則不打勾


有「執行日」這個 checker 的話,就可以看這個活動現在是不是在「進行中」,就可以用 Filter 把目前正在進行中的任務設定為顯示,將那些尚未發生或是已結束的活動隱藏起來,一個超讚的功能。

因為會需要用到四個 Formula,所以看起來可能會有點複雜,但相信大家看完之後對於 Notio Formula 的日期可以怎麼活用能有一定程度的了解!



倒數顯示

❶(format)告訴算式這是文字

raw-image

若你想要讓他顯示「倒數 ◯ 天」然後在「結束到今天」這個屬性前後加上「倒數」及「天」這兩段文字時,他會在下方顯示「prop("結束到今天") is not a text」的錯誤訊息。

因為對於 Formula 來說數值只能跟數值做計算,文字只能跟文字做串連,而對於 Formula 來說「結束到今天」這個屬性是數值而非文字,所以無法跟文字做串連。為了要讓 Formula 認為這串東西是「文字」,所以要在前面加上一個「format」的指令,他就會將這個屬性轉為一串文字,接著就能做文字接龍了!

raw-image

❷(if)在不同條件下顯示不同狀態

為了不讓這一欄顯示「倒數 -5 天」這種會讓如腦袋卡住的敘述,所以用 if 讓他只有在需要被倒數時顯示,上面的 if 做了那麼穩紮穩打的基礎功,這邊就直接來飆車!

if(prop("結束到今天") < 0, "", if(prop("結束到今天") == 0, "today", "倒數 " + format(prop("結束到今天")) + " 天"))

翻譯蒟蒻

  • 條件1:如果屬性「結束到今天」小於 0 的話顯示A,否則看條件2
  • 顯示A:無
  • 條件2:如果屬性「結束到今天」等於 0 的話顯示B,否則顯示C
  • 顯示B:『today』
  • 顯示C:『倒數』加上屬性「結束到今天」加上『天』
raw-image
raw-image

顯示工時

有些時候你可能會需要計算每個工作項實際花了多少時間,這個時候你就可以這樣做計算。這裡使用到的指令在面都有用到過了,所以直接進入重點!

❶(dateBetween)計算兩個時間的差距

raw-image
dateBetween(end(prop("date")), start(prop("date")), "minutes")

❷(round)四捨五入

如果你直接將算出來的分鐘除以 60 你會得到一個沒有很直覺的數字

raw-image

為了避免這種事情發生,這時候就要用到我們的四捨五入。

raw-image

但這麼暴力的四捨五入會讓數字有點失真,大部分的人都還是會用 0.5 甚至是 0.25 作為最小單位,這時只要將數字帶進算式就可以囉!

raw-image
round(prop("總工時(分鐘)") / 60 / 0.5) * 0.5


👇 考量到篇幅,想看更詳細的四捨五入教學的話可以看這篇 👇


回家作業:顯示起始日

raw-image
if(empty(prop("date")), "未定", if(formatDate(now(), "MMM DD, YYYY") == formatDate(start(prop("date")), "MMM DD, YYYY"), formatDate(start(prop("date")), "▶︎ " + "HH:mm"), if(dateBetween(start(prop("date")), now(), "days") > -1 and dateBetween(start(prop("date")), now(), "days") < 7, "🗓  " + formatDate(start(prop("date")), "ddd" + " " + if(formatDate(start(prop("date")), "HH:mm") == "00:00", "", formatDate(start(prop("date")), "HH:mm"))), if(dateBetween(start(prop("date")), now(), "days") < 1, "", if(formatDate(start(prop("date")), "HH:mm") == "00:00", formatDate(start(prop("date")), "MM.DD ddd"), formatDate(start(prop("date")), "MM.DD ddd HH:mm"))))))

為了避免大家消化不良(其實是不想這篇文章繼續難產下去),這個 Formula 就當作大家的回家作業!

裡頭除了「formatDate」今天沒有講到以外其他指令都有在今天提到。大家可以像我一樣用螢光筆把「條件」跟「顯示」用不同顏色標示出來後,就可以很清楚的看見邏輯。

希望各位可以動動手指點擊左下方的手掌五下,讓我獲得一些 LikeCoin,或是你也可以點選右邊的贊助鈕直接給我錢錢,讓我有動力繼續在假日寫教學文。為了獎勵你看到這邊,我把 level up 的模板放在下面,有興趣的可以拿去玩玩。


點我領取模板


我們今天的課就上到這邊

期待大家的提問

下課!


其實一直不知道需不需要更新這個專題,因為之前寫的模板建造教學被反應太長、單個算式教學又被認為不知道怎麼實際運用。寫得辛苦辛苦的教學文,如果沒有讓各位「搞懂」的話,身為投射者的我就會懶得更新很難感受到成就感。

我回到投射者的策略「等待被邀請」,當然,我知道我在這乾等沒用,於是乎,我到處分享模板,等待有人向我提問,等了一個月才等到了第一個,但等待的過程真的好苦澀啊〜😱

寫的過程因為截圖很多途中會寫到有點懷疑人生,腦袋中也有各種質疑的聲音出現,糾結是否真的要寫那麼細。希望能用我當初用著破破爛爛的英文程度,花大量時間到處爬文看影片學習研究的成果,希望可以幫助大家免除一些卡關的痛苦。

peace


留言
avatar-img
遙遙的遊戲房
216會員
54內容數
一個愛寫Formula的文組人 一個開口閉口就人類圖的宅 一個住在日本的台日混血兒
你可能也想看
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
創業者常因資金困境而無法抓住機會,利用房產活化讓二胎房貸成為財務策略的有力夥伴。 諮詢國峯厝好貸的二胎房貸服務,讓你的房子成為你最強力的天使投資人,推動事業成長。
Thumbnail
創業者常因資金困境而無法抓住機會,利用房產活化讓二胎房貸成為財務策略的有力夥伴。 諮詢國峯厝好貸的二胎房貸服務,讓你的房子成為你最強力的天使投資人,推動事業成長。
Thumbnail
Notion目前還沒有中文版,加上自由度高,一開始真的不知道要怎麼使用,也很難感受到他到底好用在哪?所以我整理了輕鬆開始的簡單的三步驟,照著這個順序開始,就能少走歪路,順利將Notion應用在工作生活上,變成你的得力助手!
Thumbnail
Notion目前還沒有中文版,加上自由度高,一開始真的不知道要怎麼使用,也很難感受到他到底好用在哪?所以我整理了輕鬆開始的簡單的三步驟,照著這個順序開始,就能少走歪路,順利將Notion應用在工作生活上,變成你的得力助手!
Thumbnail
Notion 的 Formula 更新啦~ 今年九月 Notion 重點更新「Formula 2.0」。
Thumbnail
Notion 的 Formula 更新啦~ 今年九月 Notion 重點更新「Formula 2.0」。
Thumbnail
如果你想要建立自己專屬的知識庫,或者是建立自己的待辦清單,這些零星的教學課程絕對夠你使用。 不過這裡想要介紹三大 Notion 必知道的功能,如果你跟筆者一樣都是金魚腦,很難記得很多東西,基本上掌握了這三大功能,Notion 可以快快上手喔!
Thumbnail
如果你想要建立自己專屬的知識庫,或者是建立自己的待辦清單,這些零星的教學課程絕對夠你使用。 不過這裡想要介紹三大 Notion 必知道的功能,如果你跟筆者一樣都是金魚腦,很難記得很多東西,基本上掌握了這三大功能,Notion 可以快快上手喔!
Thumbnail
在先前的文章中,我們分享了如何讓你能在頁面中建構出類紙膠帶 or 重點註記的文字樣式,提升內容的視覺吸引力。接下來,在這篇文章中,我們將繼續探索 Notion 的功能,教你如何在資料庫中使用公式 ( equation ),打造多樣化的文字風格,並使你的資料庫更加獨特和個性化。讓我們看下去!
Thumbnail
在先前的文章中,我們分享了如何讓你能在頁面中建構出類紙膠帶 or 重點註記的文字樣式,提升內容的視覺吸引力。接下來,在這篇文章中,我們將繼續探索 Notion 的功能,教你如何在資料庫中使用公式 ( equation ),打造多樣化的文字風格,並使你的資料庫更加獨特和個性化。讓我們看下去!
Thumbnail
Shorouk's Blog 是一款免費的第三方軟體,提供了一系列的小工具,包括日曆、小算盤、番茄鐘、導覽列、日期、時間、倒數計時器、跳轉按鈕、每日一句、表情符號、單位換算,以及每天/週/月/年剩餘時間。本篇將專注介紹先前所未介紹到的六款小工具,為大家帶來更多選擇。讓我們看下去!!!
Thumbnail
Shorouk's Blog 是一款免費的第三方軟體,提供了一系列的小工具,包括日曆、小算盤、番茄鐘、導覽列、日期、時間、倒數計時器、跳轉按鈕、每日一句、表情符號、單位換算,以及每天/週/月/年剩餘時間。本篇將專注介紹先前所未介紹到的六款小工具,為大家帶來更多選擇。讓我們看下去!!!
Thumbnail
現今這個信息爆炸的時代,我們需要一個好的筆記工具來幫助我們管理和整理資訊,而Notion 就是一個非常好用的筆記工具。不過,單調的黑白文字,總讓人覺得索然無味,那麼我們該如何讓Notion更加生動呢?快一起看下去,只要兩個步驟就可以讓你在 Notion 打造出類紙膠帶 or 重點註記的文字樣式!!!
Thumbnail
現今這個信息爆炸的時代,我們需要一個好的筆記工具來幫助我們管理和整理資訊,而Notion 就是一個非常好用的筆記工具。不過,單調的黑白文字,總讓人覺得索然無味,那麼我們該如何讓Notion更加生動呢?快一起看下去,只要兩個步驟就可以讓你在 Notion 打造出類紙膠帶 or 重點註記的文字樣式!!!
Thumbnail
Hello!你是初次使用 Notion 的朋友嗎?剛開始使用時是不是不知道從何處著手,那怕有很大的自由能客製化。這個心聲我們聽到了,本篇將會讓你知道,你只要學會 Notion 的六個基本功能,就能輕鬆地進行文書處理了。別再因為學習成本而來卻步,讓我們開始探索 Notion 的基本功能吧!走囉!!!!
Thumbnail
Hello!你是初次使用 Notion 的朋友嗎?剛開始使用時是不是不知道從何處著手,那怕有很大的自由能客製化。這個心聲我們聽到了,本篇將會讓你知道,你只要學會 Notion 的六個基本功能,就能輕鬆地進行文書處理了。別再因為學習成本而來卻步,讓我們開始探索 Notion 的基本功能吧!走囉!!!!
Thumbnail
這篇介紹了我常用的 Formula 指令,如果想要學 Formula 但不知道怎麼開始,可以看著跟著文章步驟摸一輪,相信大家做完後就能成為 Notion 大神!這次用了 Formula 神器「if」「contains」;帶到一些「date」系列的基本運算;「or」「and」的使用時機等實用指令。
Thumbnail
這篇介紹了我常用的 Formula 指令,如果想要學 Formula 但不知道怎麼開始,可以看著跟著文章步驟摸一輪,相信大家做完後就能成為 Notion 大神!這次用了 Formula 神器「if」「contains」;帶到一些「date」系列的基本運算;「or」「and」的使用時機等實用指令。
Thumbnail
話說我這個小懶鬼當初沒有搞懂專題分頁是什麼,所以 Tag 亂下,搞得我的專題分頁看起來很不明確。再加上最近在臉書分享的 Notion 貼文又開始有人在按讚(神奇的演算法),為了感謝大家的這一年來的支持,想要在年末的時候教大家一些我常用的小技巧!
Thumbnail
話說我這個小懶鬼當初沒有搞懂專題分頁是什麼,所以 Tag 亂下,搞得我的專題分頁看起來很不明確。再加上最近在臉書分享的 Notion 貼文又開始有人在按讚(神奇的演算法),為了感謝大家的這一年來的支持,想要在年末的時候教大家一些我常用的小技巧!
Thumbnail
本文詳述模板設計的思路以及仔細講解函數分析,作者本人是文組背景,非常明白函數這個在 Notion 中最需要學習成本的項目,讓函數小白也能輕鬆看懂。本文介紹formatDate() 函數和equal()函數。
Thumbnail
本文詳述模板設計的思路以及仔細講解函數分析,作者本人是文組背景,非常明白函數這個在 Notion 中最需要學習成本的項目,讓函數小白也能輕鬆看懂。本文介紹formatDate() 函數和equal()函數。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News