web-dev-qa-db-ja.com

LibreOffice Calcで日付を月に追加する方法

これは明らかな質問のようです。

日付列があり、列ごとに1か月ずつ増やす式を作成したいと考えています。

10/2013, 11/2013, 12/2013, 1/2014, 2/2014, ...

日付に1か月を追加するにはどうすればよいですか?

24
trimbletodd

現在好まれている回答は、長い回答に続く短い月をスキップします

A1 = 2014-01-31を設定すると、= DATE(YEAR(A1)、MONTH(A1)+1、DAY(A1))を使用した結果は2014-03-03となり、2月はスキップされます。

上で提案されたEDATEのアプローチは日を失う

月が短いと、EDATEは連続する月の日数を減らします。例えば。 = EDATE(DATE(2014,1,31)、1)は2014-02-28を生成しますが、再度適用すると、2014年3月の最終日ではない2014-03-28になります。

機能するソリューション:日をゼロに設定して月を増分する

日をゼロに設定し、1か月先に月を増やします。例えば。 1月に開始するには、DATE(2014,2,0)=> 2014-01-31、次にDATE(2014,3,0)=> 2014-02-28、次にDATE(2014,4,0)-> 2014-を使用します03-31は、毎月の最終日を論理的にたどることによって期待されるとおりです。

他のアプローチ

月の最後の稼働日が必要な場合、または月をスキップせずに30日ずつ増やす場合などに、調整を行うことができます。目的によって異なります。

17
user337861
=edate(a1;1)
  • edateは、指定した日付の前後の指定した月数の日付を返します。
  • Edate:start dateの最初の引数。
  • Edateの2番目の引数:月数。負の場合、edateは前の日付を計算します。
20
Tarik FDIL

参考文献に記載されているように、 Date Arithmetic とすると、月に1が加算されます。

=DATE(YEAR(A1), MONTH(A1)+1, DAY(A1))
7
trimbletodd

LibreOfficeバージョンの使用:6.2.8.2(x64)

Row    Formula                   Result
A11    +DATE(2020,3,1)           03/01/20
A12    +DAYSINMONTH(A11) + A11   04/01/20
A13    +DAYSINMONTH(A12) + A12   05/01/20
...
A190   +DAYSINMONTH(A189) + A189 02/01/35

行A12の数式セルをA13からa190までの一括選択にコピーして貼り付けました。結果は私が期待したものです。

0
Rick

日付は数値として保存されるため、選択した形式で表示されるため、ラベルを使用する必要があると思います。月を追加するには、次の月にいく日を計算するための複雑な計算が必要になります。私が間違っていると誰かが答えを持っていると思います。

0
BrianA

FWIWこれは、月と年が重要な場合に使用したソリューションです。

A1=DATE(2016,1,1)
A2=EOMONTH(A1,0)+1

開始日を日付オブジェクトとして設定する最初の行のセル。次のセルは前のセルを取り、月末を取得して、日を追加します(A2 = 2016/01/31 + 1)。 LibreOffice CalcとGoogle Spreadsheetsの両方で機能します。

0
Thien

年、月、日が1か月、月の同じ日(うるう年の最終日のように):

A1 "DATE" # Label of column
A2 "=DATE(2011, 2, 0)"
A3 "=EDATE(A$2,COUNTA(A$2))"
A4 "=EDATE(A$2,COUNTA(A$2:A3))"

次に、A4を下にドラッグします。この出力を生成します:

01/31/11
02/28/11
03/31/11
...
02/29/12
03/31/12
0
Matt Kneiser