エクセルで時間を起点として集計
A列に開始時間、B列は~という文字 C列は終了時間、D列は種類名、E列は値(経過時間)が記載されています
1行目はタイトルで、2行目から始まっています。
A B C D E
07:00 ~ 07:12 バナナ 12
07:20 ~ 07:40 りんご 20
09:00 ~ 09:12 りんご 12
09:20 ~ 09:22 ぶどう 2
09:30 ~ 09:42 メロン 12
13:00 ~ 14:12 すいか 72
このDセルの種類名のカウントと、Dセルに対してEセル経過時間の値の合計値を計算する関数というと物を以前教えて頂きました。
下記の物を使わせて頂いております。
>Sheet1のデータをSheet2に表示するようにしてみました。
>↓の画像で左がSheet1・右側がSheet2とします。
>Sheet1に作業用の列を1列設けます(今回はF列にしています)
>F2セルに
>=IF(COUNTIF(D$2:D2,D2)=1,ROW(),"")
>という数式を入れ、これ以上データはない!というくらいまでしっかり下へオートフィルでコピーしておきます。
>Sheet2のA2セルに
>=IF(COUNT(Sheet1!F:F)<ROW(A1),"",INDEX(Sheet1!D:D,SMALL(Sheet1!F:F,ROW(A1))))
>B2セルに
>=IF(A2="","",COUNTIF(Sheet1!D:D,A2))
>C2セルに
>=IF(A2="","",SUMIF(Sheet1!D:D,A2,Sheet1!E:E))
>という数式を入れA2~C2セルを範囲指定 → C2セルのフィルハンドルで下へオートフィルでコピー!
回答者様のお知恵を借り、とても楽に計算する事ができ、感謝しております。
贅沢な者で、もう少し楽をしたいと欲を出してしまいまして・・・。
この集計で朝の7時~19時までと夜19時~7時までで分けて集計する事は可能でしょうか?
基本的には19時で一度〆るので、19時前と19時後を跨ぐ事はないのですが(18:50 ~ 19:10)←こんな感じには基本ならないのです。
たまに作業が停止する時は(14:00 ~ 6:59)という形で、跨いでしまう事があります。
この場合は19時を跨いだ時点で一度朝の時点での経過時間の計算をし、再度19:00~夜の経過時間を再計上という形をしたいのですが可能でしょうか?
長々となりましたが、お知恵をお貸し下さい。
お礼
アクセスの件、宜しくお願いします。