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 計算式プラグイン ボタンクリックでテーブル行追加その2(FSET_TADD版)

0
Posted at

計算式プラグインを使って、ボタンクリックでテーブル行を追加する例その2(FSET_TADD版)です。

概要

「テーブルセット」ボタンで、テーブル外項目からテーブルに値をセットします。
テーブルが1行で氏名が未設定の場合、1行目に追加。それ以外はテーブル行を追加してセット。

2025-11-20_17h59_34.png

計算式プラグイン設定

2025-11-20_18h01_18.png

OPTION: 非同期計算

// header1:($HEADER1) HEADER
BUTTON("テーブルセット",
  LET(
    row, ARRAY(DIC(
         "氏名T", 氏名,
         "ふりがなT", ふりがな,
         "役職T", 役職
       )),
    IF(AND(COUNTROW(テーブル)=1,NOT(氏名T)),
      FSET(テーブル,TABLE_DATA(row)),
      FSET_TADD(テーブル,row)
    )
  )
)

// header2:($HEADER2) HEADER
BUTTON("テーブルクリア",
  LET(
    row, ARRAY(DIC()),
    FSET(テーブル,TABLE_DATA(row))
  )
)

解説

🔍 全体の動作イメージ

「テーブルセット」ボタンを押すと:

  1. 氏名・ふりがな・役職 の3つのフィールド値を → テーブル1行分のデータ(Dictionary)として作成
  2. テーブルの行数が 1行 かつ 氏名T が空 の場合 → FSET でその行を上書き
  3. それ以外の場合 → FSET_TADD で行を追加

🧩 計算式の分解解説

BUTTON("テーブルセット",
  LET(
    row, ARRAY(DIC(
         "氏名T", 氏名,
         "ふりがなT", ふりがな,
         "役職T", 役職
       )),
    IF(AND(COUNTROW(テーブル)=1,NOT(氏名T)),
      FSET(テーブル,TABLE_DATA(row)),
      FSET_TADD(テーブル,row)
    )
  )
)

① BUTTON 関数(ヘッダースペースにボタン表示)
BUTTON はヘッダーやスペースにボタンを表示し、クリック時に処理を実行します。

② LET で変数 row を作成
テーブル1行分のデータを DIC(辞書)で作り、ARRAY で配列化します。

③ IF 条件
COUNTROW(テーブル)=1 かつ 氏名T が空 の場合を初期セットと判定。

④ 条件が真:FSET で1行目を書き換え
⑤ 条件が偽:FSET_TADD で行追加


📝 動作まとめ

  • テーブルが 1行で氏名T が空 → 上書き
  • それ以外 → 行追加

👍 よくある用途

  • 入力フォームの内容をそのままテーブルに転記
  • 初回は空行に上書き、2回目以降は追加
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?