ボタンクリックでテーブル行追加

「ボタンを押すだけでテーブルに行を追加したい!」
そんな時に便利な計算式を使ったパターンを紹介します:blush:

この記事では、

  • 既存テーブルに行を追加する
  • 1行目が空のときだけ上書き、それ以外は追加

といった計算式ならではの実装ポイントをまとめています。


:pushpin: 動作イメージ

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

  • 氏名・ふりがな・役職 を
    1行分のデータ(Dictionary)に変換
  • テーブル行が1行のみ & 氏名が未入力なら「上書き」
  • それ以外なら FSET_TADD で行を追加

:abacus: 使用している計算式

BUTTON("テーブルセット",
  LET(
    row, ARRAY(DIC(
         "氏名T", 氏名,
         "ふりがなT", ふりがな,
         "役職T", 役職
       )),
    IF(AND(COUNTROW(テーブル)=1,NOT(氏名T)),
      FSET(テーブル,TABLE_DATA(row)),
      FSET_TADD(テーブル,row)
    )
  )
)
  • DIC() で1行分のデータ生成
  • ARRAY() で行配列化
  • TABLE_DATA() でテーブル形式へ変換
  • FSET_TADD() でテーブルに行追加

:sparkles: こんな時に便利

  • 入力フォームを簡単にしたい
  • テーブルに追加入力する UI を作りたい
  • ボタンクリックでデータ操作したい

計算式だけで UI を作り込めるのが rex0220 計算式プラグインの強みです!


元記事はこちら:backhand_index_pointing_down: