• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで就業時間管理で教えてください)

エクセルで就業時間管理の計算式についての質問

このQ&Aのポイント
  • エクセルを使って就業時間管理の計算式を教えてください。勤務時間を早朝、日中、夜間に分けて表示したいです。
  • 上記の表のように、開始時間と終了時間を入力し、早朝、日中、夜間の時間を計算して表示する方法を教えてください。
  • EとFに時間があり、XとZのデータをもとにGからLまで自動で表示させたいのですが、Lの夜間をうまく表示することができません。どうすれば解決できるでしょうか?

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.6

>同じようなことなんですが、7:00から8:30の時間でまたしても負になります。 基本時間帯に掛からないときの問題ですね。 早朝のみになる場合もカバーするには終了時刻のチェックも必要ですね。 K2=MIN(MAX(F2,"9:00"),"18:00")-MIN(MAX(E2,"9:00"),"18:00") 考え方としては終了時刻が9:00以前のときは9:00とし、18:00以降のときは18:00とする。 また、開始時刻が9:00以前のときは9:00とし、18:00以降のときは18:00とする。 MAX関数とMIN関数を組み合わせて論理を構成してください。 手作業で検証する場合は時刻を書いたメモを用意してどれとどれを選ぶと正しい計算になるかを見つけます。 開始時刻、9:00の組み合わせと終了時刻、18:00の2組から目的の計算では各々どちらを選べば良いかのシュミレーションを行います。

kulukulunayamu
質問者

お礼

本当に助かりました。複雑なデータ処理がスムーズにできました。最近、エクセル関数の素晴らしさに感激しいろいろトライしています。なかなか難しいですね・・本などを見ても、このように関数の組み合わせはわからず・・。これからもっと頑張ってみます。 たくさん教えていただきまして、ありがとうございました。

その他の回答 (5)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.5

>しかし開始19:00~終了20:30のような場合、日中がうまくできません。『負の値になるとエラーが起きます』と注意して下さったのはこの事ですね。 そうです。 次の式に訂正してください。 K2=MIN(F2,"18:00")-MIN(MAX(E2,"9:00"),"18:00") 尚、加減算の代わりにSUM関数を使うと計算途中のチェックが容易になります。 =SUM(MIN(F2,"18:00"),-MIN(MAX(E2,"9:00"),"18:00"))

kulukulunayamu
質問者

お礼

たびたび早速のご回答感謝いたします。 同じようなことなんですが、7:00から8:30の時間でまたしても負になります。式をきちんと理解して行えばクリアできるでしょうか・?頑張ってみます。ホント助かりました。 ありがとうございます。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.4

回答No.1への補足を見ましたので、数式の訂正をしてください。 >総時間は9.0と表示されていますが、J~Lは7:00や1:30のように表示されています。 時刻の値はシリアル値と思いますのでそのまま減算したときに時刻(時間)の表示で7:00のようになります。 7.0にするときは以下のようにしてください。 K2=(MIN(F2,"18:00")-MAX(E2,"9:00"))*24 これは24:00=1と言う値が時間のシリアル値となっているため24倍すると表示形式を標準にしたとき通常の数値として読み取れます。 但し、時給の計算等で値の実態を知らないと正しい結果になりませんので注意してください。

kulukulunayamu
質問者

お礼

ありがとうございました。

kulukulunayamu
質問者

補足

ありがとうございます。Gの総時間数以外はシリアル値ですので、回答3の説明で十分大丈夫でした。(でもとても勉強になりました。) 今、夜間と早朝教えていただいた数式で、ばっちりできました。 ・・しかし開始19:00~終了20:30のような場合、日中がうまくできません。『負の値になるとエラーが起きます』と注意して下さったのはこの事ですね。夜間のところがクリアできたのでとりあえずは作業できますが、今後のために教えていただけないでしょうか?お時間のある時で構いません。よろしくお願いします。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.3

>上記のようにE・Fに時間がありX・ZのデータをもとにGからLまで自動で表示させたく計算式をいれているのですがLの夜間だけうまくできません。 用語の誤りを訂正させてください。 「E・Fに時間があり」→「E・Fに時刻があり」 時間は「時刻」と「時刻」の間を言いますので、「開始時刻」と「終了時刻」の間が「総時間」です。 G列は終了時刻から開始時刻を引けばその差が求める時間です。 G2=F2-E2 → 20:00-11:00 → 9:00 Excelでの時間の計算は結果が負の値になるとエラーが起りますので注意してください。 早朝の時間は開始が9:00以前の場合のみ該当しますのでMIN関数でどちらか小さい方を使って計算すれば良いでしょう。 J2=MIN(F2,"9:00")-MIN(E2,"9:00") → 9:00-9:00 → 0:00 J3=MIN(F3,"9:00")-MIN(E3,"9:00") → 9:00-7:00 → 2:00 夜間は早朝の反対側の時間帯なのでMAX関数でどちらか大きい方を使って計算します。 L2=MAX(F2,"18:00")-MAX(E2,"18:00") → 20:00-18:00 → 2:00 日中は9:00から18:00までの時間帯が対象ですからMIN関数とMAX関数を利用することになります。 K2=MIN(F2,"18:00")-MAX(E2,"9:00") → 18:00-11:00 → 7:00

kulukulunayamu
質問者

お礼

わかりやすく説明していただき、ありがとうございます。 今入れている数式よりも、わかりやすく簡単で、すべて作り直そうと思っています。 急いでいたので助かりました。  時刻と時間・・これからは間違えないようにします。

  • yugere
  • ベストアンサー率37% (48/127)
回答No.2

L2の数式 =TIME(G2,,)-(K2+J2) をL3以降にもコピーしたらいいできると思いますよ。

kulukulunayamu
質問者

お礼

ありがとうございます。試してみましたが、うまくできませんでした。もっと勉強しなければ駄目ですね・・参考にさせていただきます。

  • karorumon
  • ベストアンサー率26% (25/94)
回答No.1

総時間から、早朝・日中をひけばいいのでは?

kulukulunayamu
質問者

お礼

早速の回答ありがとうございました。

kulukulunayamu
質問者

補足

早速ありがとうございます。 訂正します・・ 総時間は9.0と表示されていますが、J~Lは7:00や1:30のように表示されています。 複数のシートからデータをとばしているのでこのシートで表示は変えられません・・・説明下手でごめんなさい。よろしくお願いします。

関連するQ&A