🧮

Notionでのランダムソートの作り方を徹底解説する

背景

📌
Akira Miyauchi氏がランダムソートアイディアを共有されていたので徹底解説してみる。

 

活用の方法

  • 英単語帳のシャッフル学習
  • アイディアフラッシュ
などに
 
 

実際のFormula(関数)

 
一個ずつ解析していきます!
  1. → X
  1. %
  1. → Y
と分解してみていきましょー
 

1. X =

 
  1. → A
    1. idから英字を正規表現でマッチさせ排除
    2. これで数字だけが残る
  1. → B
    1. 10桁にスライス
  1. → C
    1. 数字化する
 
 

2. Y =

    1. 現在時間(分刻み)を返す
  1. → A’
    1. 現在時間をtimestamp化(ミリ秒)
      1. タイムスタンプUnixタイムスタンプの事で1970年1月1日から現在までを秒(ミリ秒)で数えた累積値
  1. → B’
    1. ミリ秒は1000ミリ秒で1秒
    2. 秒は60秒で1分
    3. 分は60分で1時間
    4. 時間は24時間で1日
  1. → C’
    1. タイムスタンプの値を日数化。時間があるため、小数点がつく
    1. 小数点以下を切り捨て
    2. 1970年1月1日から現在まで何日経過したかという計算結果が得られる
      1. そのため、1日経過すると値が変わり、最終的な結果が毎日変わるという意味
 

3. X % Y

XをYで割った余りを算出
 

4. X % Yの結果をソート

これで一日一回コロコロ結果が変わるようになる。

B’計算表

また、 → B’ の値を変更することで、結果が変わるタイミングを変更することが可能(最大1分毎まで)
計算値結果
1週間毎
1日毎
半日毎
1時間毎
1分毎
 
 

以上です!

ロジックを追っていくとなるほどなぁ〜となるものの、ゼロベースでパッとは思いつかないものってありますよね。そんな一例だったかなと思います!
 
Akira Miyauchiさんありがとうございました!