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

閱讀時間約 16 分鐘
這篇介紹了我常用的 Formula 指令,如果想要學 Formula 但不知道怎麼開始,可以看著跟著文章步驟摸一輪,相信大家做完後就能成為 Notion 大神!這次用了 Formula 神器「if」「contains」;帶到一些「date」系列的基本運算;「or」「and」的使用時機等實用指令。
子彈飛了一個月,
終於有人向我提問啦!!
這次被問了「怎麼弄出這些公式?」所以這一篇會針對以下這個模板的「待辦清單」部分的公式做說明,如果想要找特定公式的用法的話,可以善用左方的「章節目錄」做選擇。
如果還沒有看過模板想要領取的話,請左轉到這篇初學者也能輕鬆打造待辦清單
在寫 Notion 的 Formula (你可以稱之為算式、函式、公式)的時候,跟 Execel 或是 Google sheet 很像,可以讓函式依照某些條件來判斷該如何顯示。只要你掌握到 Notion 的 Formula 可以設定哪些條件之後,要讓他用什麼樣的方法去顯示就是大家可以發揮想像力的地方了。
而當你點開 Notion 的 Formula 你可以看見所有 Properties 以及函式前面都會有以上四種符號,代表他們在函式中有不同的身分,我對他們的認識為(從左至右)文字、數值、條件、日期。先對這四個符號有基本概念,在接下來的教學中比較不會卡關!

因為之前寫的 Formula 有點複雜,所以這幾天又將他做了優化,讓它看起來更清爽一點。其實是亂到不知道怎麼寫教學文,所以優化了一輪,但理論上一樣啦!
這個頁面總共用到了 9 個 Formula,我先用顏色來將有關聯性的 Property (屬性)標出來。下圖的編號是我在建照模板時的建照順序,我也會依照這順序做介紹。
緊握扶手
站穩踏階

進入正題囉

任務顯示

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

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

contains(prop("分類"), "活動")
翻譯蒟蒻
  • 條件:屬性分類包含「活動」這個字的話打勾,否則不打勾

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

or(contains(prop("分類"), "活動"), contains(prop("分類"), "會議"))
翻譯蒟蒻
  • 條件1:符合以下其中一個條件的話打勾,否則不打勾
  • 條件2:屬性「分類」裡頭包含『活動』這個字的話打勾,否則不打勾
  • 條件3:屬性「分類」裡頭包含『會議』這個字的話打勾,否則不打勾

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

▸ ① 如果是會議或是活動

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

② 如果是待辦清單

▹ ⒈ 待辦與完成

if(prop("完成"), "✓ done ", "▶︎ to do ")
翻譯蒟蒻
  • 條件:如果屬性「完成」被打勾的話顯示A,否則顯示B
  • 顯示A:『✓ done』
  • 顯示B:『▶︎ to do』

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

if(prop("完成"), "✓ done ", if(prop("未完成"), "✘ undone", "▶︎ to do "))
翻譯蒟蒻
  • 條件1:如果屬性「完成」被打勾的話顯示A,否則看條件2
  • 顯示A:『✓ done』
  • 條件2:如果屬性「未完成」被打勾的話顯示B,否則顯示C
  • 顯示B:『✘ undone』
  • 顯示C:『▶︎ to do』

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

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』
  • 無視以上條件,一律加上屬性「詳細」的內文

顯示執行日

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

❶ (timestamp)13 位時間戳

只要在 timestamp 後面加上任何上「日期或時間」,它就會將這轉為13 位時間戳。
時間戳顯示的「now」在算式中他會顯示國際標準時間,所以為了要校準時差所以需要加上八小時。
  • 1000:毫秒 → 秒
  • 60:秒 → 分
  • 60:分 → 小時
  • 8:八小時

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

為了要屬性「今日時間」顯示為每一天的午夜 12:00am,所以要先算出當下這個時間戳無法被「天」這個單位整除的數字為多少。
先從簡單的開始
  • 21 ÷ 3 = 7 ⋯ 「0」
  • 14 ÷ 3 = 4 ⋯ 「2」
代入時間戳後
  • 台灣的標準時間 ÷ 24 小時 = 今天的 12:00am ⋯ 「多出的時間」

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

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

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

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

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

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

▸ ① 顯示起始時間

▸ ② 顯示結束時間

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

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

▸ ① 計算起始時間到今天

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

▸ ② 計算結束時間到今天

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

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

prop("起始到今天") <= 0 and prop("結束到今天") >= 0
翻譯蒟蒻
  • 如果起始到今天大於 0 的話代表這項任務還未開始
  • 如果起始到今天小於等於 0 的話代表這項任務需要開始執行
  • 如果結束到今天大於等於 0 的話代表這項任務需要繼續執行
  • 如果結束到今天小於 0 的話代表這項任務已經結束
  • 條件1:同時符合以下兩個條件的話打勾,否則不打勾
  • 條件2:起始到今天小於等於 0 的話打勾,否則不打勾
  • 條件3:結束到今天大於等於 0 的話打勾,否則不打勾
有「執行日」這個 checker 的話,就可以看這個活動現在是不是在「進行中」,就可以用 Filter 把目前正在進行中的任務設定為顯示,將那些尚未發生或是已結束的活動隱藏起來,一個超讚的功能。
因為會需要用到四個 Formula,所以看起來可能會有點複雜,但相信大家看完之後對於 Notio Formula 的日期可以怎麼活用能有一定程度的了解!

倒數顯示

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

若你想要讓他顯示「倒數 ◯ 天」然後在「結束到今天」這個屬性前後加上「倒數」及「天」這兩段文字時,他會在下方顯示「prop("結束到今天") is not a text」的錯誤訊息。
因為對於 Formula 來說數值只能跟數值做計算,文字只能跟文字做串連,而對於 Formula 來說「結束到今天」這個屬性是數值而非文字,所以無法跟文字做串連。為了要讓 Formula 認為這串東西是「文字」,所以要在前面加上一個「format」的指令,他就會將這個屬性轉為一串文字,接著就能做文字接龍了!

❷(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:『倒數』加上屬性「結束到今天」加上『天』

顯示工時

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

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

dateBetween(end(prop("date")), start(prop("date")), "minutes")

❷(round)四捨五入

如果你直接將算出來的分鐘除以 60 你會得到一個沒有很直覺的數字
為了避免這種事情發生,這時候就要用到我們的四捨五入。
但這麼暴力的四捨五入會讓數字有點失真,大部分的人都還是會用 0.5 甚至是 0.25 作為最小單位,這時只要將數字帶進算式就可以囉!
round(prop("總工時(分鐘)") / 60 / 0.5) * 0.5
👇 考量到篇幅,想看更詳細的四捨五入教學的話可以看這篇 👇

回家作業:顯示起始日

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
一個愛寫Formula的文組人,當初爬文爬得很辛苦,希望可以把自己學會的Notion小技巧分享給各位新手們。 大家一起蓋資料庫蓋起來~
留言0
查看全部
發表第一個留言支持創作者!
話說我這個小懶鬼當初沒有搞懂專題分頁是什麼,所以 Tag 亂下,搞得我的專題分頁看起來很不明確。再加上最近在臉書分享的 Notion 貼文又開始有人在按讚(神奇的演算法),為了感謝大家的這一年來的支持,想要在年末的時候教大家一些我常用的小技巧!
今天想來分享一下我建造Notion模板的心法(?) Q:可否將本周日期作為參數設定進我的公式內? A:日期做為參數設定有點難,但可以用比較簡單的方法解決。 內容有⋯ ❶ Relation 以及 Rollup 的活用​ ❷ Filter 的小技巧​ ❸ format, round 的簡單運算
話說我這個小懶鬼當初沒有搞懂專題分頁是什麼,所以 Tag 亂下,搞得我的專題分頁看起來很不明確。再加上最近在臉書分享的 Notion 貼文又開始有人在按讚(神奇的演算法),為了感謝大家的這一年來的支持,想要在年末的時候教大家一些我常用的小技巧!
今天想來分享一下我建造Notion模板的心法(?) Q:可否將本周日期作為參數設定進我的公式內? A:日期做為參數設定有點難,但可以用比較簡單的方法解決。 內容有⋯ ❶ Relation 以及 Rollup 的活用​ ❷ Filter 的小技巧​ ❸ format, round 的簡單運算
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Notion內建的日期欄位,可以調整顯示英文的日期格式 但是若想要顯示台灣的民國、中文的星期、或是日本的平成昭和幾年要怎麼做呢? 透過Notion formula只要填好日期,就可自動呈現出台灣民國年度、台灣星期、年齡計算、距離今年過了幾年/是幾年後等等,各種格式的函數Notion模板免費索取!
Thumbnail
Notion Calendar最大的特色跟功能就是 可將資料庫跟已經建立好的google日曆直接匯入統一檢視達到雙向互動 到底什麼意思?哪裡好用?還能變日記app?有什麼跟google日曆不一樣的地方嗎? 想學同一個資料庫分別放入Notion Calendar用不同顏色分別的小技巧就看這一篇
Thumbnail
在這個療癒自己的世代,將名言和語錄轉化為金句庫是一種分享和啟發他人的方式。而現在,我們可以透過 ChatGPT,以更簡單又創意的方式製作獨特的 Notion Quotes 卡片。因此,本篇文章將教你如何運用 ChatGPT 來製作 Notion Quotes 卡片,讓你的頁面更加豐富及溫暖。
Thumbnail
不知道如何下筆嗎?用自問自答的方式收集素材吧! 在《九宮格寫作術》一書中,作者推薦用「自問自答」的方式,收集寫文章的材料。 我發現如何用 Notion 這個軟體,更有效的實現九宮格寫作的精神; 就是用 Toggle list 的方式寫下問題,這樣就可以方便收合,讓大綱更清晰。
有的自閉症者管到無極限,有的自閉症者完全事不關己。 因此,要用自閉症者的學習方式,協助自閉症者見到人際界線。 視覺自閉症者用社交情境故事圖卡,聽覺自閉症者以討論分析狀況為主 之前的文章,有提到用因果關係進行。 而前提是,那是解決事不關己的自閉症者用的。 這次,我想補充的,是管到無極限的自閉症者,進行
Thumbnail
擔任設計團隊的管理者近兩年,因為我每週要和主管一對一對談(1 on 1),從一開始隨性想到什麼就聊。我把這個框架利用Notion變的更為流暢,方便我自己管理任務,也能同時和主管同步和報告資訊,讓討論有效率,且目標明確
Thumbnail
資訊設計百百種,光是「捷運各站進出量」的主題就可以列舉許多案例。PTT 的文字整理可以總覽各站的排名和數據,還能比較漲跌趨勢。泡泡地圖則能夠把數據圖形化和空間化,讓讀者更直觀理解各站之間的差異和相對位置。要設計出好看、好懂、看了會喜歡的圖表,隱含許多設計的學問,需要具被資料處理和美術設計的能力。
Thumbnail
你想透過網路交友軟體尋找適合的交往對象,或者是擴大自己的交友圈嗎?偷偷告訴你~菜鳥或老鳥都必須要有的心理建設和必須學會的聊天技巧!
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Notion內建的日期欄位,可以調整顯示英文的日期格式 但是若想要顯示台灣的民國、中文的星期、或是日本的平成昭和幾年要怎麼做呢? 透過Notion formula只要填好日期,就可自動呈現出台灣民國年度、台灣星期、年齡計算、距離今年過了幾年/是幾年後等等,各種格式的函數Notion模板免費索取!
Thumbnail
Notion Calendar最大的特色跟功能就是 可將資料庫跟已經建立好的google日曆直接匯入統一檢視達到雙向互動 到底什麼意思?哪裡好用?還能變日記app?有什麼跟google日曆不一樣的地方嗎? 想學同一個資料庫分別放入Notion Calendar用不同顏色分別的小技巧就看這一篇
Thumbnail
在這個療癒自己的世代,將名言和語錄轉化為金句庫是一種分享和啟發他人的方式。而現在,我們可以透過 ChatGPT,以更簡單又創意的方式製作獨特的 Notion Quotes 卡片。因此,本篇文章將教你如何運用 ChatGPT 來製作 Notion Quotes 卡片,讓你的頁面更加豐富及溫暖。
Thumbnail
不知道如何下筆嗎?用自問自答的方式收集素材吧! 在《九宮格寫作術》一書中,作者推薦用「自問自答」的方式,收集寫文章的材料。 我發現如何用 Notion 這個軟體,更有效的實現九宮格寫作的精神; 就是用 Toggle list 的方式寫下問題,這樣就可以方便收合,讓大綱更清晰。
有的自閉症者管到無極限,有的自閉症者完全事不關己。 因此,要用自閉症者的學習方式,協助自閉症者見到人際界線。 視覺自閉症者用社交情境故事圖卡,聽覺自閉症者以討論分析狀況為主 之前的文章,有提到用因果關係進行。 而前提是,那是解決事不關己的自閉症者用的。 這次,我想補充的,是管到無極限的自閉症者,進行
Thumbnail
擔任設計團隊的管理者近兩年,因為我每週要和主管一對一對談(1 on 1),從一開始隨性想到什麼就聊。我把這個框架利用Notion變的更為流暢,方便我自己管理任務,也能同時和主管同步和報告資訊,讓討論有效率,且目標明確
Thumbnail
資訊設計百百種,光是「捷運各站進出量」的主題就可以列舉許多案例。PTT 的文字整理可以總覽各站的排名和數據,還能比較漲跌趨勢。泡泡地圖則能夠把數據圖形化和空間化,讓讀者更直觀理解各站之間的差異和相對位置。要設計出好看、好懂、看了會喜歡的圖表,隱含許多設計的學問,需要具被資料處理和美術設計的能力。
Thumbnail
你想透過網路交友軟體尋找適合的交往對象,或者是擴大自己的交友圈嗎?偷偷告訴你~菜鳥或老鳥都必須要有的心理建設和必須學會的聊天技巧!