Notion Formula 2.0 § 找重複資料

更新於 2024/12/16閱讀時間約 6 分鐘

前言

在 MS Excel 中,找重複值相對簡單,微軟提供了大量函數庫,還能使用 Python 或 VBA 提高編寫彈性。但如果我們想在 Notion 的資料庫中實現類似的功能,該怎麼做呢?

本次練習是根據 Ben SmithNotion Workflow 的教學進行延伸,除了會嘗試找出重複姓名的方法,還會嘗試找出相同日期的資料。

練習題

練習題一:找到重複的姓名資料

這個範例是影片中的範例,基本的邏輯是:

  1. 先將所有Name值匯總到資料庫 DB2 中形成列表。
  2. 在 DB1 中,將每一列的 Name 與 DB2 中的列表進行匹配,找到相同值時以 表示。
  3. 的數量大於 1,表示該值重複。
  4. 最後在 DB2 中篩選出重複項目,完成需求。
/* DB1 判斷重複 */
lets(
/* 顯示列表中的所有元素:A,B,C,D,E,A,B */
姓名_全部, map(prop("DB2"),current.prop("DB1")).replaceAll(" ",""),

/* 顯示:Name欄位的資料 */
姓名_無符號, prop("Name").replaceAll("[ |,]", ""),

/* 將列表中重複值替換成 ★ 號,顯示A,★,C,D,E,A,★, */
替換重複值, 姓名_全部.replaceAll("\b" + 姓名_無符號 + "\b", "★"),
重複次數, 替換重複值.replaceAll( "[^★]", "").length(),

if(prop("Name"), 重複次數 > 1, false)
)

/* DB2 欄位:重複項目*/
map(prop("DB1").filter(current.prop("重複_Name") == true), current.prop("Name")).unique()

過程中要注意,輸入名字時可能不小心多輸入空白或符號,因此使用正則表達式 \b 來匹配單詞邊界,以提高精確度:

  • \b 用來指定匹配字串位於單詞的邊界,如空白、標點、或字串開頭結尾。
  • 例如,若字串為 "apple banana",使用 \bapple\b 可確保僅匹配獨立的 "apple",不會錯誤匹配 "applepie"
raw-image

練習題二:找出相同日期的資料

這是之前我在的某個群組中,某群友的需求,需要找重複的日期資料,麻煩的地方在於日期不是字串,所以無法直接替代符號。(不知道為什麼,我在這裡卡了一陣子🤣)

後來我想到的解法,是把這串日期變成字串,使用formatDate()就行了,還可以去掉中間的/或是-,這樣就能解決問題了🎉。

另外,因為我在前面已經使用formatDate()定義呈現的樣子,且它指定匹配的資料本來就是日期,不會有奇怪的符號,就不需要使用\b

之前我在的某個群組中,有群友提出了一個找重複日期的需求。我就想到了這個練習,想著不然把它變成一篇筆記🤣。過程中,日期格式無法直接像字串一樣比對符號,曾讓我卡了一段時間🤣。

雖然讓我卡了一段時間🤣,但後來有想到解決方法,使用 formatDate() 將日期轉為字串,並且這樣能同時去掉中間的 /- 符號,使其統一格式後便能精確匹配。

此外,因為已使用 formatDate() 定義日期格式,並且匹配的資料也只與日期有關,不會出現額外符號,因此不需再用到 \b

/* DB1 判斷重複 */
lets(
/* 顯示列表中的所有元素 */
日期_全部, map(prop("DB2"), current.prop("日期")),

/* 顯示:日期欄位的資料 */
日期, prop("日期").formatDate("YYYYMMDD"),

/* 將列表中重複值替換成 ★ 號 */
替換重複值, 日期_全部.replaceAll(日期, "★"),
重複次數, 替換重複值.replaceAll( "[^★]", "").length(),

if(prop("Name"), 重複次數 > 1, false)
)

/* DB2 欄位:日期*/
map(prop("DB1"), current.prop("日期").formatDate("YYYYMMDD"))

/* DB2 欄位:重複項目*/
map(prop("DB1").filter(current.prop("重複_日期") == true), current.prop("Name")).unique()
raw-image

※若你有習慣看我提供的參考資料,會發現 Ben Smith 的資料頁面中,說明他的公式不是似乎有點問題,所以我根據自己的理解有改了一下~目前測試都是可以正常使用的喔~

範例頁面

重複資料

參考資料

avatar-img
134會員
85內容數
小小的細縫裡,夢想的小苗也會萌芽。 我想在餘生中,體會生命的感動和奧秘。 透過仔細觀察,將發現世界不同的美好。 歡迎你來到 ~ ♡ Chloe 的小世界 ♡
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Chloe小窩 的其他內容
在 Notion 中使用公式 2.0 版本來生成隨機數,提供自動更改及按鈕觸發兩種模式。
Notion Formula 2.0 日期公式運用:找對應日期、日期區間的判斷與轉換
透過使用公式 2.0,使用者可以自定義時間標籤,清晰地顯示任務的安排及空白時段。
Notion Formula 2.0 日期公式運用第三篇:如何在 Notion 中使用公式製作迷你月曆。
Notion Formula 2.0 日期公式運用第二篇:工作日計算(可自訂國定假日、特殊假期)
Notion Formula 2.0 日期公式運用第一篇:倒數進度條、x年回顧彩蛋、生日提醒。
在 Notion 中使用公式 2.0 版本來生成隨機數,提供自動更改及按鈕觸發兩種模式。
Notion Formula 2.0 日期公式運用:找對應日期、日期區間的判斷與轉換
透過使用公式 2.0,使用者可以自定義時間標籤,清晰地顯示任務的安排及空白時段。
Notion Formula 2.0 日期公式運用第三篇:如何在 Notion 中使用公式製作迷你月曆。
Notion Formula 2.0 日期公式運用第二篇:工作日計算(可自訂國定假日、特殊假期)
Notion Formula 2.0 日期公式運用第一篇:倒數進度條、x年回顧彩蛋、生日提醒。
你可能也想看
Google News 追蹤
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
商業簡報不僅僅是呈現數據,更需要深入瞭解數據分析及有效的工具運用。本文探討於Excel中使用不同函數來改善數據處理效率,包括IF、IFS、VLOOKUP、XLOOKUP及INDEX與MATCH的結合,幫助商業人士更好地從數據中提取洞見,助力業務增值,學習優化數據分析過程,讓您的商業簡報更具影響力。
Thumbnail
只需要一個資料庫就可以做到各種不同的用途顯示 像紙本的五年手帳一樣,可以自動回顧「過去的今天」的日記模板要如何設定? 函數設定的思路與教學都在這邊了! 免費日記模板下載
進入正題以前,想像以下兩個生活的情境: 手上拿者老婆交代要買的幾項物品進入大賣場,心中想著要怎麼找到這些物品的位置? 考試當天看著准考證上的號碼進入考場找尋我在那間教室?
Thumbnail
這個主題其實是LINE社群網友詢問的問題。 網友:請問像這樣的排班表,我要怎麼樣做樞紐或其他函數,來快速查找,某個人名出現在星期幾的哪些時段? 原PO還有附上一個檔案,畫面如下⬇️ 就是要把這個內容快速找到,某人的班別是在哪星期的哪個時段(好饒舌) 根據網友的需求,初步製作了一個簡
Thumbnail
高效生活,幫助你找回更多自己的時間 歡迎來到 AL 的 Googlesheet 學習筆記系列文章。在這個系列中,我們將一步步介紹各種函數,並將它們應用於日常生活中,加速工作、提高效率。 今天要介紹的是使用 Index 、 Counta 函數尋找最後一列的資料!
Thumbnail
在工作職場上輸入資料時,如果輸入的內容可以觀察出特定的規則時,其實可以使用儲存格格式來快速輸入資料。 舉一個例子,再輸入學生班級時,三年二班要輸入4個字,【三】、【年】、【二】、【班】,但其實觀察一下規律,其中的年跟班都是相同的,那麼就能利用這個規則來偷吃步拉 📌設定儲存格格式 選取範圍
Thumbnail
在Dcard有人求救一個問題:想要將layer與panel的資料提出出來,如下圖。 這個題目是很經典的需求,就是多條件查找,多條件查找有蠻多種不同的解決方法,甚至版本不同解法也是天壤之別哦。 準備動作 在寫函數之前,記得要先觀察一下我們想要提取的資料有什麼樣的規則,可以發現A欄中只
Thumbnail
在 Google 試算表或 Excel 做文字處理時,有時只需要一串文字的右邊第一個字,例如「星期一」我只需要「一」,用left()、right()和mid()就可以快速處理。這篇文章將以星期為例。
Thumbnail
你是否曾經遇到這樣的情況?手上有一張表格,需要根據某個欄位進行分類,但表格又很繁雜,如果手動一個個查找,就需要花費大量時間才能找到想要的資料,這樣實在是太沒效率又容易眼花。 今天,我就來教你一個FILTER 函數快速分類技巧,讓你輕鬆掌握數據,節省時間。
Thumbnail
在職場上,我們經常需要使用Excel來處理資料,而條碼則是一種常見的資料識別方式,可以用來標示產品、貨物、文件等。如果可以快速製作出條碼,就可以節省不少時間,讓工作更有效率。本篇文章將教你如何在Excel中快速製作條碼,只要3個步驟,就可以輕鬆完成。
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
商業簡報不僅僅是呈現數據,更需要深入瞭解數據分析及有效的工具運用。本文探討於Excel中使用不同函數來改善數據處理效率,包括IF、IFS、VLOOKUP、XLOOKUP及INDEX與MATCH的結合,幫助商業人士更好地從數據中提取洞見,助力業務增值,學習優化數據分析過程,讓您的商業簡報更具影響力。
Thumbnail
只需要一個資料庫就可以做到各種不同的用途顯示 像紙本的五年手帳一樣,可以自動回顧「過去的今天」的日記模板要如何設定? 函數設定的思路與教學都在這邊了! 免費日記模板下載
進入正題以前,想像以下兩個生活的情境: 手上拿者老婆交代要買的幾項物品進入大賣場,心中想著要怎麼找到這些物品的位置? 考試當天看著准考證上的號碼進入考場找尋我在那間教室?
Thumbnail
這個主題其實是LINE社群網友詢問的問題。 網友:請問像這樣的排班表,我要怎麼樣做樞紐或其他函數,來快速查找,某個人名出現在星期幾的哪些時段? 原PO還有附上一個檔案,畫面如下⬇️ 就是要把這個內容快速找到,某人的班別是在哪星期的哪個時段(好饒舌) 根據網友的需求,初步製作了一個簡
Thumbnail
高效生活,幫助你找回更多自己的時間 歡迎來到 AL 的 Googlesheet 學習筆記系列文章。在這個系列中,我們將一步步介紹各種函數,並將它們應用於日常生活中,加速工作、提高效率。 今天要介紹的是使用 Index 、 Counta 函數尋找最後一列的資料!
Thumbnail
在工作職場上輸入資料時,如果輸入的內容可以觀察出特定的規則時,其實可以使用儲存格格式來快速輸入資料。 舉一個例子,再輸入學生班級時,三年二班要輸入4個字,【三】、【年】、【二】、【班】,但其實觀察一下規律,其中的年跟班都是相同的,那麼就能利用這個規則來偷吃步拉 📌設定儲存格格式 選取範圍
Thumbnail
在Dcard有人求救一個問題:想要將layer與panel的資料提出出來,如下圖。 這個題目是很經典的需求,就是多條件查找,多條件查找有蠻多種不同的解決方法,甚至版本不同解法也是天壤之別哦。 準備動作 在寫函數之前,記得要先觀察一下我們想要提取的資料有什麼樣的規則,可以發現A欄中只
Thumbnail
在 Google 試算表或 Excel 做文字處理時,有時只需要一串文字的右邊第一個字,例如「星期一」我只需要「一」,用left()、right()和mid()就可以快速處理。這篇文章將以星期為例。
Thumbnail
你是否曾經遇到這樣的情況?手上有一張表格,需要根據某個欄位進行分類,但表格又很繁雜,如果手動一個個查找,就需要花費大量時間才能找到想要的資料,這樣實在是太沒效率又容易眼花。 今天,我就來教你一個FILTER 函數快速分類技巧,讓你輕鬆掌握數據,節省時間。
Thumbnail
在職場上,我們經常需要使用Excel來處理資料,而條碼則是一種常見的資料識別方式,可以用來標示產品、貨物、文件等。如果可以快速製作出條碼,就可以節省不少時間,讓工作更有效率。本篇文章將教你如何在Excel中快速製作條碼,只要3個步驟,就可以輕鬆完成。