Jump to content

Documentation/Calc 関数/DATE

From The Document Foundation Wiki
This page is a translated version of the page Documentation/Calc Functions/DATE and the translation is 100% complete.


Function name:

DATE

Category:

Date and Time

Summary:

指定された 年、月、および 日 の値の日付を (日時のシリアル値として) 計算します。

Syntax:

DATE(; ; )

Returns:

指定された引数を使用して計算された日時のシリアル値の整数部分を返します。戻り値はデフォルトで日付として書式設定されますが、必要に応じて他の書式を適用できます。

Arguments:

は、負でない整数値、またはその値を含むセルへの参照です。この値は使用される年です。0~99の範囲の値は、ツール ▸ オプション ▸ LibreOffice ▸ 全般 ダイアログの 年(2桁) の設定に従って4桁の年に変換されます。ただし、混乱を避けるために、常に4桁の年を使用することをお勧めします。

は整数値、またはその値を含むセルへの参照で、使用される 月 です。正の値と負の値の両方が受け入れられます。通常の1~12の範囲外の値は、計算された年の値に繰り越されます。

は整数値、またはその値を含むセルへの参照で、使用される 日 です。正の値と負の値の両方が受け入れられます。通常の範囲 (月に応じて1~31) 外の値は、計算された月の値に繰り越されます。

  • 、または のいずれかが数値でない場合、DATE は #VALUE! エラーを返します。
  • 、または のいずれかが整数以外の値である場合、 DATE は整数に切り捨てます。
  • の引数に値が指定されていない場合 (たとえば、 =DATE(; 1; 1))、 DATE は変数不足エラー (エラー:511) を返します。 引数にも 引数にも値が指定されていない場合(たとえば、=DATE(2021; ; ))、DATE は既定値の 0 を適用します。
  • 引数の値が負の場合、DATE は無効な引き数エラー (エラー:502) を返します。
  • DATE が 1582-10-15 (グレゴリオ暦が導入される前) より前の日付に対応する日時のシリアル値を計算する場合、DATE は#VALUE! エラーを返します。
  • ODF 1.2 では、DATE が 9956 までの年の値を受け入れる必要があります。Calcの実装では、この制限を超える年の値が処理されます。

Additional details:

Calc の 日付と時間 の関数に関する一般事項

Note:
便宜上、このサブセクションの情報は、日付と時間 カテゴリの機能を説明するすべてのページで表示されます。

  • Calcの内部では、日付/時間の値は実数として処理され、日時のシリアル値 と呼ばれることもあります。たとえば、2021-02-08 12:00:00 は、日時のシリアル値 44235.5 に対応します。日時のシリアル値 の整数部分(小数点の前)は、定義された開始日からの日数です。日時のシリアル番号の小数部分(小数点の後)は、1日の分数として表される時刻です。たとえば、0.25 は 06:00:00 に相当し、 0.75 は 18:00:00 に相当します。
  • Calcでは、デフォルトの開始日(ゼロの日) として 1899-12-30 を使用していますが、ツール ▸ オプション ▸ LibreOffice Calc ▸ 計算式 に移動して別の開始日を選択することもできます。ただし、従来のスプレッドシート アプリケーションとの互換性に関する特定の要件がない限り、この設定を変更しないことをお勧めします。異なるスプレッドシート間で日付値を含むセルをコピーして貼り付ける場合は、表示される日付が予期せず変更されないように、両方のドキュメントが同じ開始日を使用するように設定されていることを確認してください。
  • 負の日時のシリアル値 は、Calcの開始日より前の日付に対応しています。Calcは、グレゴリオ暦 を使用して、1582年10月15日 までのすべての日付を計算します。この前日は 1582年10月4日 であり、Calcは以前の日付に ユリウス暦 を使用します。
  • 日時のシリアル値は、他の数値と同じですが、通常は日付/時刻として表示されます。セルに数値を入力し、セルの書式を変更して、値を日付/時刻として表示できます。また、セルに日付/時刻を入力し、セルの書式を変更して、日時のシリアル値を表示することもできます。
  • 明確にするために、これらのWikiページ内の Calc関数 の説明では、日付と時刻で使用される 標準ISO 8601形式を使用しています。これは、選択したロケール設定に依存しない必要があるためです。コンピュータの既定の日付形式は異なる場合があります。数式の一部として日付を入力する場合、日付の区切り記号として使用されるスラッシュまたはダッシュは算術演算子として解釈される場合があります。したがって、この形式で入力された日付は日付として認識されず、誤った計算が行われます。日付が数式の一部として解釈されないようにするには、DATE 関数を使用するか、日付を引用符で囲んで ISO 8601表記を使用します。ロケールに依存する日付形式を使用すると、ドキュメントが異なるロケール設定で読み込まれた場合にエラーが発生する可能性があるため、使用しないでください。
  • タイムゾーン情報は、Calc の日付と時刻の関数では使用されません。
  • 年の2桁の数値(たとえば、2021ではなく21)のみを入力する場合、Calc は 2021 と 1921 のどちらを意味するのかを知る必要があります。ツール ▸ オプション ▸ LibreOffice ▸ 全般 に移動して、Calcが 2桁の年 の値を解釈するために使用する年の範囲を表示または調整します。
  • Calcには、テキストが算術演算のオペランドとして検出された場合、または数値を必要とする関数の引数として検出された場合に、テキストをどのように処理するか を決定するロジックが含まれています。このコンテキストでは、セパレータを使用した拡張フォーマットで ISO 8601 の日付と時刻に対して明確な変換が可能です。たとえば、単純な数式 =1 + "2021-02-08" は、通常 2021-02-09 (日付としてフォーマットされている場合)という結果になります。ただし、このロジックは、ツール ▸ オプション ▸ LibreOffice Calc ▸ 数式 を選択し、詳細な計算の設定領域の 詳細... ボタンを押してアクセスする 詳細な計算の設定 ダイアログの設定の影響を受ける場合があります。#VALUE! エラーが発生した場合は、#VALUE! エラーを生成 オプション が選択されている可能性があります。この場合は、文字から数値への変換 ドロップダウンで他の自明なオプションのいずれかを試してみる必要があります。

Examples:

Formula Description Returns
=DATE(21; 1; 31)
ISO 8601 の日付を表示するように書式設定されたセルと、1930~2029 の範囲にあると解釈される 2桁 の年。
日付を日時のシリアル値として返し、適用された日付形式で表示します。 2021-01-31
=DATE(2020; 13; 41)
セルは ISO 8601 の日付を表示するようにフォーマットされます。
日付を日時のシリアル値として返し、適用された日付書式で表示します。指定された 月 は自然な範囲を超えているため、年 の値に繰り越されます。同様に、指定された 日 は自然な範囲を超えているため、月 の値に繰り越されます。 2021-02-10
=DATE(YEAR(A1)+5; MONTH(A1)-2; DAY(A1)/3)
ISO 8601 の日付を示すようにフォーマットされた数式セルと、2021-01-31 の日付を含むセル A1 が表示されます。
セル A1 から 年、月 および 日 の値を取得し、算術演算を実行します。新しい日付を日時のシリアル値として返し、適用された日付書式で表示します。 2025-11-10
=DATE(1582; 10; 15-1) 計算された日付がグレゴリオ暦が導入される前であるため、関数はエラーを返します。 #VALUE!

Related LibreOffice functions:

TIME

DATEVALUE

ODF standard:

Section 6.10.2, part 2

Related (or similar) Excel functions:

DATE