適用対象

Smartsheet
  • Pro
  • Business
  • Enterprise

機能

この機能を使用できるユーザー

  • 所有者
  • 管理者
  • 編集者

数式を使用して日付の計算を実行する

数式を日付列の一部としてセルに入力し、別のセルに格納された日付に対して加算や減算を実行できます。 

ご利用可能なユーザー

プラン:

  • Pro
  • Business
  • Enterprise

権限:

  • 所有者
  • 管理者
  • 編集者

この機能が Smartsheet リージョンまたは Smartsheet Gov に含まれているかどうかを確認してください。

エンタープライズ プランのユーザーは、AI を使用して数式やテキストを生成できます。 

DATE 数式の作成や編集の詳細については、DATE 関数に関する記事を参照してください。 

以下の表は、数式を使った日付の例を示しています。表内の日付の形式は yy/mm/dd (年/月/日) です。日付値に対する操作では、数値は日数として扱われます。DATE 関数の演算では、数値は演算対象となるタイプ (日、月、年) として扱われます。

 日付数式説明結果
124/5/19=[日付]@row - 5日付から 5 日減算24/5/14
224/12/10=[日付]@row + 5日付に 5 日加算24/12/15
324/1/20

=DATE(YEAR([日付]@row), MONTH([日付]@row)+1,DAY([日付]@row))

DATE 関数、YEAR 関数、MONTH 関数、DAY 関数を使用して、日付に 1 か月加算します。

12 月以外のすべての月に使用できます。
24/2/20
424/12/15=IFERROR(MONTH([日付]@row)12, DATE(YEAR([日付]@row), MONTH([日付]@row)+1, DAY([日付]@row)), DATE(YEAR([日付]@row)+1, 1, DAY([日付]@row))

日付に 1 か月を追加します。12 月の日付にも使用できます。

12 月の日付の場合、数式によって結果の月の値が「1 月」を表す 1 に設定されます。 

25/1/15
524/6/10=IF(MONTH([日付]@row)7, DATE(YEAR([日付]@row), MONTH([日付]@row)+6, DAY([日付]@row)), DATE(YEAR([日付]@row)+1, MONTH([日付]@row)-6, DAY([日付]@row))

日付に 6 か月加算します。

結果は次の 2 種類の日付に対応しています。

  • 今年の日付
  • 翌年の日付
24/12/10
624/6/11=[日付]@row-Date5

2 つの日付の間の日数を返します。最初の日付が 2 番目の日付より後であれば日数は正の値になり、前であれば負の値になります。

この結果は、NETDAYS 関数を使用した場合の結果とは異なります。NETDAYS 関数は、最初の日付の開始から 2 番目の日付の終了までの経過時間の合計を算出する関数です。

1

留意点

  • 上記の表の 4 と 5 の場合は、=([日付]@row+183) などのように、大まかな日数を加算することもできます。精度がそれほど必要とされない場合はこの方法を用いることができます。
  • セルの日付の前月の最終日を取得するには、数式 =DATE(@row)-DAY(DATE(@row)) を使用します。
  • 関数 =[日付]@row-DAY([日付]@row)+1 を使用すると、セル値の当月の最初の日を表示できます。
  • 依存関係に使用されている日付列に数式を入力することはできません。
  • DATE 関数では、月の値は最大 12、日の値は最大 31 に制限されます。

日数が 30 日である月に対して DATE 関数を使用する際に日の値 31 を入力すると、その日付は次の月の日付になります。たとえば、2024/11/31 は 2024/12/01 であると DATE 関数に判断されます。

  • 数式の日付計算ではうるう年が認識されます。
  • 開始日と期日の加算 ([開始日]@row+[期日]@row) など、2 つの日付を加算することはできません。実行すると、#INVALID OPERATION エラーが返されます。
  • 日付の範囲に対して AVG 関数、MIN 関数、または MAX 関数を使用すると、指定した数値の平均値となる日付、最も早い日付、または最も遅い日付を取得できます。
  • 日付の関数に空白値を使用するとエラーになります。空白値を扱う場合は IFERROR 関数を使用します。例: =IF((IFERROR(MONTH([日付]@row),0) = 12 6
     

さらにサポートが必要な場合 

数式ハンドブックでは 100 種類以上の数式を説明しており、すべての Smartsheet 機能の用語集も収録しています。一般的な数式や関数、および高度な数式や関数の操作を練習する際にご利用ください。

Smartsheet の他のお客様による関数の使用例を検索したり、Smartsheet オンライン コミュニティで特定の使用例について質問したりすることもできます。

コミュニティに質問する