如何用 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
本專欄將提供給您最新的市場資訊、產業研究、交易心法、精選公司介紹,以上內容並非個股分析,還請各位依據自身狀況作出交易決策。歡迎訂閱支持我,獲得相關內容,也祝您的投資之路順遂! 每年 $990 訂閱方案👉 https://reurl.cc/VNYVxZ 每月 $99 訂閱方案👉https://re
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
本專欄將提供給您最新的市場資訊、產業研究、交易心法、精選公司介紹,以上內容並非個股分析,還請各位依據自身狀況作出交易決策。歡迎訂閱支持我,獲得相關內容,也祝您的投資之路順遂! 每年 $990 訂閱方案👉 https://reurl.cc/VNYVxZ 每月 $99 訂閱方案👉https://re
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
你想透過網路交友軟體尋找適合的交往對象,或者是擴大自己的交友圈嗎?偷偷告訴你~菜鳥或老鳥都必須要有的心理建設和必須學會的聊天技巧!