| v4.11 | リリース |
v4.11 では、数式で日付の加算・減算や期間計算が行える「日付計算用カスタム関数」が追加されました。
本ページでは、日付型変数の扱い方と、日付計算用カスタム関数の仕様・利用例・注意点を説明します。
数式型入力欄の基本的な使用方法は「数式ページ」を参照してください。
1.日付型変数について
本ドキュメントでは、日付計算用カスタム関数の「日付型」の引数として使用できる値をまとめて「日付型変数」と呼びます。
1-1. 日付型変数として使用できる入力欄
日付型変数として使用できるのは、次のいずれかに該当する入力欄です。
- 日付型の入力欄
-
YYYY-MM-DD形式の値がセットされている入力欄(テキスト型、選択リスト型、数式型など)
※年は4桁、月と日は2桁(0埋め)で記述する必要があります。例: 2025-01-05(正)、2025-1-5(誤)
2.日付計算用カスタム関数
日付計算用カスタム関数を使うと、日付の加算・減算・差分計算・年月日の抽出など、日付に関するさまざまな処理を行えます。
日付型の引数には、1章で説明した日付型変数、または返却型が「日付」の関数(DATE、ADDDAYS等)を渡すことができます。
それ以外の値を渡すと、計算が行われず結果は空になります。
| 関数名 | 概要 | 入力型 | 返却型 | 使い方 |
| ADDDAYS |
日付に指定した日数を加算します。 負の数を指定すると減算されます。 |
(日付, 数値) | 日付 |
|
| ADDMONTHS |
日付に指定した月数を加算します。 負の数を指定すると減算されます。 ※計算結果が存在しない日付(例: 2月31日)になる場合、自動的にその月の末日になります。 |
(日付, 数値) | 日付 |
→
→ |
| DATE | 年・月・日から日付を生成します | (数値, 数値, 数値) | 日付 |
→ |
| DAY | 日を数値(1~31)で返します | (日付) | 数値 |
→ |
| DAYSBETWEEN | 2つの日付間の日数を計算します。結果は (第2引数 - 第1引数) となり、正負の値を返します | (日付, 日付) | 数値 |
|
| MONTH | 月を数値(1–12)で返します | (日付) | 数値 |
→ |
| WEEKDAY | 曜日を数値(1=日〜7=土)で返します | (日付) | 数値 |
→ |
| YEAR | 年を数値で返します | (日付) | 数値 |
→ |
3.日付関数を用いた計算
ここでは日付関数の使用例をいくつか紹介します。
3-1. 入力された日付のNか月後・M日後を計算
変数として与えられた申請日から1ヶ月1日後の期限日を自動計算します。
設定
- 変数:
{セクション1.項目1.申請日}(日付型入力欄) - 数式設定:
ADDDAYS( ADDMONTHS({セクション1.項目1.申請日}, 1), 1)
実行結果
- 申請日が
2025-08-27の場合、2025-09-28になります
3-2. 入力された日付の月初を計算
変数として与えられた基準日から年と月を取得し、日を1日に指定して月初を計算します。
設定
- 変数:
{セクション1.項目1.基準日}(日付型入力欄) - 数式設定:
DATE(YEAR( {セクション1.項目1.基準日} ), MONTH( {セクション1.項目1.基準日} ), 1)
実行結果
- 基準日が
2025-08-27の場合、2025-08-01になります
3-3. 2つの日付間の月数を計算
変数として与えられた開始日と終了日の月数差を計算します。
設定
- 変数:
{セクション1.項目1.開始日}(日付型入力欄) - 変数:
{セクション1.項目1.終了日}(日付型入力欄) - 数式設定:
(YEAR({セクション1.項目1.終了日}) - YEAR({セクション1.項目1.開始日})) * 12 + (MONTH({セクション1.項目1.終了日}) - MONTH({セクション1.項目1.開始日}))
※この式では「日」の部分は無視し、年と月だけを使って月数差を計算しています。
実行結果
- 開始日が
2025-01-15・終了日が2025-08-27の場合、計算結果は7になります
3-4. 申請開始日から10日後を計算
申請開始日を基準に日付計算をしたい場合は、「申請開始日」をプリセット値に設定した日付型入力欄を用意し、その入力欄を数式から参照します。
設定
- 日付型の入力欄を作成
- プリセット値で「申請開始日」を設定
- プリセット値をセットした入力欄を数式の変数として使用
実行結果
- 申請開始日から10日後の日付が自動計算されます。
4. 注意点
4-1. 日付型変数の四則演算
日付型の変数は数値型の変数と違って四則演算(+, -, *, /)には対応していません。
代わりに次の関数を使用してください。
- 日付 ± 日数 →
ADDDAYS(日付, 日数) - 日付 ± 月数 →
ADDDAYS(日付, 月数) - 2つの日付の差(日数) →
DAYSBETWEEN(日付1, 日付2)
4-2. 文字列結合について
日付計算用カスタム関数を使用できるのは、数式設定で「文字列結合」のチェックボックスがオフになっている場合のみです。