プロが教える店舗&オフィスのセキュリティ対策術

はじめまして。既出の質問でしたらすみません。エクセル2000を使っています。で、ある期間の日数をdetedif関数を使えば算出できると思うんですが、その期間に閏年が含まれる場合に平年の期間は○日、閏年の期間は○日というふうに分けて算出する方法はありますでしょうか?  例えば2004/5/10~2008/7/17 の期間であれば平年の期間は1095日、閏年の期間は434日になると思いますが、手計算ではなく 期間を入力すれば自動で算出できるようにしたいのです。どなたかわかる方がいらっしゃいましたらご指導お願いします。

A 回答 (3件)

>平年の期間は○日、閏年の期間は○日というふうに分けて


の意味がわからない。、
2000
2004
2008
2012
2016
などがうるう年ですが
2004.2.1-2004.2.20はうるう年は何日?
2003.2.1-2004.2.20はうるう年は何日?
2003.2.1-2004.2.29はうるう年は何日?
などどう区分けするのか、質問文上ではっきりしてますか。
1.1-12.31全期間を平年とうるう年に色分けて、その中の期間(日数で)どちらかに足しこむのか?
変なニーズだと思うが<->既出の質問でしたらすみません
丁寧に意味を説明しないと、常識であるとは言えないだろう。
ーーー
プログラムで(エクセルVBAででも使って)一年ごとに2月末やまたは年末を超える(暦年的な考え方?)などを判別して所属日数を計算し、両者を加えないといけないので、関数では煩雑になるのではないですか。
    • good
    • 0

その開始~終了でそういう値になると言うことは,間の日数のカウントであって両端日を含む計算ではない(具体的には終了日を含まない)とします。



A1に開始日付
A2に終了日付 として

平年の期間:
=365*(366*(YEAR(A2)-YEAR(A1)+1)-DATE(YEAR(A2)+1,1,1)+DATE(YEAR(A1),1,1))-IF(DAY(DATE(YEAR(A1),2,29))<>29,A1-DATE(YEAR(A1),1,1))-IF(DAY(DATE(YEAR(A2),2,29))<>29,DATE(YEAR(A2)+1,1,1)-A2)

閏年の期間:
=A2-A1-上述の平年の式を入れたセル

のようになりました。
いずれの式のセルも,式を入れてから必要に応じてセルの書式設定の表示形式を標準に直すのを忘れないようにしてください。
    • good
    • 1
この回答へのお礼

ありがとうございます。問題が解決しました。

お礼日時:2010/12/31 19:14

こんばんは!


閏年の期間が435日になってしまいましたが・・・

無理矢理って感じの方法ですが、一つの案としてです。

↓の画像のように作業用の表を使ってみました。
作業列D2セルに
=IF(OR(COUNTBLANK($A$2:$B$2),YEAR($B$2)<YEAR($A$2)+ROW(A1)-1),"",YEAR($A$2)+ROW(A1)-1)
E2セルに
=IF(D2="","",IF(AND(D2=YEAR($A$2),D3=""),$B$2-$A$2+1,IF(AND(D2=YEAR($A$2),D3<>""),DATE(D2,12,31)-$A$2+1,IF(AND(D2<>YEAR($A$2),D2<>YEAR($B$2)),DATE(D2,12,31)-DATE(D2,1,1)+1,$B$2-DATE(D2,1,1)+1))))
F2セルに
=IF(D2="","",IF(DATE(D2,12,31)-DATE(D2,1,1)=365,"○",""))
としてD2~F2セルを範囲指定し、F2セルのフィルハンドルで下へずぃ~~~!っとコピーします。

そして結果の平年日数B4セルは
=SUMIF(F:F,"",E:E)
閏年のB5セルは
=SUMIF(F:F,"○",E:E)
という数式を入れています。

以上、かなり泥臭い方法ですが
他に良い方法があればごめんなさいね。m(__)m
「エクセル 期間計算 平年 閏年」の回答画像1
    • good
    • 0
この回答へのお礼

お返事ありがとうございました。参考にさせていただきます。

お礼日時:2010/12/31 19:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!