私は7日間を1週間と見なしているので、2019年1月1日〜2019年1月7日を見ると、7日と言えます。しかし、2つの日付または年齢間の日数を計算しているときに、式B1-A1
を使用することがよくあります。ここで、A1
は開始日/ DoB、B1
は終了日または今日の日付です日付。上記の例では6になります。
私は(B1-A1)+1
を使用します。これにより7が得られ、誕生日には((B1-A1)+1)/365.25
を使用します。どちらが正しい?
1つの式が正しいことと、別の式が間違っていることの問題ではありません。それはあなたが探しているものの問題です。
あなたが24時間タスクに取り組んでいるとしましょう。 2000年1月17日の午前9時にタスクを開始し、2000年1月18日の午前9時にタスクを完了します。質問がタスクにかかった日数]の場合=差が出ます。 24時間取得し、1日と答えます。
ただし、質問が何日でタスクに取り組みましたか?あなたはすぐに返答します2
したがって、=B1 - A1
または=B1 - A1 + 1
は、測定しようとしているものに応じて適切な場合があります。
答えは、Excelが日付を処理する方法を中心に展開します。 B1-A1
などの数式を使用して日付間の日数を計算すると、Excelは日付をシリアル番号に変換し、シリアル番号を使用してその間の日数を計算します。
デフォルトでは、1900年1月1日はシリアル番号1であり、2008年1月1日はシリアル番号39448です。これは、1900年1月1日から39,447日後です(出典: Microsoft )
したがって、1900年1月1日から1900年1月7日までの日数は、7から1を引いて6になります。
同じことが2008年1月1日から2008年7月1日まで適用されます。
2008年1月1日は39,447であり、
2008年1月7日は39,453です
39,453 — 39,447 = 6
日数inclusiveをカウントする場合は、1を追加して、数式をB1-A1+1
のようにする必要があります。
日数を計算したい場合exclusiveは、マイナス1日にする必要がありますB1-A1-1
2つの日付間のAGEを計算するために3つの異なる式を提案したいと思いました
=INT((B1-A1)/365)
または、
=ROUNDDOWN(YEARFRAC(A1, B1, 1), 0)
または、TODAY()
関数も使用できます:
=ROUNDDOWN(YEARFRAC(A1, TODAY(), 1), 0)
年、月、日の完全な年齢を取得するには、これを使用します。
_=DATEDIF(A1,B1,"Y") & " Years, " & DATEDIF(A1,B1,"YM") & " Months, " & DATEDIF(A1,B1,"MD") & " Days"
_
編集:
2つの日付間の日数を数えることは少し恣意的です。基本的に必要に依存します。
OPのサンプル日付を考慮して、次の式を使用できます。
状況1の式:
=DATEDIF(B2,B3,"d")
=DAYS(B3,B2)
=INT(B3-B2)
状況2の式:
=DATEDIF(B2,B3,"d")+1
=DAYS(B3,B2)+1
=INT(B3-B2+1)
状況3の式:
=DATEDIF(B2,B3,"d")-1
=DAYS(B3,B2)-1
=INT(B3-B2-1)
必要に応じて数式のセル参照を調整します。