• ベストアンサー

エクセルで時給計算がしたいです

パソコン初心者です。 1か月の労働時間と給与の計算をエクセルでしたいのですが、自給が時間帯によって変わるのでどのように作っていいのかわかりません。 8:00~13:00=¥770 13:00~18:00=¥800 18:00~22:00=¥850 とりあえず、A=日にち、B=出社時間、C=休憩始まり、D=休憩終わり、E=退社時間とし、 H1、I1、J1、には「~13:00」「13:00~18:00」「18:00~22:00」と入力し、その下にそれぞれの労働時間がでるようにしようと思ったのですが、うまくいきません。 どなたかご教授お願いします!

質問者が選んだベストアンサー

  • ベストアンサー
noname#106515
noname#106515
回答No.2

先に聞き忘れたので、一部想像です。  ・8:00より前、22:00より後はない。    それが入力されても時間計算から除外する。  ・休憩なしの場合は休憩始まりと終わりとして    勤務時間内の同じ時間を入力する。 まず、K33に8:00、L33に13:00、M33に18:00、N33に22:00を 入力しておきます。で、 H2…=MAX(MIN(C2,L$33)-MAX(B2,K$33),0)+MAX(MIN(E2,L$33)-MAX(D2,K$33),0) I2…=MAX(MIN(C2,M$33)-MAX(B2,L$33),0)+MAX(MIN(E2,M$33)-MAX(D2,L$33),0) J2…=MAX(MIN(C2,N$33)-MAX(B2,M$33),0)+MAX(MIN(E2,N$33)-MAX(D2,M$33),0) 以下、必要な行数をコピー。 なお、33行目に固定データを入れておくのは、勤務日数、月の日数に 関わらず33行目を合計行にするという私の流儀に合わせただけなので、 別にどこでもOK。 ついでに、 H1…=TEXT(K$33,"h:mm")&"~"&TEXT(L$33,"h:mm") I1…=TEXT(L$33,"h:mm")&"~"&TEXT(M$33,"h:mm") J1…=TEXT(M$33,"h:mm")&"~"&TEXT(N$33,"h:mm") としておくのも、私の流儀。

th1979
質問者

お礼

お礼が遅くなり申し訳ありません。 すごく参考になりました。 ありがとうございました!

その他の回答 (3)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

ご参考までに次を示します。一度試してみてください。時間帯をグループに分けて時間を計算しますので、それぞれの時間に時給を掛けて日給を計算すればよいでしょう。 時間帯を4つに分けて考えるのがよいでしょう。次の例を示しますので、参考にすればよいでしょう。 B1セルにはA時間、C1セルにはB時間、D1セルにはC時間、E1セルにはD時間と入力します。 A2セルには開始時間、A3セルには終了時間と入力します。 B2セルには例えば6:00、B3セルには9:00、C2セルには9:00、C3セルには12:00、D2セルには13:00、D3セルには18:00、E2セルには18:00、E3セルには例えば24:00とそれぞれ入力します。 A5セルには出勤時間、B5セルには退勤時間、C5セルにはA時間、D5セルにはB時間、E5セルにはC時間、F5セルにはD時間、G5セルには実働時間と入力します。 A6セル以降には出勤時間を、B6セル以降には退勤時間を入力します。 C6セルには次の式を入力してF6セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF($A6="","",IF((MIN($B6,B$3)-MAX($A6,B$2))<0,0,MIN($B6,B$3)-MAX($A6,B$2))) G6セルには次の式を入力し、下方にオートフィルドラッグします。 =IF(A6="","",SUM(C6:F6)) 一度ここに示した通りに試験をしてみてから実際に応用するとよいでしょう。

th1979
質問者

お礼

お礼が遅くなり申し訳ありません。 ありがとうございました。

  • minosennin
  • ベストアンサー率71% (1366/1910)
回答No.3

横から失礼します。EXCELでのタイムカード時間計算は一見簡単なようで、結構てこずるものです。先のご回答で既に解決済みかと思いましたが一例です。 在社時間と休憩時間を別々に計算しその差として実労働時間を計算します。冗長ですがトラブルの対応は少し簡単になります。 1~3行目を見出し行として hij列を在社時間 klm列を休憩時間 nop列を実労働時間とします。 H2に8:00 H3に13:00 I2に13:00 I3に18:00 J2に18:00 J3に22:00 と入力、klm列、nop列も同様とします。 4行目以降を明細行とします。 H4に=IF(AND($B4<>"",$B4<H$3,$E4>H$2),MIN($E4,H$3)-MAX($B4,H$2),0) の式を入力し、横へij列にコピーし、hij列を下へに必要数コピー これで、毎日の各時間帯別の在社時間が表示されます。 k4に=IF(AND($C4<>"",$C4<K$3,$D4>K$2),MIN($D4,K$3)-MAX($C4,K$2),0) の式を入力し、横へlm列にコピーし、klm列を下へに必要数コピー これで、毎日の各時間帯別の休憩時間が表示されます。 n4に=H4-K4 の式を入力し、横へop列にコピーし、nop列を下へに必要数コピー これで、毎日の各時間帯別の実労働時間が表示されます。 ゼロが目障りの場合は、excelのオプションの詳細設定で「ゼロ値のセルにゼロを表示する」のチェックを外します。 なお、関数式はこの画面からEXCELへコピーできます。

th1979
質問者

お礼

お礼が遅くなり申し訳ありません。 確かにすごく難しかったです… ありがとうございました。

noname#106515
noname#106515
回答No.1

分の単位はどうするのですか? 労規上は日々の勤務時間を単位時間(1時間とか30分とか)ごとに 切り捨てることは違法ですが、実際には多くの会社で行われていますが。 エクセルに入力する段階で、単位時間に丸めた時刻を入力するのか、 それとも計算式で丸めるのか。後者なら、その単位時間は?

th1979
質問者

補足

さっそく回答いただきありがとうございます。 うちの会社は30分単位で計算されています。(違法ですよね…) なので、出社時間、退社時間ともに8:30とか30分単位で入力しようと思っています。

関連するQ&A