0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

rex0220 計算式プラグイン ボタンクリックでテーブル内項目の更新

Last updated at Posted at 2024-10-03

計算式プラグインを使って、ボタンクリックでテーブル内項目の更新する例です。

概要

FSET 関数で、テーブル内項目を指定できるようになりました。
配列のループ処理ができる ARRAY_MAP 関数や、テーブルの集計関数の SUMIF 関数と FSET 関数を組み合わせて、テーブル内項目を更新できます。
※Ver.82 以降

「完了日時設定」で、作業ステータスが "完了"の場合、日時に現在時刻を設定します。
「完了日時設定2」も同様に作業ステータスが "完了"の場合、日時に現在時刻を設定しますが、計算式で使用している関数が異なります。

※計算式プラグイン Ver.82 以降で対応

2024-10-04_08h10_33.png

操作例

2024-10-04_08h14_40.gif

アプリ設定

スペース項目を追加します。
ボタン用にスペース項目を要素IDをつけて設定

2024-10-04_08h18_31.png

計算式プラグイン設定

  • SP4: テーブル行のループ処理に ARRAY_MAP 関数を使用
    • テーブル内項目の「日時」を参照するには、SUBTABLE 関数が必要
    • 処理中のテーブル行位置は、idx
  • SP5: テーブル行のループ処理に SUMIF 関数を使用
    • SUMIF 内で、テーブル内項目の「日時」参照する場合は、そのまま「日時」でOK
    • 処理中のテーブル行位置は、ROWNO(タスク)

2024-10-04_08h16_22.png

.js
OPTION: 循環参照を許可

// SP4:(SP4) SPACER
BUTTON("完了日時設定",
  ARRAY_MAP(TARRAY(作業ステータス),x,idx,
     IF(AND(x="完了",SUBTABLE(日時,idx)=""),
       FSET(日時,NOW(),idx)       
     )
  )
)

// SP5:(SP5) SPACER
BUTTON("完了日時設定2",
  SUMIF(AND(作業ステータス="完了",日時=""),
    FSET(日時,NOW(),ROWNO(タスク))       
  )
)

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?