[[20181013152031]] 『VBA初心者です』(グラノーラ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBA初心者です』(グラノーラ)

A______B______C______D______E______F______G______H
ID_____氏名____日付____出勤____退勤____休入___休出____勤務時間
01_____田中____10/1___7:32____19:48__12:18__13:15
01_____田中____10/2___7:35____19:52__12:50__13:47
01_____田中____10/3___・______・_____・_____・
・_____・______・_____・______・_____・_____・
・_____・______・_____・______・_____・_____・
02_____佐藤
02_____佐藤



↑のように、タイムカードの記録が1ヶ月分記録されている場合、
ID(名前毎に割り振られている)毎に出勤データを別シートに移して、
"H"にその日の勤務時間を〇〇:〇〇というように出力したいです。

休入は休憩に入った時間を、休出は休憩から戻った時間を表しています。
出勤時間が8:30より早くても出勤は8:30扱いにして、遅かった場合にはその出勤時間のままで計算するようにしたいです。

とても難しいと思いますが・・・
どなたかお願いします。

< 使用 Excel:Excel2013、使用 OS:Windows10 >


ちなみにですが・・・
今まで手作業で行っており、
8:30より前に出た分を0:00とするために 遅刻時間 = MAX("8:30"-出勤時間,0)
という途中計算のセルを用意して、

最終的に勤務時間を計算するために 勤務時間 = 退勤時間-出勤時間-(休出-休入)-遅刻時間

というようにして出力しておりました。
(グラノーラ) 2018/10/13(土) 17:05


こんな感じで考えてみてはどうでしょうか

1)H列に数式挿入
2)A列データをフィルタオプションで、Z列に重複なしで転記
3)Z1:Z2を条件に、フィルタオプションで別シートに転記
4)Z2を削除。上方向に詰める
5)Z2が空白になるまで、3)4)を繰り返す
6)Z1をクリア

(マナ) 2018/10/13(土) 17:22


解決しました

助言ありがとうございました
(グラノーラ) 2018/10/13(土) 20:02


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.