- ベストアンサー
エクセルでタイムカード作成で悩んでいる方へ
- エクセルでタイムカードの作成に悩んでいる方へ、この記事ではタイムカード作成の基本的なルールと、15分単位で計算する方法を解説します。
- エクセルでタイムカード作成が進まないという初心者の方におすすめの記事です。基本的なルールや15分単位での計算方法を解説しています。
- もしエクセルでタイムカード作成に悩んでいる方がいらっしゃれば、この記事が役に立つかもしれません。15分単位で計算する方法を解説しているので、ぜひ参考にしてみてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
早出や遅出のときの休憩時間ですが基本的には8時間以上のときは1時間の休憩をとることでよいのですね。 また、このような勤務時間の計算では15分単位で切り捨てや切り上げが行われますが、出勤時間では切り上げを、退勤時間では切り捨てを行うのが普通でしょう。これらの切り上げや切り捨てにはFLOOR関数やCEILIMG関数が使われます。 C1セルには次のような式を入力するのがよいでしょう。 =IF(COUNT(A1:B1)<>2,"",FLOOR(B1,"0:15")-CEILING(A1,"0:15")-IF(FLOOR(B1,"0:15")-CEILING(A1,"0:15")>="8:00"*1,"1:00",0)) また残業時間の計算ですが計算にエラーが出ないようにMAXやMIN関数を使って計算をします。 C1セルには次の式を入力します。 =IF(COUNT(A1:B1)<>2,"","9:00"-MIN(CEILING(A1,"0:15"),"9:00")+MAX(FLOOR(B1,"0:15"),"18:00")-"18:00") いずれもセルの表示形式は時刻から選択します。
その他の回答 (3)
- guppy100526
- ベストアンサー率55% (167/299)
8月24日にも同じ質問がありましたね。 時間の計算は15分単位ということは、15分で割って、切り捨てて15分を掛ければ 求める時間が出ます。 難しい関数は使っていませんので、ファイト! -------------------- A1=7:14(出勤時間入力) B1=19:10(退出時間入力) C1=IF(A1<>0,INT((MIN(B1,"18:00")-MAX(A1,"9:00"))/"0:15")*"0:15"-"1:00",0) 9:00から18:00までの勤務時間です。(8:00)となっています。 なお、A1が0の場合(休暇)は0になります。 D1=IF(A1<>0,INT(max((+A1-"9:00"),0)/"0:15",0)*"0:15",0) 朝の超過勤務時間を算出しています。(0:45)となっています。 E1=INT(MAX((+B1-"18:00"),0)/"0:15",0)*"0:15" 夜の超過勤務時間を算出しています。(1:00)となっています。 -------------------- (注)各セルの表示形式を、時刻に変更してくださいね。 【セルの書式設定】→【表示形式】→【時刻】→【13:30】
お礼
何回も回答ありがとうございます。 私も初めてのことだったので本当に助かりました!!! 丁寧に何度も教えて頂いたおかげで、かなり進みました☆★ これからもっと勉強して学んでいきたいと思います(^^) 本当にありがとうございました!!!!
- yosifuji2002
- ベストアンサー率51% (969/1888)
下のようにセルに式を入れます。 B2 開始時刻 8:00:00 C2 終業時刻 12:05:00 D2 時間数 =C2-B2 E2 分換算数 =D2*60 F2 15分単位の分数計 =int(E2/15)*15 G2 15分単位の時間数 =int(F2/60) H2 15分単位の分数 =F2-G2*60 この関数のコツはF2のint関数の使い方です。合計分数(E2)を60で割って端数を切り捨てた数に15を掛けると、15未満の数が切り捨てになります。 例えば 17→15、37→30というようになります。 この式に実際の数値を入れて確かめてください。 意味は良く考えてくださいね。 G2はそれから時間数だけを取り出します。 (例4時間15分の場合 4) H2は端数に当たる15分単位の分数です。 (例4時間15分の場合 15) これで基本的な問題は解決しますので、実際のタイムカードの数値にどう適用するかを考えてください。 なお、E2からH2はセルの属性は時間表示ではなく数値にしておくことが肝心です。ここが時間表示になるとうまくいきません。
お礼
回答ありがとうございます。 勉強になりました☆★ まだまだ勉強不足ですが・・・・ これから頑張っていきたいと思います(^^)♪♪
- aokii
- ベストアンサー率23% (5210/22062)
実際の就業時間からmod関数で15分(0.25時間)で割った余りを実際の就業時間から引いてみてください。 B1-A1の部分を以下のように変更してみてください。 B1-A1-MOD(B1-A1,0.25)
補足
回答ありがとうございます☆★ こーいうことですか??? →→=IF(A1="","",IF(B1-A1>TIME(8,0,0),B1-A1-TIME(1,0,0),B1-A1-MOD(B1-A1,0.25)) 本当に理解能力がなくてすみません。
お礼
何回も本当にありがとうございます。 飲み込みが悪くてすみません。。。。 丁寧な回答のおかげで本当に助かりました☆★ 15分刻みの件もなんとかクリアできました!!! これからもしっかりと学んでいきたいと思います(^^) 本当にありがとうございました!!!!