今回は標準機能(計算フィールド)でバブルソートというアルゴリズムを用いて、
昇順ソート(小さい順に並べる)してみたいと思います。
kintoneに入力した数値を小さい順に並べ替えます。
↓出来上がりイメージ
バブルソートとは?
バブルソートについては、先人たちがたくさんの記事を書いておられますので、
そちらをご参照ください。
本記事は、kintoneでバブルソートで「小さい順に並べる」を作ってみただけの内容となります。
↓バブルソート参考記事
アプリの準備
フィールドがたくさんあって大変です。
入力と結果の部分
フィールド種類 | フィールドコード | 備考(計算式) |
---|---|---|
数値 | a | |
数値 | b | |
数値 | c | |
数値 | d | |
数値 | e | |
計算 | A | IF(a5<=b6, a5, b6) |
計算 | B | IF(a5>=b6, a5, b6) |
計算 | C | IF(b5>=c4, b5, c4) |
計算 | D | IF(c3>=d2, c3, d2) |
計算 | E | IF(d1>=e, d1, e) |
グループ内1回目
グループでは途中計算をしています。
a,bの比較からd,eの比較までしています。
aとbを比べて小さい方がa1に、大きいほうがb1に入り、
b1とcを比べて小さい方がb2に、大きいほうがc1に入り、・・・
といったように順番に隣り合う値を比較して、
小さい値をアルファベットの小さい方に入れる
大きい値をアルファベットの大きい方に入れる
という感じで計算式を作っています。
1回目でEの値が決まりますが、グループ内の途中計算の方には表示せず、結果の方だけに「E」を表示しています。
フィールド種類 | フィールドコード | 備考(計算式) |
---|---|---|
計算 | a1 | IF(a<=b, a, b) |
計算 | b1 | IF(a>=b, a, b) |
計算 | b2 | IF(b1<=c, b1, c) |
計算 | c1 | IF(b1>=c, b1, c) |
計算 | c2 | IF(c1<=d, c1, d) |
計算 | d1 | IF(c1>=d, c1, d) |
計算 | d2 | IF(d1<=e, d1, e) |
グループ内2回目と3回目
1回目と同様、
a1,b2を比べて小さい方がa3に、大きい方がb3に入り、
b3,c2を比べて小さい方がb4に、大きいほうがc3に入り、・・・
といった比較をしています。
フィールド種類 | フィールドコード | 備考(計算式) |
---|---|---|
計算 | a3 | IF(a1<=b2, a1, b2) |
計算 | b3 | IF(a1>=b2, a1, b2) |
計算 | b4 | IF(b3<=c2, b3, c2) |
計算 | c3 | IF(b3>=c2, b3, c2) |
計算 | c4 | IF(c3<=d2, c3, d2) |
計算 | a5 | IF(a3<=b4, a3, b4) |
計算 | b5 | IF(a3>=b4, a3, b4) |
計算 | b6 | IF(b5<=c4, b5, c4) |
まとめ
なにか使えるポイントはないかなと考えましたが、
たとえば、工夫次第では・・・ルックアップで取ってきたデータを並び替えるという事もできます👀✨✨