計算式プラグインで、テーブル行の自動追加・更新を行う例のその2です。
概要
日付または科目の変更時に、テーブル行の追加・更新を行います。
テーブルに該当日付・科目が無い場合は、行追加。ある場合は更新します。
テーブルは、日付’科目順にソートします。
※rex0220 計算式プラグイン テーブル行の自動追加・更新に科目を追加した例です。
計算式プラグイン設定
日付と科目をキーにして、該当する行が無ければ行を追加。あれば出欠を更新。
.js
OPTION: 循環参照を許可
// 出欠一覧 SUBTABLE (editable)
TABLE_SORT(出欠一覧,
TPFILTER(AND(日付_一覧,科目_一覧)),
TPSORT(日付_一覧,科目_一覧)
)
// 計算処理用 SINGLE_LINE_TEXT (hide)
IF(AND(日付,科目),
LET(
key, DATE_FORMAT(日付)&":"&科目,
rno, FIRSTIF((DATE_FORMAT(日付_一覧)&":"&科目_一覧)==key,ROWNO(出欠一覧)),
IF(rno === "",
LET(
row, JSON_S(ARRAY(DIC(
"日付_一覧",DATE_FORMAT(日付),
"出欠_一覧",出欠,
"科目_一覧",科目
))),
FSET_TADD(出欠一覧, row)
),
FSET(出欠_一覧, 出欠, rno)
)
)
)```