Notion Formula 2.0 變數功能(lets)
平常有在 Notion 自建資料庫,用來記錄股票的買賣還有計算損益。
前陣子 0050 說要分割,因為有點擔心這件事情會把我的表格弄壞,所以重新檢視了一下我寫的公式,順便用後來更新的 2.0 版 formula 改寫一遍。
好奇查了一下 Formula 2.0 已經是兩年前的東西了,我到底多久沒有更新資訊?
用到公式計算的欄位其實很簡單:交易成本。也就是當我手動輸入股數跟股價之後,它會自動幫我把手續費、證交稅算出來。只是這其中也牽扯到一些簡易的判斷邏輯(例如只有賣出才有證交稅),所以用原本的 formula 寫出來有點難以閱讀。
後來出的變數功能很好的改善了這點,只是他寫起來跟一般寫程式很不一樣,需要花點時間讓頭腦轉換一下。
變數 lets 介紹
根據官方範例,變數的寫法如下:
1 | lets( |
前面的參數兩兩一對,第一個是變數名稱,第二個是要存在變數裡面的值,或運算式。最後一個參數是輸出結果。
所以這個東西一定是奇數個參數(2N+1)。
實際需求
回到我的需求,實際寫起來長這樣
1 | lets( |
省略了點東西,但應該不難閱讀:先把總價計算出來放在第一個變數,然後分別用總價計算手續費與證交稅,一樣存在各自的變數裡,最後一行的計算階段判斷該筆交易費用是純手續費還是要加證交稅。
這邊可以注意到的小細節是,前面定義好的變數amount
,下個參數fee
馬上就可以拿出來用了,不是只有最後的輸出階段才能用。
至於最後的if
函數,應該不用特別介紹吧?他就是三元運算子
1 | // a>b ? a : b; |
股票分割呢?
回到最初的困擾:我要怎麼紀錄股票分割?我最後的做法是在分割日記一筆賣出全部股票,然後在分割完成後用新的價格買入新的張數。
只是這樣我的交易成本公式又變得更複雜了,因為我還要判斷這兩筆虛擬交易,沒有任何交易費用。
參考資料
Formulas 2.0: How to use Notion’s new and improved formulas with your existing setups