[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『月当たり延べ日数の計算について』(マック)
初めて書き込みます。教えてください。よろしくお願いします。
開始日 終了日 通算日数 4月 5月 6月 7月
2004/3/23 2004/6/23 92 30 31 23 0
2004/4/30 2004/5/23 23 1 23 0 0
2004/5/12 2004/8/20 100 0 19 30 31
2004/5/15 2004/12/20
2004/5/20 2005/3/15
上記のような表があります。
基本データは開始日と終了日のみ入力されています。
通算日数の計算はB2−A2 で計算です。
すべてのデータから各月の延べ日数を計算することができますでしょうか?
一番上のデータでは4月と5月が月の全部の日を表示し、最終月の6月に
23日分を表示させたいのです。
なお、表は7月以降、8月〜翌年3月まで続いています。
(このような質問のしかたでよろしいでしょうか?)
はじめまして。 下記のような表だとします。 | A | B | C | D | E | F | G | 1| 開始日 | 終了日 |通算日数|4月|5月|6月|7月| 2|2004/3/23|2004/6/23 | | | | | | 3|2004/4/30|2004/5/23 | | | | | | 4|2004/5/12|2004/8/20 | | | | | | 5|2004/5/15|2004/12/20| | | | | | 6|2004/5/20|2005/3/15 | | | | | |
D1〜G1の月は、それぞれ 2004/4/1 2004/5/1 2004/6/1 2004/7/1 と入力しておき、表示形式をユーザー定義で m月 にしておきます。
D2に =IF(AND(EOMONTH(D$1,0)>=$A2,D$1<=$B2),(MIN(EOMONTH(D$1,0),$B2)+1)-MAX(D$1,$A2),0)
D2をG6までコピー
※この数式だとE4が20になるので、もしかしたら式の考え方が違うのかもしれません。 (Yosh!) OS:WinXP,Excel:2003
あら、ずいぶん短い式になるんですね(;^_^A アセアセ 折角考えてやっと出来たので挙げさせてください。 D1からG1はYosh!さんと同様にしてください。 同じくE4が20になります。これはD3が1のためにそうなります。
D2セル=IF(DATE(YEAR(D$1),MONTH(D$1)+1,0)<$A2,"",IF(AND(D$1<=$A2,DATE(YEAR(D$1),MONTH(D$1)+1,0)>=$A2),DATE(YEAR(D$1),MONTH(D$1)+1,0)-$A2+1,IF(AND(D$1>=$A2,OR(YEAR($B2)>YEAR(D$1),MONTH($B2)>MONTH(D$1)),$B2>D$1),DAY(DATE(YEAR(D$1),MONTH(D$1)+1,0)),IF($B2<D$1,"",DAY($B2)))))
長すぎだってば_/ ̄|○ il||li (川野鮎太郎)
はじめまして、いつもこっそりお世話になっております。 が、今回はわたしも考えてみました。 D1〜G1部分はYosh!さんと川野さんと同じで、同じくE4も20になります。
D2 =IF(OR($A2>E$1-1,$B2<D$1),0,IF($B2>E$1-1,E$1-1,$B2)+1-IF($A2<D$1,D$1,$A2))
アドイン関数の知識が無かったものでEOMONTH関数も使わず、単純にIFのみなのですが…。 エンドオブマンスなんてこんな便利な関数があるのですね。本当に勉強になります。 これからお2人の式の意味を理解すべく頑張ってみます。飛び入り失礼致しました。 (かや)
( ̄0 ̄;アッ 私のは恥ずかしいので理解しないでください_/ ̄|○ il||li 同じ列だけで処理しようとしたから式が長くなりすぎで、あとで何が何かわかりませんし(;^_^A アセアセ かやさんの式の場合P列に2005年4月が必要のようですね。 これはこれで作業列として使う良い方法です。 (川野鮎太郎)
どうもありがとうございました!
yosh!さん、綺麗に表をまとめてくださってありがとうございました^^;
川野鮎太郎さんの方法で完璧に出来ました^^
かやさんの方法でも表に4月を追加したらうまくいきました。
作業に時間を取られ、御礼が遅くなりました^^;
失礼しました。(マック)
川野さん、フォローありがとうございました。 そうですね、翌年4月が必要でした。説明不足で済みません…。 そして年月日にバラせば同じ列だけでも大丈夫なんですね。 これは以降の自分のひらめきの肥やしにしたいと思います。 便乗ですが勉強になりました。ありがとうございました! (かや)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.