
先任の退職につき、タイムカードの集計業務をすることになりました。
私の会社は勤怠状況が複雑な零細企業ですが、従業員は26名ほどいます。
遅刻・早退・中間外出、残業・深夜・休日出勤 等が頻繁にあります。
タイムカードの計算程度に考えていましたが、複雑な出勤状況もあり、計算のミスが多く、何より集計時間に時間が掛りすぎてしまい、他の業務にも影響が出始めています。エクセルにて集計表を作成しようとしましたが、1ヶ月経ってもうまく表示できません。どうかお助けください。
条件
始業8:00 終業17:00 休憩10:00~10:10 12:00~13:00 15:00~15:10 深夜22:00~29:00
打刻時間 出勤 8:00前 30分単位 所定時間内 5分単位 12:00~13:00 30分単位
退勤 所定時間内 5分単位 12:00~13:00 30分単位 17:00以降 5分単位
所定時間 7時間40分 残業は30分から発生(17:29退社は残業0) 1日の区切り 5:00から24時間。
法定内労働時間
平日: 8:00~19:00勤務は 法定内 0:20・法定外 1:40
半給:13:00~21:00勤務は 法定内 3:50・法定外 0:10
遅刻:13:00~21:00勤務は 法定内 3:50・法定外 0:10・不就労 3:50)早退・外出も同じ考えです。
A1 日付(事前入力)
B1 曜日(事前入力)
C1 当日の勤務種別(空白=平日・1=所定休日・2=法定休日・3=半日有給・4=1日有給)(入力)
D1 始業時刻(入力)
E1 途中出時刻(入力)
F1 途中入時刻(入力)
G1 終業時刻(入力)
H1 法定内労働時間(平日 所定労働時間を除く、実労働時間が8時間を超えない労働時間)
I 1 法定外労働時間(平日 5時から22時の間で所定時間を省いた労働)+(所定休日労働)
J1 深夜労働時間(22:00~29:00の間の労働)
K1 法定休日労働時間(法定休日は日曜なので、日曜日の労働時間)
L1 不就労時間(半日有給は含まない。所定時間内での不就労時間)
まだ私も完全に把握していないほど複雑で、無理なのかもしれませんが、どうかよろしくお願いします。
No.4
- 回答日時:
では引き続き続ける前に
実際にはタイムカードの入力作業というのは
締め日あるいは、前日位に行うのではないですか?
この時にタイムカードの形のままに入力するのが
視認性、入力のしやすさ等から必須条件と思われます。
となると、今までa1からで説明してましたが
実際にはa5位から始めるのが妥当でd2やd3など
私が勝手に使いましたが、1日分の処理はz以降まで使う可能性が
あっても1行で処理しなければなりません。
それによって行コピーで最初から最後まで同じ数式で
成立することになります。
あえて5行目としたのは名前であるとか、あるいは職位、職種に
よる差異とか考慮すべきことが、将来あるかも知れないので
多少の余白を上に設けるのが見やすいかと思って。
本来の数式の話からそれてすみません。
ただ設計の肝心な部分になるので先に固めておいた
方が後からの変更より楽なんです。
でa列 日付、B列 曜日はそのままですが
c列以降は実物のタイムカードの列をそのまま並べます。
4列が多い気がしますが、それ以上かも知れません。
ここでA6には=A5+1を入力して
そのまま下方向に30個オートフィルします。
B5は=A5として表示形式をaaa
下方向に31個オートフィルです。
小の月は条件書式で一番下のほうを隠すことが出来ますが
それは締め日を聞いてからにします。
で、仮に4列で説明しますとcからF列が入力列
g列以降に計算式となるわけです。
A5に月の最初の日付を入力すると後ろが全部変わって壮観ですよ。
そこで、実際に試していただきたいのはC5:F35を選択して
セルの書式設定の保護でロックを外します。
次にファイル→オプション→詳細設定で
Enterキーを押した後移動する方向を右にします。
そして、校閲→シートの保護で
ロックされていないセル範囲の選択だけをチェックして
保護します。
実際にダミーデータを入れてみてください。
そうそう
http://www.fujicom.co.jp/salon/it_info/51/51.html
これも時刻入力のツボですので参照してくださいね。
これでタイムカードの入力の、作業時にセル移動に
マウスを使う必要が殆どなくなります。
開発中は当然保護を解除して、完成したら保護して
使うことで誤って数式を消してしまう恐れがなくなる
効用もあります。
ここまでで不明な部分ないでしょうか?
yokomaya様 ご教授有難うございます。
シートの方は修正しました。動作確認済みです。
今後の流れまでご配慮頂き、有難うございます。
ここで気分を害されては悲しいのですが、丸め条件に漏れが有りました。
さらに条件が増えたので計算式が長くなり試行錯誤のうえ、教えて頂いた計算式から
変更させて頂いています。漏れは5:00~7:30は0:15単位です。変更は『VLOOKUP』を
使用してみました。 身勝手な変更ですが、今後の作業には影響が無いでしょうか? すみません。
現在のシート状況
A4=日付 B4=曜日 C4=有給 D4=出勤 E4=外出 F4=再入 G4=退勤
H4=始業 I4=途出 J4=途入 K4=終業 L4=法内 M4=法外 N4=深夜 O=不就
A5=12/6(A6=A5+1) B5=A5(条件 aaa) C5=空白 D5~G5=タイムカード時刻打込
H5=IFERROR(CEILING(D5,VLOOKUP(D5,AA5:AB15,2))," ")
I5=IFERROR(FLOOR(E5,VLOOKUP(E5,AA5:AB15,2))," ")
J5=IFERROR(CEILING(F5,VLOOKUP(F5,AA5:AB15,2))," ")
K5=IFERROR(FLOOR(G5,VLOOKUP(G5,AA5:AB15,2))," ")
L5~O5=空白
AA5~AA15 順番に 5:00 7:30 8:00 10:00 10:10 12:00 13:00 15:00 15:10 17:00 17:30
AB5~AB15 順番に 0:15 0:30 0:05 0:10 0:05 0:30 0:05 0:10 0:05 0:30 0:05
どうでしょうか?
VLOOKUP(D5,AA5:AB15,2) の AA5:AB15 は、まだ位置が確定していないため絶対値にはしていません。
C列ですが 有給 半日有給 所定休日 法定休日 を番号で区別しようとしてますが、必要有りますか?
今は L4=法内(法定内残業) を思案中です。
わがままを言って申し訳ありませんが、お付合い下さい。よろしくお願いします。
No.3
- 回答日時:
物事には順がありますからひとつづつ。
D1 始業時刻(入力)とありますが
タイムカードをそのまま打ったものが変換されないと
検証のしようもないですから入力されたものと
計算に用いる始業時間はセルを別にしなければ不自由です。
で仮にD3をその変換したものとして
D2には
=IF(OR(D1<TIMEVALUE("8:00"),AND(TIMEVALUE("12:00")<D1,D1<TIMEVALUE("13:00"))),TIMEVALUE("0:30"),TIMEVALUE("0:05"))
とします。
これは丸めの単位が30分なのか5分なのかをD1の値で決めています。
D3には
=INT(D1/D2)*D2+D2
あと表示形式はすべて h:mmでそろえてください。
とすれば10分休憩を除けば解が出るのでは?
10分休憩も同じやり方でできるのですが、ちょっと長すぎて読めなくなりそうですね。
yokomaya様 ご回答有難うございます。
やはりそうでしたか。 従業員がそこそこ多いためなるべく項目を減らそうとしたのですが、実際やってみて作業は捗りました。とりあえず丸め表示まではクリアです。有難うございました。次は法定内労働時間に挑戦してみます。何かアドバイスがあればよろしくお願いします。
No.2
- 回答日時:
ちょっと回答の前によく理解できないので
平日: 8:00~19:00勤務は 法定内 0:20・法定外 1:40
法定内というのが8時間を超えるかどうかという意味ですよね、多分。
半給:13:00~21:00勤務は 法定内 3:50・法定外 0:10
半給が知らない制度で判らないんです。
記述からすると半日有給でもないのかな?
計算理由が見えてこないです。
そもそも8:00~19:00と13:00~21:00の勤務時間が違う事を指すのでしょうか?
もしかして午前を半日有給で4時間残業???まさかね?
遅刻:13:00~21:00勤務は 法定内 3:50・法定外 0:10・不就労 3:50)早退・外出も同じ考えです。
ここも判らないです。同様に。
あと日曜が法定休日だそうですが、祝日はどうでしょう?
打刻時間が5分単位とか、タイムカードマシンの仕様じゃないですよね?
計算をそう丸めるという意味かと。
残念ながら、そういった会社がまだ多いのは実情でしょうが
法的には、毎日丸めることは許されない様です。
一ヶ月集計の時に30分単位でまるめはアリみたいですが。
(参)
http://www.hori-law.jp/category/1429069.html
ひとつだけ簡単な事を答えておきます。
B1に曜日とありますが=a1として、セルの書式設定の表示形式を
ユーザー定義でaaaに変更すれば入力不要です。
日曜の労働時間についてもWEEKDAY(a1)が1なら日曜なのでifでそれを計算すればよいかと。
A1には月日を例えば 2/22のような形式で入力します。
年も自動的に補完されるので1月に前年分を処理するときだけ注意が必要ですが。
yokomaya様 すみません。お礼の順番が逆になりました。
おそらく労基法に沿った計算や処理では無いかもしれません。給与計算に限らず労働条件も違反は多々見受けられます。しかし社長からもその旨の説明はあり、徐々に改定しています。私も今回の作業で現在の集計方法を理解し、まずは集計表を作ってから労基法等も踏まえて提案しようと考えています。ちなみに、社長をかばう訳ではありませんが俗に言うワンマン社長ではありません。従業員の事は大切に考えてくれていると思います。ただ、昔気質と法に弱い。 あと、この丸めは従業員からの提案らしいです。
法定内労働時間の考え
所定労働時間(8:00~17:00の間の7時間40分)の実働時間が8時間に満たない時間(残業発生時)
半給 : 有給休暇の半日分(3:50) 上記の実働時間には含まれないが、不就労にはならない。
<もしかして午前を半日有給で4時間残業???まさかね?
勤務状態としてはその通りです。
祝日は出勤です。
私も理解するのに時間がかかったのですが、こんな感じです。
No.1
- 回答日時:
5分刻みの表を作って、
出勤時間と退社時間を入力したら、
その間のセルに色が付くようにしてはどうか。
で、あとはそこから自力で読み取る。
(これ、ヒントになってるんだけどね)
・・・本題・・・
出勤の打刻時間が
8:00よりも前なら30分単位で切り上げ(?)
8:00から12:00までの間なら5分単位で切り上げ(?)
12:00から13:00までの間なら30分単位で切り上げ(?)
た時間を「X1セル」に計算に使う出勤時間として設定。
…17:00以降はどうなるんだろう(´・ω・`)
退勤の打刻時間も同様。「Y1」セルに設定。
出勤時間から退勤時間までの間が、
10:00までの黄色い色の間に何時間何分あるかを計算。
=MIN("10:00",Y1)-MAX("8:00",X1)
これと同じことを他の色の時間帯でも行い、最終的に合計すればいい。
そうすれば、
定時:〇時間〇分
残業:〇時間〇分
深夜業:〇時間〇分
のように求められる。
遅刻や早退、半休や休日出勤にもそのまま応用できる。
あとは合計された時間を判定するだけだ。
・・・余談・・・
時間は日付を含んだ形にすることで日にちを跨いでもそのまま時間計算ができる。
="2017/2/23 3:15"-"2017/2/22 8:00"
とすることでエラー無く計算ができます。
午前3時15分を、27:15と入力しないときに使える方法です。
X1セルとY1セルにも日付を加え、
AA1セルに日付と"8:00"の時間を組み合わせ、
AB1セルに日付と"10:00"の時間を組み合わせると、
上で示した計算式は、
=MIN(AB1,Y1)-MAX(AA1,X1)
と簡単になります。
※時間は数値になっている必要があります。文字列ではエラーになります。

銀鱗さん 早速のご教授ありがとうございます。
文面だけでは理解できる知識を持合わせていませんので、実際に1つ1つ確認したいと思います。
問題・疑問・要望 等が見つかった場合には、都度質問させて頂いてもよろしいでしょうか?
エクセルは仕事で必要に応じて覚えた程度なので、関数等はほぼ無知です。
よろしくお願いします。
補足
>出勤の打刻時間が…(?)
7:29→7:30 7:31→8:00 8:01→8:05 11:59→12:00 12:29→12:30 12:31→13:00
10:00~10:10→10:10 15:00~15:10→15:10 17:00以降の出社→16:00以降の出社は禁止です。
退勤
9:04→9:00 10:00~10:10→10:00 15:00~15:10→15:00 17:00~17:29→17:00
17:30以降→5分単位切上(19:04→19:00)
10分休憩の時間帯の条件が記入されていませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのセル内に全角数字を...
-
Excelで全角の数字が半角になっ...
-
エクセルで文字入力してEnterキ...
-
EXCELで特定の文字列を入力→エ...
-
セルに数字を入れると×1000にな...
-
エクセルで文字列としての指数...
-
エクセルのセルや文字を点滅表...
-
エクセルで【0.5日と1日】を表...
-
エクセルの「○分○秒」の表示形...
-
Excelで時間順で並べ替えしたい
-
WORD2010 差し込み印刷の時間...
-
平方センチメートルの入力の仕方
-
Excelで:(コロン)を省いた時...
-
名簿からあ行の人だけを抽出で...
-
入力規則でスペース入力を禁止...
-
Accessのフォーム上のテキスト...
-
コクヨのリーフ仕入帳等にパソ...
-
EXCEL セルの書式設定(ユーザー...
-
セルの書式設定が勝手に変わっ...
-
&関数で、数字の先頭の「0」...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのセル内に全角数字を...
-
Excelで全角の数字が半角になっ...
-
エクセルで文字入力してEnterキ...
-
エクセルで文字列としての指数...
-
セルに数字を入れると×1000にな...
-
Excelで時間順で並べ替えしたい
-
平方センチメートルの入力の仕方
-
エクセルのセルや文字を点滅表...
-
Excelで【1-1】【1-2】【1-3】...
-
エクセルで【0.5日と1日】を表...
-
EXCELで特定の文字列を入力→エ...
-
EXCEL セルの書式設定(ユーザー...
-
エクセルで自動的にイコール(...
-
Excelで時間を1:30→1.3で表示し...
-
入力規則でスペース入力を禁止...
-
WORD2010 差し込み印刷の時間...
-
EXCELで勝手に予測入力される
-
エクセルで時刻を全角かつコン...
-
文字の上にバーをつけるには?
-
エクセルで月日だけ入力すると...
おすすめ情報
ご教授にあたり製作における表示、情報、希望打込作業等を補足します。
最終表示項目
①従業員 氏 名 横方向に25名ほど
②法定内 残業時間 実働の1日の法定労働時間時間(8時間)を超えない所定労働時間外労働
③法定外 残業時間 実働の1日の法定労働時間時間を超える労働時間 (昼休憩・深夜時間内作業 含)
④深 夜 残業時間 22:00~29:00(翌5:00)の間の労働時間
⑤法定休日労働時間 日曜日の労働時間(振替があるので日曜日とは限らない)
⑥不 就 労 時間 所定労働時間内の不就労(有給休暇は含まない)
⑦有給休暇取得日数 有給休暇 1日=1 半日=0.5
※ 所定労働時間(8:00~10:00 10:10~12:00 13:00~15:00 15:10~17:00 の間の労働)
※ 中間外出あり
※ ①②は実働なので半日有給・不就労は含まない。平日残業発生時は常に20分