LoginSignup
0
0

rex0220 計算式プラグイン テーブル内集計消費税計算

Posted at

kintone のテーブルで、小計に税抜金額、消費税、税込金額を計算してみます。
計算式プラグイン、項目検証プラグイン、項目書式プラグイン、ちょっと便利なプラグインを使います。

概要

税抜金額、消費税、税込金額を計算し、小計行でセット毎の小計を表示します。
テーブルに、小計の計算用項目を追加して、非表示にします。
※テーブル行数が多くなると、計算処理に時間がかかります。

  • 詳細画面
    2023-10-18_10h47_29.png

  • 編集画面
    2023-10-18_10h56_02.png

  • 小計の計算用項目
    2023-10-18_10h46_56.png

操作例

2023-10-18_10h50_43.gif

計算式プラグインの設定

「循環参照を許可」、「非同期計算」をチェックします。

2023-10-18_11h05_08.png

.js
OPTION: 循環参照を許可, 非同期計算

// 税抜金額合計 NUMBER
SUMIF(分類="小計",税抜金額)

// 消費税10%合計:消費税10合計 NUMBER
SUMIF(分類="小計",消費税10)

// 消費税8%合計:消費税8合計 NUMBER
SUMIF(分類="小計",消費税8)

// 税込金額合計 NUMBER
SUMIF(分類="小計",税込金額)

// テーブル.No NUMBER
ROWNO(テーブル)+1

// テーブル.商品 SINGLE_LINE_TEXT (editable)
IF(分類="小計",SUBTABLE(セット名,ROWNO(テーブル)-1),
  商品
)

// テーブル.数量 NUMBER (editable)
IF(分類="明細",数量)

// テーブル.単価 NUMBER (editable)
IF(分類="明細",単価)

// テーブル.税抜金額 NUMBER
SWITCH(分類,
  "明細",単価*数量,
  "小計",SUBTABLE(税抜金額累計,ROWNO(テーブル)-1),
  ""
)

// テーブル.税区分 DROP_DOWN (editable)
IF(分類="明細",税区分)

// テーブル.消費税10%:消費税10 NUMBER
IFS(AND(税区分="10",分類="明細"),
  ROUNDDOWN(単価*数量*税区分/100),
  分類="小計",SUBTABLE(消費税10累計,ROWNO(テーブル)-1),
)

// テーブル.消費税8%:消費税8 NUMBER
IFS(AND(税区分="8",分類="明細"),
  ROUNDDOWN(単価*数量*税区分/100),
  分類="小計",SUBTABLE(消費税8累計,ROWNO(テーブル)-1),
)

// テーブル.税込金額 NUMBER
IF(分類!="概要",TR_SUM(税抜金額,消費税10,消費税8))

// テーブル.セット名 SINGLE_LINE_TEXT (hide)
IF(分類="概要",商品,SUBTABLE(セット名,ROWNO(テーブル)-1))

// テーブル.税抜金額累計 NUMBER (hide)
IF(分類!="概要",
  TR_SUM(税抜金額,SUBTABLE(税抜金額累計,ROWNO(テーブル)-1))
)

// テーブル.消費税10%累計:消費税10累計 NUMBER (hide)
IF(分類!="概要",
  TR_SUM(消費税10,SUBTABLE(消費税10累計,ROWNO(テーブル)-1)),
)

// テーブル.消費税8%累計:消費税8累計 NUMBER (hide)
IF(分類!="概要",
  TR_SUM(消費税8,SUBTABLE(消費税8累計,ROWNO(テーブル)-1)),
)

項目検証プラグインの設定

分類により、入力不可を指定します。
2023-10-18_11h07_44.png

項目書式プラグインの設定

小計行の背景色を設定

2023-10-18_11h09_45.png

ちょっと便利なプラグインの設定

「F21 テーブル行の追加・削除ボタンを左に表示」をチェック
2023-10-18_11h10_52.png

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