- ベストアンサー
エクセルで日にちのカウント方法
- エクセル2007年を使用して、特定の日にち範囲のカウントを自動計算する方法を教えてください。
- A列とB列に日にちが記載されており、例えば2012/8/1から2012/8/30までの日数をカウントする方法を知りたいです。
- 宜しくお願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
C1 =max(,min(b1,"2012/8/30")-max(a1,"2012/8/1")+1) これだけで、ご要望の答えが出ます。 8/30にするのか8/31にするのかは、ご自分で決めてください。(質問文ではC列の値が変) もしも、A1またはB1が空白のときに計算結果を表示したくない場合は、IF関数を組み合わせます。 C1 =if(a1*b1,max(,min(b1,"2012/8/30")-max(a1,"2012/8/1")+1),"")
その他の回答 (6)
- kagakusuki
- ベストアンサー率51% (2610/5101)
ANo.5です。申し訳御座いません間違えました。 C1セルに入力する数式ですが、 =IF(COUNT($A2,$B2)=2,IF(OR($A2>"2012/8/30"+0,$B2<"2012/8/1"+0),0,MIN("2012/8/30"+0,$B2)-MAX("2012/8/1"+0,$A2)),"") ではなく、 =IF(COUNT($A1,$B1)=2,IF(OR($A1>"2012/8/30"+0,$B1<"2012/8/1"+0),0,MIN("2012/8/30"+0,$B1)-MAX("2012/8/1"+0,$A1)+1),"") として下さい。
お礼
ありがとうございました。
- kagakusuki
- ベストアンサー率51% (2610/5101)
まず、次の数式をC1セルに入力して下さい。 =IF(COUNT($A2,$B2)=2,IF(OR($A2>"2012/8/30"+0,$B2<"2012/8/1"+0),0,MIN("2012/8/30"+0,$B2)-MAX("2012/8/1"+0,$A2)),"") そして、C1セルをコピーして、C2以下に貼り付けて下さい。 これで、2012/8/1-2012/8/30日分は何日含まれているかが自動的に計算されます。
お礼
ありがとうございました。
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答No3です。 一部の文章が間違っていました。B1セルをC1セルに、C1セルをD1セルと下記のように変更してください。 カウントの対象とする日付をC1セルに2012/8/1、D1セルに2012/8/30と入力するとします。
お礼
ありがとうございました。
- KURUMITO
- ベストアンサー率42% (1835/4283)
Aで縦の列はA列、Bで縦の列はB列のように言います。 A2セルから下方の行に2012/7/2、2012/7/29のように入力がされており、B2セルから下方に2012/7/20、2012/8/31のように入力されているとします。 カウントの対象とする日付をB1セルに2012/8/1、C1セルに2012/8/30と入力するとします。 C2セルから下方の行に何日分含まれているかを表示させるとしたら次の式をC2セルに入力してからセルの右下隅に表示される■をクリックした状態で下方にドラッグします。 =IF(COUNT(A2:B2)<>2,"",IF(MIN(B2,D$1)-MAX(A2,C$1)+1<=0,0,MIN(B2,D$1)-MAX(A2,C$1)+1))
お礼
ありがとうございました。
- f272
- ベストアンサー率46% (8467/18127)
2012/7/29から2012/8/31までの間に,2012/8/1-2012/8/30日の日数は30日あります。 2012/8/18から2012/8/29までの間に,2012/8/1-2012/8/30日の日数は12日あります。 しかし,あなたはこれらを31日,11日と計算しているようです。その計算方法がわかれば自動化もきっとできるでしょう。
お礼
ありがとうございました。
- aokii
- ベストアンサー率23% (5210/22062)
=B2-A2
お礼
ありがとうございました。
お礼
ありがとうございました。