Formia

計算と条件 2 / 8

よく使う関数

条件分岐のIF、合計のSUM、数えるCOUNT、明細を絞るFILTER、どれかが当てはまるか調べるANYなど、Formiaの式でよく使う関数を例つきで紹介します。

約5分で読めます

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

Formiaの式には、Excelのように使える関数が約90個あります。この記事では、現場でよく使うものを選んで、書きかたと使いどころを紹介します。関数名は大文字で書きます。

条件で値を切り替える

関数はたらき例
IF(条件, 真, 偽)条件で値を切り替える=IF(amount >= 1000000, '部長', '課長')
AND(…) OR(…) NOT(x)条件を組み合わせる=AND(qty > 0, price > 0)
SWITCH(値, 候補1, 結果1, …, 既定値)値に応じて結果を選ぶ=SWITCH(kind, '半日', 0.5, '全日', 1, 0)
COALESCE(a, b, …)最初の入力済みの値を使う=COALESCE(nickname, name)
ISBLANK(x) ISNOTBLANK(x)未入力かどうか=ISNOTBLANK(note)

数える・合計する・丸める

関数はたらき例
SUM(リスト)合計(空のときは0)=SUM(items[].amount)
AVG(リスト)平均(空のときは未入力)=AVG(scores[].point)
COUNT(リスト)入力のある要素の数=COUNT(items)
MIN MAX最小・最大=MAX(a, b)
ROUND(x, 桁)四捨五入=ROUND(amount * 0.1, 0)
FLOOR(x, 桁) CEIL(x, 桁)切り捨て・切り上げ=FLOOR(amount * 0.1, 0)

丸めの使い分けは税の計算で説明します。

文字を扱う

関数はたらき
CONCAT(…)または&文字をつなげる
LEFT RIGHT MID文字の一部を取り出す
TRIM前後の空白(全角も)を取る
REPLACE(文字, 検索, 置換)置き換える
CONTAINS(文字, 一部)含むかどうか
PAD_LEFT(文字, 長さ, 文字)左を0などで埋める

日付を扱う

TODAY()(今日)、ADD_DAYS、ADD_MONTHS、DIFF_DAYS、END_OF_MONTH、AGEなどがあります。詳しくは日数・期間の計算を見てください。

明細(リスト)を絞る・調べる

明細のように複数の行があるときは、次の関数を使います。条件や式の中では、@itemが「いま見ている1行」を表します。

関数はたらき例
FILTER(リスト, 条件)条件に合う行だけ残す=COUNT(FILTER(tasks[].kind, @item == '訪問'))
ANY(リスト, 条件)どれか1行でも条件に合うか=ANY(rows, @item.result == 'ng')
ALL(リスト, 条件)すべての行が条件に合うか=ALL(rows, @item.result == 'ok')
COUNTIF(リスト, 条件)条件に合う行の数=COUNTIF(rows, @item.amount > 1000)
SUMIF(リスト, 条件, 式)条件に合う行だけ合計=SUMIF(rows, @item.result == 'ok', @item.amount)
MAP(リスト, 式)各行を式で変換する=JOIN(MAP(rows, @item.item), '、')

評価できない関数

IS_UNIQUE(同じ値の回答がほかにないか)とIS_BUSINESS_DAY(営業日か)は、サーバーだけで評価します。入力中の画面では判定できないため、表示条件には使えません。計算式や入力チェックには使えます。

関連する記事

Formia マニュアルの一覧へ

Formia

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

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

資料請求・デモの相談 →

トライアルは法人のお客様向けです。個人の方は、有料プランのお申し込みをご利用ください。