web-dev-qa-db-ja.com

Googleスプレッドシートで日付追加機能を利用するにはどうすればよいですか?

私が現在抱えている問題は、MS Excelの方がずっと簡単だと思います。ただし、私の会社ではGoogleスプレッドシートを使用しているため、方法を把握する必要があります。

基本的に、「12/19/11」のような日付値を含むセルがあり、「DT 30」のような値を含む別のセルがあります。私に割り当てられたタスクは、日付に値30(日)を追加することであるため、結果は「1/19/2012」になるはずです。

Googleスプレッドシートでいくつか試しましたが、2つの質問があります。 1つ目は、文字列「DT 30」から数値「30」を抽出する方法です。2つ目の質問は、Google Docsに組み込まれた日付追加機能がないようです。

専門家から提案がありますか?

53
Kevin
  1. 文字列から数値を抽出するには、次の2つの関数を使用できます(セル「A1」に値があると仮定します)。

    =VALUE(REGEXEXTRACT(A1, "\d+"))

    これにより、数値が取得されます。

  2. ドキュメントに日付追加機能は見つかりませんでしたが、日付を内部日付番号に変換してから日数を追加できます(値がセル「A2」の場合):

    =DATEVALUE(A2) + 30

これが役立つことを願っています。

40
Burnash

シンプルに保つのが好きです。 A1が日付を保持し、B1が追加する月数を保持する場合、

=date(year(A1),month(A1)+B1,day(A1))

必要な結果を計算します。同じ方法を数日または数年使用できます

51
dubi

日付のセルに番号を追加するだけです。

したがって、A1: 12/3/2012およびA2: =A1+7その後、A2は2012年12月10日を表示します

42
kidbrax

DATE(Year; Month; Day)を使用して、日付に操作を行うことができます。

例:

=DATE(2013;3;8 + 30) give the result...  7 april 2013 !
=DATE(2013;3 + 15; 8) give the result... 8 june 2014 !

非常に驚くべきことですが、うまくいきます...

10
coutier eric

EDATE(Start_date, months)の直接使用は、ADDDateの仕事をします。例:

A1 = 20/08/2012およびA2 = 3

=edate(A1; A2)

20/11/2012を計算します

PS:dd/mm/yyyy私の例ではフォーマット

@ kidbraxの答えと同様に、+は日を追加します。これを機能させるには、セルデータを明示的に日付として宣言する必要がありました。

A1: =DATE(2014, 03, 28)

A2: =A1+1

A2の値は2014年3月29日です

4
RikRak

=TO_DATE(TO_PURE_NUMBER(Insert Date cell, i.e. AM4) + [数値を追加する日数。 3日])

実際には次のようになります:

=TO_DATE(TO_PURE_NUMBER(AM4)+3)

基本的に、日付を純粋な数値に変換し、再び日付に戻します。

0
Olly

Burnashで使用されているのとほぼ同じアプローチを使用して、最終結果に使用できます...

=regexextract(A1,"[0-9]+")+A2

ここで、A1はテキストと数字を含む文字列を格納し、A2は関心のある日付を格納します

0
Yogi Anand

単純な加算と逆変換の何が問題になっていますか?

a1が日付フィールドであり、A2が追加する日数を保持している場合:= TO_DATE((DATEVALUE(A1)+ A2)

0
eymel

A1に12/19/11、B1にDT 30を含む新しいスプレッドシート(​​米国ロケール)の場合:

=A1+right(B1,2)

たとえば、C1は1/18/12を返します。

文字列関数としてRIGHTはTextを返しますが、追加時に強制的に数値に変換できます。日付に数値を追加すると、1つは1日として扱われます。 (非常に広い)制限内で、月と年は自動的に調整されます。

0
pnuts