1
1

rex0220 計算式プラグインの使い方をGPTsに学習させてみる(その13)誕生日から年齢計算してみる

Last updated at Posted at 2023-11-20

rex0220 計算式プラグインの使い方をGPTsに学習させてみる(その12)Error saving draftの続きです。

誕生日から年齢計算する問合せで応答を確認します。

概要

いろいろ学習させてきたので、誕生日から年齢計算する問合せで応答を確認していきます。
最初の応答から、いくつか訂正を行っていくと、分かりやすい計算式になりました。
計算式の作り方を知っている人が、計算式を組み立てるのに利用するには便利だと思います。

スペース項目に当日の年齢を表示するには?

まずは、ざっくりとした要望で応答を確認します。
ちゃんと作成した計算式の解説も入れてくれました。

2023-11-20_09h09_00.png

年齢が 60才以上の場合、年齢を赤色で表示したい

少し条件によって書式を入れる要求をしました。

2023-11-20_09h09_46.png

年齢が 20才未満の場合、年齢を青色で表示したい

さらに別の条件によって書式を入れる要求ですが、前の60才の条件処理が消えてしまいました。
要求の仕方にはコツが必要です。

2023-11-20_09h10_07.png

年齢が 60才以上の場合、年齢を赤色. 年齢が 20才未満の場合、年齢を青色で表示したい

条件を並べて要求したら、条件別の処理になりました。

2023-11-20_09h11_04.png

年齢計算を LET 関数、年齢の判定を IFS を使ってください

計算式がわかりにくいので、LET 関数とIFS 関数を使うように要求。
だいぶわかりやすくなりました。

2023-11-20_09h12_09.png

"年齢" にラベル、"" に ラベルの書式等のコメントをつけて

処理内容が分かるように、コメントを付けてもらいます。

すると、立派なコメントが追加されました。
自分で計算式を作るときには、これほど丁寧なコメントを付けたことがありません。

2023-11-20_09h12_45.png

計算式プラグインに計算式を設定(計算式にエラー)

プラグイン設定画面で、計算式を設定したところ、エラーになりました。
TRUE の式が未定義でした。

2023-11-20_09h19_26.png

2023-11-20_09h20_10.png

IFS で指定している TRUE がエラーになりました

エラーをそのまま報告すると、訂正版の計算式が応答されます。

2023-11-20_09h24_51.png

IFS のデフォルトは、条件が不要です。

訂正版の計算式も冗長なので、IFS に関して訂正するようにします。
いらない条件が削除されました。
この辺は、計算式に詳しくないと分かりにくいですね。

2023-11-20_10h03_27.png

出来上がった計算式

年齢計算を行う計算式が出来上がりました。

年齢計算.js
LET(
    年齢, IF(誕生日, DATE_DIFF(誕生日, "TODAY", "years"), ""),  // 年齢の計算
    ARRAY(
        "年齢",  // ラベル
        "",  // ラベルのスタイル(なし)
        IF(年齢, 年齢 & "", ""),  // 値
        IFS(
            年齢 >= 60, "color:red;text-align:right;",  // 60歳以上の場合、赤色
            年齢 < 20, "color:blue;text-align:right;",  // 20歳未満の場合、青色
            "text-align:right;"  // 上記以外の場合、デフォルトスタイル(右揃え)
        )  // 値のスタイル
    )
)

画面表示

最終の計算式を設定して、kintone の画面で実行確認すると、要件通りの年齢計算が行われました。

2023-11-20_09h28_19.png

画面設定
2023-11-20_10h16_09.png

コメントを10文字以内にして

プラグイン設定画面に設定すると、計算式が見えにくいので、コメントを短くしてもらった。
わがままな要望にも、文句を言わずに答えてくれます。

2023-11-20_13h59_17.png

年齢計算.js
LET(
    年齢, IF(誕生日, DATE_DIFF(誕生日, "TODAY", "years"), ""),  // 年齢計算
    ARRAY(
        "年齢",  // ラベル
        "",  // スタイルなし
        IF(年齢, 年齢 & "", ""),  // 値
        IFS(
            年齢 >= 60, "color:red;text-align:right;",  // 60歳以上赤
            年齢 < 20, "color:blue;text-align:right;",  // 20歳未満青
            "text-align:right;"  // それ以外
        )  // 値スタイル
    )
)
  • コメント変更前
    2023-11-20_13h50_41.png

  • コメント変更後
    2023-11-20_13h52_23.png

まとめ

要件によっては、かなり使える計算式を応答するようになったと思います。
あとは、いろいろなケースに対応できるように、使用法を学習させたいと思います。

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1