LoginSignup
1
1

More than 1 year has passed since last update.

rex0220 計算式プラグインでテーブル行複写

Last updated at Posted at 2020-03-06

計算式プラグインで行複写出来ないかと相談を受けたので、やってみました。
テーブル行を追加時に、1行前の項目値を複写します。

行複写の操作例

2020-03-06_21h44_04.gif

環境

アプリ設定

テーブル内に、文字列、ドロップダウン、チェックボックスと複写制御用の文字列項目を配置します。

フォーム設定

2020-03-06_21h15_49.png

複写制御用の文字列項目

初期値を"0" にします。計算を最後にするため、テーブルの右端に配置します。
タイプは、文字列・ドロップダウン・ラジオボタンでもOKです。

2020-03-06_21h27_47.png

計算式プラグインの設定

テーブル内の複写対象項目と複写制御用項目に、計算式を設定します。

  • 「循環参照を許可」をチェックします。
  • 行複写対象の項目は、計算式を設定し「編集」をチェックします。
2020-03-06_21h20_56.png

文字列項目T1

2行目以降で、複写制御=="0" の場合、1行前の値を設定
それ以外は、自項目を設定

  • 文字列項目T1

    IF(AND(ROWNO(複写制御)>0,複写制御=="0"),

    SUBTABLE(文字列T1,ROWNO(複写制御)-1),文字列T1)

ドロップダウンT1

ドロップダウン・ラジオボタンは、文字列項目と同様です。

  • ドロップダウンT1

    IF(AND(ROWNO(複写制御)>0,複写制御=="0"),

    SUBTABLE(ドロップダウンT1,ROWNO(複写制御)-1),ドロップダウンT1)

チェックボックスT1

複数の値を持つチェックボックスや複数選択項目は、ARRAY関数で設定します。

  • チェックボックスT1

    IF(AND(ROWNO(複写制御)>0,複写制御=="0"),

    SUBTABLE(ARRAY(チェックボックスT1),ROWNO(複写制御)-1),
    ARRAY(チェックボックスT1))

複写制御

計算処理済み"1"にします。非表示をチェックします。

  • 複写制御

    "1"
1
1
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
1
1