web-dev-qa-db-ja.com

Googleスプレッドシートの過去の日付と現在の日付の間の日数

過去の日付と現在の日付の間に経過した日数を計算したい。過去の日付の形式はdd/mm/yyyy フォーマット。以下の式を使用しましたが、適切な出力が得られました。

=DAYS360(A2,TODAY())
=MINUS(D2,TODAY())

上記の式でA2 = 4/12/2012(dd/mm/yyyy)そして、TODAYがdd/mm/yyyy形式かどうか。ツールバーの123ボタンを使用してみましたが、うまくいきませんでした。

37
vkrams

_DAYS360_は、notを計算しません(つまり、2つの日付の間に渡された日数)。単純な減算(_-_)またはMINUS()を使用します。これを説明するために、 @ DrCordのサンプルスプレッドシートの更新されたコピー を作成しました。

DAYS360が必要ですか?これは、債券の計算を簡素化するために金融セクターで使用される特殊な機能です。それは、それぞれ30日間の12か月で、360日を想定しています。実際の日数が本当に必要な場合は、毎年6日を失います。 [ソース]

35
törzsmókus

以下は私にとってはうまくいくように見えました:

=DATEDIF(B2, Today(), "D")
35
Matthew Clayton

私はあなたのアイデアを使い、違いを見つけて、365日で割っただけです。御treat走をしました。

=MINUS(F2,TODAY())/365

次に、小数を表示しないようにセルのプロパティを変更しました。

2
user5428882

2つの式を同時に使用している場合、機能しません...動作する簡単なスプレッドシートを次に示します。 https://docs.google.com/spreadsheet/ccc ?key = 0AiOy0YDBXjt4dDJSQWg1Qlp6TEw5SzNqZENGOWgwbGc まだ問題が発生する場合は、どのタイプのエラー結果が得られているかを知る必要があります。

Today()は、整数値を返します:現在のコンピューターシステムの日付を返します。ドキュメントが再計算されると、値が更新されます。 TODAYは引数なしの関数です。

2
DrCord

これがGoogleの一番の回答であり、予想よりもずっと簡単だったので、簡単な答えを示します。 date2からdate1を引くだけです。

これがスプレッドシートの日付の場合

_     A            B
1 10/11/2017  12/1/2017
_

=(B1)-(A1)

結果は51になります。これは、Googleスプレッドシートの過去の日付と現在の日付の間の日数です

Googleスプレッドシートが認識する日付形式である限り、それらを直接差し引くことができ、正しいものになります。

現在の日付に対してこれを行うには、=TODAY()関数を使用します。

=TODAY()-A1

今日はうまく機能していますが、数式で日付を直接使用することはできません。日付を含むセルを参照する必要があります。

=(12/1/2017)-(10/1/2017)は、61ではなく0.0009915716411になります。

1
Joshua Dance