Formia

計算と条件 4 / 8

明細の合計を出す

見積書や日報のように行を足していく明細(繰り返しテーブル)で、行ごとの金額・小計・合計・件数を式で自動計算する方法を、見積アプリの例で説明します。条件つきの合計も扱います。

約4分で読めます

Formia マニュアルの目次(章と記事の一覧)
はじめに
アプリを使う
アプリをつくる
入力項目ガイド
計算と条件
一覧とビュー
ワークフロー(承認)
自動化
帳票(PDF・印刷)
権限とユーザー
公開フォームと連携
現場・オフライン
運用・管理
この記事の内容

見積書、経費精算、日報など、行を足していく入力では、行ごとの計算と、全体の合計が必要です。Formiaでは、明細は「繰り返しテーブル」という項目で作り、行の計算と合計は式で自動化できます。この記事では、見積アプリを例に説明します。

2つの計算を分けて考える

明細まわりの計算は、場所が2つに分かれます。

計算書く場所例
行の中の計算明細の中の列(子項目)の計算式金額 = 数量 × 単価
行をまたぐ集計明細の外の項目の計算式小計 = 全行の金額の合計

行の中の計算

明細の中の「金額」列に、次の式を設定します。

=qty * price

行の中では、同じ行の項目をkeyだけで呼べます。1行ごとに計算され、行を足したり数量を変えたりすると、その場で更新されます。

行をまたぐ集計

明細の外にある「小計」「合計金額」の項目に、行の合計を計算する式を設定します。明細のkeyがitemsの場合、items[].amountが「全行の金額のリスト」になります。

=SUM(items[].amount)

見積アプリでは、消費税と合計金額もこの小計から計算しています(税の計算は税の計算で説明します)。

見積・受注管理のフォーム設計画面。左の「ロジック」タブに、金額、小計、消費税、合計金額の計算式が並ぶ
見積・受注管理のフォーム設計画面。左の「ロジック」タブに、金額、小計、消費税、合計金額の計算式が並ぶ

画面の左の「ロジック」タブに、行の金額(qty * price)、明細の小計(SUM(items[].amount))、消費税、合計金額が一覧になっています。

条件つきの合計と件数

行の一部だけを集計したいときは、SUMIF・COUNTIF・FILTERを使います。@itemが、いま見ている1行です。

=SUMIF(items, @item.rate == 8, @item.amount)       ← 税率 8% の行だけの金額の合計
=COUNTIF(items, @item.amount >= 10000)             ← 1 万円以上の行の数
=COUNT(FILTER(tasks[].kind, @item == '訪問'))      ← 日報で「訪問」の作業の件数

合計行を表示する

明細の設定には、「合計行を表示」があります。表の下に合計の行を出したいときは、これを入れます。小計や合計を1つの項目として保存し、一覧や帳票でも使いたいときは、上のように計算式の項目を作ります。

行を足せる数

明細の設定で、「最小行数」「最大行数」「追加ボタンの文字」を決められます。スマホでは、明細の各行がカードの形に切り替わります。

関連する記事

Formia マニュアルの一覧へ

Formia

ノーコードで、業務アプリを作ろう。

どんな業務をアプリにしたいか、お聞かせください。ひな形から、Formia でどんなアプリになるかをその場で試作してお見せします。

資料請求・デモのご相談