サリーは、開始日から経過した年、月、週、日数を返す数式を必要としています。彼女は年、月、日を示す数式を見つけることができましたが、週を含めることはしばらくの間彼女を避けてきたものです。

サリーが2つの日付の間の日数、週数、月数、または年数だけを見つける必要がある場合、計算はかなり簡単です。 (日数を計算し、週、月、または年の適切な平均日数で割るだけです。)ただし、それは彼女が望んでいることではありません。彼女は、2つの日付の間の経過年数、月数、週数、および日数を示す回答を知りたいと考えています。

したがって、開始日が1966年6月10日で、終了日が2019年2月5日である場合、彼女が求める答えは「52年、7か月、3週間、および5日」になります。終了日を2019年2月7日に変更すると、答えは「52年、7か月、4週間、0日」になります。この回答では、各段階的に細かい日付のグラデーションは、回答の前の部分の残りの部分でのみ機能します。

サリーが参照する式(数週間のインジケーターは含まれていません)は、_ExcelTips_サイトのこのページにあります:

https://excelribbon.tips.net/T011360

そのヒントは、ほとんどがDATEDIF関数に依存して、望ましい結果に到達するためのいくつかの異なる式を示しています。 (このページで、他の_ExcelTips_ページで提供されている広範な情報を再作成することは意味がありません。ただし、それを確認することをお勧めします。)

週をミックスに追加する場合、基本的な考え方は、同じDATEDIFアプローチを使用し、週数を表示し、それらの週を考慮に入れるように日数を調整することです。

=DATEDIF(A1,B1,"y") & " years, " & DATEDIF(A1,B1,"ym")

& " months, " & INT(DATEDIF(A1,B1,"md")/7) & " weeks, "

& MOD(DATEDIF(A1,B1,"md"),7) & " days"

これは基本的に、上記で参照した他の_ExcelTips_ページの最初の完全なDATEDIF式の修正バージョンです。文法や句読点は考慮されていませんが(ページの後の式のように)、必要な情報が提供されます。文法と句読点を正しくすることは、この基本式の比較的単純な拡張です。

この式は、開始日を含むA1と終了日を含むB1に依存しています(終了日は今日の日付に簡単に設定できます)。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(12947)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。