計算式では、計算結果として数値・時間・経過時間・文字を求めることができます。


数値を求める

「ラベル」で編集属性が「数値」または「通貨」のみ計算式を記述できます。

計算式には、「テキスト(数値)」「ラベル」で編集属性が「数値」「通貨」の項目名称および数値定数を記述できます。

  • 使える演算記号
    加算: +
    減算: –
    乗算: *
    除算: /
    余り: %
  • 使える関数
    合計: SUM
    ページ間合計: TOTAL (*1)
    平均: AVERAGE
    桁処理: ROUND, ROUNDUP, ROUNDDOWN
    最大値: MAX
    最小値: MIN
    絶対値: ABS
    整数化: INT
    平方根: SQR
  • 関数の記述方法 (*3)
    個別合計: SUM(項目名称,項目名称,項目名称, ….)
    共通変数範囲合計: SUM(項目共通名称:開始No:終了No) ※a
    ページ間合計: TOTAL(項目名称) ※d (*1)
    個別平均: AVERAGE(項目名称,項目名称,項目名称, ….)
    共通変数範囲: AVERAGE(項目共通名称:開始No:終了No) ※a
    四捨五入: ROUND(項目名称,桁数) ※b
    切上げ: ROUNDUP(項目名称,桁数) ※b
    切捨て: ROUNDDOWN(項目名称,桁数) ※b
    個別最大値: MAX(項目名称,項目名称,項目名称, ….)
    共通変数範囲最大値: MAX(項目共通名称:開始No:終了No) ※a
    個別最小値: MIN(項目名称,項目名称,項目名称, ….)
    共通変数範囲最小値: MIN(項目共通名称:開始No:終了No) ※a
    絶対値: ABS(項目名称)
    整数化: INT(項目名称) ※c
    平方根: SQR(項目名称)
    複写: 項目名称
    ※a 項目共通名称とは項目名称から末尾の連番を除いた名称です。
    項目が明細繰り返し項目のとき、項目名称に_を付与する必要があります。 (*2)
    (例)数量_
    開始No, 終了Noとは項目共通名称に続く連番です。
    ※b 桁数には有効桁数を指定します。
    桁数が1 のときは、小数第2位を丸めて小数第1位の値にします。
    桁数が0 のときは、小数第1位を丸めて整数の値にします。
    桁数が-1 のときは、整数1位を丸めて整数の値にします。
    ※c 整数化の際に小数点以下は切捨てます。
    ※d FormPatのデータ入力時にページ追加を行い、すべてのページ合計を求めるときに使用します。
  • 計算式の記述例
    四則演算: ((項目1+項目2-項目3)*項目4)/項目5
    個別合計: SUM(項目1,項目3,項目5,項目8)
    共通変数範囲合計(項目1~項目10): SUM(項目:1:10)
    個別平均: AVERAGE(項目3,項目5)
    共通変数範囲合計(項目3~項目20): AVERAGE(項目:3:20)
    四捨五入: ROUND(項目1,3)
    切上げ: ROUNDUP(項目1,3)
    切捨て: ROUNDDOWN(項目1,3)
    個別最大値: MAX(項目2,項目3,項目5,項目9)
    共通変数範囲最大値(項目1~項目10): MAX(項目:1:10)
    個別最小値: MIN(項目3,項目4,項目6,項目8)
    共通変数範囲最小値(項目3~項目20): MIN(項目:3:20)
    絶対値: ABS(項目1)
    整数化: INT(項目1)
    平方根: SQR(項目1)
    複写: 項目1
    ※ + – * / % , : () の前後にはスペースを入れないでください。
    ※ + – * / % , : () は半角文字を使用してください。
  • 計算式の結果例
    項目1が123.4567 の場合
    ROUND(項目1,3) → 123.457
    ROUNDUP(項目1,3) → 123.457
    ROUNDDOWN(項目1,3) → 123.456
    INT(項目1) → 123
  • 分岐計算式の記述方法
    条件ごとの計算式を記述できます。
    [基本構文]
    SELECT(条件式,計算式):
    条件式で数値を比較し、真なら計算式を実行します。
    条件式には、「テキスト(数値)」「ラベル」で編集属性が「数値」「通貨」または「テキスト(時刻・時間)」「ラベル」で編集属性が「時間」の項目名称および数値定数を記述できます。
    ただし、編集属性が「時間」の項目はすべて秒単位で処理されます。

    SELECTM(条件式,計算式):
    条件式で文字を比較し、真なら計算式を実行します。

    条件式には、「テキスト(文字)」「ラベル」で編集属性が「標準」「標準(全角)」「標準(半角)」の項目名称および文字定数を記述できます。

    [条件式で使える演算子]
    <はLT
    ≦はLE
    =はEQ
    >はGT
    ≧はGE
    ≠はNE
    &は&&
    ※条件式では上記以外の演算子は使用禁止です。
    ※条件式および計算式に分岐計算式(SELECT、SELECTM)、関数(SUM、ROUND 等)も使用禁止です。
    ※SELECT()、SELECTM()間の区切りは | を使用します。| の前方の条件一致が優先されます。
    ※条件式のすべての項目に値が入力されているときに処理されます。1つでも未入力ならブランクを出力します。

  • 分岐計算式の記述例
    A=10~20 のときA+40、B=”D~F”のときA+50、それ以外はA+60
    SELECT(10 ⊔ LE ⊔ A ⊔ && ⊔ A ⊔ LE ⊔ 20,A+40)|SELECTM(“D” ⊔ LE ⊔ B ⊔ && ⊔ “F” ⊔ GE ⊔ B,A+50)|A+60
    ※ A は「テキスト(数値)」、B は「テキスト(文字)」。
    尚、⊔ は半角スペースの意味です。
    ※ + – * / % , | () の前後にはスペースを入れないでください。
    ※ + – * / % , | () は半角文字を使用してください。

時間を求める (*4)

「ラベル」で編集属性が「時間」のみ計算式を記述できます。

計算式には、「テキスト(時刻・時間)」「ラベル」の編集属性が「時間」または「テキスト(数値)」で編集属性が「数値」「通貨」の項目名称および数値定数のみ記述できます。
ただし、「数値」「通貨」の値は秒として計算されます。また、数値定数は秒のみ記述できます。

  • 使える演算記号
    加算: +
    減算: –
    乗算: *
    除算: /
  • 計算式の記述例
    四則演算: 項目1+項目2-項目3
    複写: 項目1

経過時間を求める (*4)

「ラベル」で編集属性が「時間」のみ計算式を記述できます。

計算式には、「テキスト(時刻・時間)」「ラベル」で編集属性が「時刻」の項目名称のみ記述できます。

  • 使える関数
    経過時間:TIMESPAN
  • 関数の記述方法
    経過時間:TIMESPAN(開始日付項目名称,開始時刻項目名称,終了日付項目名称,終了時刻項目名称)
    開始日付項目名称および終了日付項目名称は省略可能です。
    省略する場合、TIMESPAN(“”,開始時刻項目名称,””,終了時刻名称)と記述します。このとき、開始時刻>終了時刻なら日付またがりと判断します。

文字を求める (*4)

「ラベル」で編集属性が「標準」のみ計算式を記述できます。

計算式には、「テキスト(文字)」「ラベル」で編集属性が「標準」「標準(全角)」「標準(半角)」の項目名称および文字定数のみ記述できます。
ただし、STRSELECTの条件式には、「テキスト(数値)」「ラベル」で編集属性が「数値」「通貨」の項目名称を記述できます。

  • 使える演算記号
    結合: +
  • 計算式の記述例
    文字列結合: 項目1+項目2+項目3
    複写: 項目1
  • 分岐計算式の記述方法
    条件ごとの計算式を記述できます。
    [基本構文]
    STRSELECT(条件式,計算式):
    条件式で数値を比較し、真なら計算式を実行します。
    条件式には、「テキスト(数値)」「ラベル」で編集属性が「数値」「通貨」および「テキスト(時刻・時間)」「ラベル」で編集属性が「時間」の項目名称および数値定数を記述できます。
    ただし、編集属性が「時間」の項目はすべて秒単位で処理されます。また、数値定数でも秒のみ記述できます(時間単位は記述できません)

    STRSELECTM(条件式,計算式):

    条件式で文字を比較し、真なら計算式を実行します。
    条件式には、「テキスト(文字)」「ラベル」で編集属性が「標準」「標準(全角)」「標準(半角)」の項目名称および文字定数を記述できます。

    [条件式で使える演算子]
    <はLT 文字の比較順?
    ≦はLE
    =はEQ
    >はGT
    ≧はGE
    ≠はNE
    &は&&
    ※条件式では上記以外の演算子は使用禁止です。
    ※計算式では結合記号 + を使用できます。
    ※条件式および計算式に分岐計算式(STRSELECT、STRSELECTM)は使用禁止です。
    ※STRSELECT()、STRSELECTM()間の区切りは | を使用します。| の前方の条件一致が優先されます。
    ※条件式のすべての項目に値が入力されているときに処理されます。1つでも未入力ならブランクを出力します。

  • 分岐計算式の記述例
    A=10~20 のとき”あいうえお”、B=”D~F”のとき”かきくけこ”、それ以外は”その他”
    STRSELECT(10 ⊔ LE ⊔ A ⊔ && ⊔ A ⊔ LE ⊔ 20,”あいうえお”)|SELECTM(“D” ⊔ LE ⊔ B ⊔ && ⊔ “F” ⊔ GE ⊔ B,”かきくけこ”|”その他”
    ※ A は「テキスト(数値)」、B は「テキスト(文字)」。
    尚、⊔ は半角スペースの意味です。
    ※ + – * / % , | () の前後にはスペースを入れないでください。
    ※ + – * / % , | () は半角文字を使用してください。

(*1) FormPat v7.0.0 および デザイナー v7.0.0以降の機能です。
(*2) デザイナー v6.0.0 以降の機能です。
(*3) 計算式で関数の中に関数を定義する入れ子構造は定義できません。また、明細繰り返し項目の同じ明細行では「項目共通名称」を定義する関数は使用できません。
(*4) FormPat v7.1.0 以降の機能です。