逆引きFormula に戻る

Reddit に通番を Formula で作成したという投稿があったそうです。興味があるので作ってみました。あまりに力技なのでオススメはしませんが、作りたい人の参考になればということで。

r/Notion - Auto-Increment New Table Row - HACK (more info in comments)

  1. 親のテーブルを準備します。

    親のテーブル

  2. 子のテーブルも準備します。作成日時の列を作ります。また、比較をするためにタイムスタンプに変換しておきます(作成日時数値)。さらに親へのリレーションを貼ります。

    子のテーブル

  3. 親のテーブルに子のテーブルの作成日時数値のロールアップを作っておきます。

    親のテーブル

  4. 子から参照できるようにロールアップを数式で参照しておきます。

    親のテーブル

  5. 子のテーブルに親の参照用作成日時のロールアップをさらにロールアップしてきます。

    子のテーブル

  6. 子のテーブルで、作成日時数値を文字列に変換したものを探し、それより右側にある文字列を消します。残った「,」の数が自分より小さいものの数になります。そのため、+1 をすれば自分の番号が計算できるということです。オリジナルのものとは違う数式にしています。こっちの方が簡単。

    length(replaceAll(replace(prop("子の作成日時一覧(参照の参照)"), concat(format(prop("作成日時数値")), ".*"), ""), "[^,]", "")) + 1
    

    子のテーブル

  7. 入力してもらえるようにフィルタをかけた Linked Database を用意します。ID を一列目にして余計なものを見えないようにしておけば完成です。

    子のテーブル