経過年月日の計算

Pocket

経過月日の計算の方法は「3月10日から6月20日」のように日数の部分が単純に差で求められる場合は簡単である。
一方、「3月20日から6月10日」のように日数の部分が負になる場合が面倒である。
この場合の計算方法は、いくつか考えられるが一般的なのは次の二つだろう。

  • その1
    「期始の日から期末の前月の同じ日までの月数」と「残りの日数」を加える方法。
  • その2
    「期始の日からその月末までの日数」と「期始の属する月の翌月から期末の属する月の前月までの月数」と「期末の月始から期末までの日数」を加える方法。

試しに計算してみる。
なお、ここでは、いわゆる「初日不算入」とする。例えば3月1日から3月5日までは4日間となる。「片端」と呼ぶこともあるようだ。

3月20日から6月10日までの経過月日

その1

3月20日から5月20日まではちょうど2か月間。
5月20日から5月31日までは11日間。
5月31日から6月10日までは10日間。
全部で2か月21日。

その2

3月20日から3月31日までは11日間。
3月31日から5月31日まではちょうど2か月間。
5月31日から6月10日までは10日間。
全部で2か月21日。

同じ結果になる。

12月20日から3月10日までの経過月日

その1

12月20日から2月20日まではちょうど2か月間。
2月20日から2月28日までは8日間。
2月28日から3月10日までは10日間。
合わせて2か月18日。

その2

12月20日から12月31日までは11日間。
12月31日から2月28日まではちょうど2か月間。
2月28日から3月10日までは10日間。
合わせて2か月21日。

どちらが正しいか、はっきりしない。
なお、ExcelのDATEDIF関数の考え方は次の通りだと思われる。
その2に近い。
まず期始の日から31日までの日数を数える。大の月だろうが小の月だろうが2月だろうが31日である。
あとはその2と同じ。正しく計算されるはずがない。

[ 2010年1月29日 | カテゴリー: 小ネタ | タグ: ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報