はじめに

テーブル中のフィールド最小値を計算する」や「レコード中のフィールド最小値を計算する」など、同一フィールドの場合は最小値を取得する方法があります。

しかし、複数のフィールドの場合はこれらの「やること」が使えないので、最小値を取得するには工夫が必要です。


今回のカスタマイズで出来ること

3つの日付フィールドの値を変えると、その中の最小の日付を文字列にコピーします。



追加先アプリには以下のフィールドを作成しました

フィールド名

フィールドコード

フィールドタイプ

日付1

日付1

日付

日付2

日付2

日付

日付3

日付3

日付

最小の日付

最小の日付

日付


Customineの設定

設定はこのようになります。

シンプルですね。


解説

対象が日付なので「stringmin 関数」で文字列としての最小値を取得します。

見た目には分かりづらいですが、[] 内に3つのフィールドがあります。


= stringmin([日付1, 日付2, 日付3])


日付フィールドに空白が含まれる場合

日付フィールドのどこかに空白がある場合は最小値は空白となりますので、空白以外の最小値を取得したいという場合は少し工夫が必要です。


まず「if 関数」で空白の場合は値を 2199-12-31 に変更してみます。


if(日付_1 = "", "2199-12-31", 日付_1)


こうする事で、空白を除外できます。


これを「stringmin 関数」と組み合わせてみます。


= stringmin([if(日付1 = "", "2199-12-31", 日付1), if(日付2 = "", "2199-12-31", 日付2), if(日付3 = "", "2199-12-31", 日付3)]) 


これで、空白以外の最小値が取得できます。


当然のことながら、2199-12-31を超える日付が入力されている場合は正常に動作しません。その場合は2199-12-31としている箇所を、2999-12-31にするなどの対応をお願いします。


まとめ

今回のように「関数」をつかうことで「やること」だけでは難しいケースも実現することが出来ます。


色々な「関数」がありますので、リンク先もご確認ください。


また、実際に作成してみられてご不明な点などございましたら、お気軽にチャットでご質問ください。