• ベストアンサー

Excelの時間計算がうまくいかない。 

Excel2010です。 時間計算なのですが、出勤9:00 → 退社17:00の場合、 「退社 - 出勤」時間を引けば、8:00と表示されます。 しかし、出勤23:00 → 退社5:00の場合、 「退社 - 出勤」を引くとエラーになり「#」が表示されます。 遅い時間から引かないとダメなのかもしれませんが、逆に「出勤 - 退社」を引いてしまうと、勤務時間が合いません。 このような場合、どういう計算をさせればいいのでしょうか?

noname#248169
noname#248169

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

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

>このような場合、どういう計算をさせればいいのでしょうか? Excelで日時を対象に計算するときの基礎知識を習得してください。 A列に日付、B列に出勤時刻、C列に退社時刻を入力するものとすれば2014/1/8 9:00に出勤し、同日の17:00に退社したときはA2セルへ2014/1/8、B2セルへ9:00、C2セルへ17:00と入力することにします。 2014/1/9 23:00に出勤し、翌日の5:00に退社したときはA3セルへ2014/1/9、B3セルへ23:00とします。 退社時刻は翌日ですからA4セルへ2014/1/10、C4セルへ5:00と入力すると論理を組み立て易くなります。 =IF(C2="","24:00"-MAX(0,B2),C2-MAX(0,B2)) この方法であれば24時間を超える連続勤務も計算できます。 Excelでは時刻を0~1のシリアル値として計算用の値としています。 日付は1900/1/1を1として経過日数を整数で表します。 時間の正しい計算は終了日時-開始日時とします。 但し、同じ日の場合は終了時刻-開始時刻でも成り立ちます。 従って、23:00に出勤して翌日5:00に退社する場合は日付の要素を加味しないと正しい計算ができません。 添付画像はExcel 2013で作成しましたがExcel 2010でも同じ方法で計算できます。

noname#248169
質問者

お礼

表の添付ありがとうございました。 とっても分かりやすい説明、感謝します。 単純に、時間計算を考えていたのですが、退社は翌日だとすると、添付のように日付があればいいですね。 24時間を超える勤務は…実際には有って欲しくないですが(笑)、勤務時間に限らずでもいろいろ使えそうです。 ありがとうございました。

その他の回答 (4)

  • RandenSai
  • ベストアンサー率54% (305/561)
回答No.4

IF関数を使うのがわかりやすいと思います。出勤時間がセルA1・退社時間がセルB1に入っている場合の式は、 =IF(A1>B1,B1+24-A1,B1-A1) になります。要するに、出勤時間の方が大きかったら退社時間は翌日であるとして、24を足してから出勤時間を引くわけです。これだと出勤時間が8:00:00で退社時間が17:00:00だと、答えは9:00:00となり、出勤時間が17:00:00で退社時間が8:00:00なら、答えは15:00:00となります。この計算には休憩時間が入っていないため、それは適宜付け加えてください。 あと一つ注意があって、この式を入れているセルの書式設定は必ず「時刻」にしてください。自動だと時刻にならず、「標準」にされてしまって意味不明の数字が出てくることがあります。うまく自動で時刻になってくれた場合はそのままでいいですが。

noname#248169
質問者

お礼

休憩時間の引き方は存じていますが、逆算?が分からなかったので…。 大変よくわかりました。 ありがとうございました。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

A1に出社時刻(9:00や23:00) B1に退社時刻(17:30や5:00) C1に =MOD(B1-A1,1) として時刻形式を取り付けておけば,計算できます。 言わずもがなですがこのようなやり方では,「24時間以上の連続勤務」は計算できません。

noname#248169
質問者

お礼

ありがとうございます。 色々な方法をご紹介いただいたので、試してみます。

noname#235638
noname#235638
回答No.2

=IF(COUNT(A1:B1)<2,"",B1+(B1<A1)-A1) A1に23:00出社、B1に5:00退社を入力した場合は、 このように計算させる。 表示を時刻にすると、6:00:00と返してくる。 前日21時から翌日5時まで働き、 1時間の休憩をとったなら =IF(COUNT(A1:B1)<2,"",B1+(B1<A1)-A1-"1:00") と計算させる。 最後の -"1:00" は休憩時間です。

noname#248169
質問者

お礼

ありがとうございました。 COUNTも、こういう使い道があるのですね。 とってもよくわかりました。

回答No.1

数字の見た目だけで良ければ、 「退社 - 出社 + 1」 の計算をして、結果を「時刻」で表示すれば良いです。 Excel で時刻を入力した場合、必ず、日付の情報を持ちます。 なので、本来、出勤 23:00 退社 5:00 の場合、二つの時刻は「日付が違う」はずですから、日付の情報も持たせる必要があります。 だから、「日付も一緒に入力する」のが正しい方法です。 上記に示したもの(+ 1)するのは、 出勤23:00 → 退社5:00の場合 は、「翌日の 5:00 から、前日の 23:00 を引く」のと同じ結果になります。 出勤9:00 → 退社17:00の場合 は、「同日の 17:00 から 9:00 を引いた結果に1日加算」下のと同じ結果になります。 後者は1日結果が異なりますが、「時刻として表示」するだけなら、「異なる1日」は見えないので、正常に計算できているように見えます。 ただし、計算結果そのものは、正しくないので、この時間をさらに集計に使う場合は、int() などを併用して、小数部分だけを取り出しておく必要があります。

noname#248169
質問者

お礼

色々な計算方法があるのでっすね。 int関数は使ったことがあるので、そうそう難しい計算ではありませんね。 ありがとうございました。

関連するQ&A

  • エクセルの時間計算について

    エクセルで出勤簿を作成しています 日付 出社-退社 勤務時間__休憩__基準時間_時間外 1日 9:00-18:00___9:00____1:00___8:00______0:00 2日 9:00-21:00__12:00____1:00___8:00______3:00 3日 9:00-19:00__10:00____1:00___8:00______1:00 31日 1日の勤務時間は単純に引き算で答えがでたのですが 1ヶ月の勤務時間と時間外の合計を計算させる方法を教えてください SUMで計算させても 105:50 等の表示になりません 

  • タイムカードの残業時間計算で、こんな残業時間計算に対応したものはありますか?

    タイムカードの計算について、 私の会社では、勤務時間内に出勤・退社した場合、残業時間からマイナスする、という形態をとっています。 従業員全員の勤務時間を一律全く同じにすることができない仕事のためです。 弥生給与を試用版で試してみましたが、 タイムカードを入力するとき、勤務時間外の残業時間の計算はしてくれますが、勤務時間内の出勤・退社した場合は残業時間のマイナスとしては計算はしてくれません。 勤務時間内に出勤・退社した場合、残業時間のマイナスとして計算してくれる給与計算ソフト、ないしエクセルのフォームを知っている方がおりましたら、是非お教えください。 よろしくお願い申し上げます。

  • Excelの時間計算について

    Excelでの時間計算式についてお尋ねします。 C3に出勤時間、C4に退社時間があり、D3に早出時間、D4に残業時間を表示させたいのですが、残業時間は、色々と調べ完成したのですが、早出時間の表示の仕方が分かりません。 基本勤務時間を9:00~18:00とし、C3が8:00となった場合は、D3に1:00、C3が6:00となった場合は、D3に3:00と表示させたいのです。 但し30分単位とし、6:10は6:00として早出時間3:00、6:40は6:30とし早出時間2:30とします。 お分かりになる方がいらっしゃいましたら、お知恵を拝借させてください。 よろしくお願い致します。

  • エクセルでの時間計算について教えてください。

    エクセルでの時間計算について教えてください。 バイト代をエクセルで計算しようと思っています。 A1 出勤時間 B1 退社時間 C1 労働時間 30分単位でバイト代を支払うため、30分を超えた端数は切り捨てで、労働した時間を出すのに =FLOOR(C6-B6,"0:30:0") と入れると、端数のない時間の場合、30分短くなってしまいます。 例)10:00出勤、14:00退社→3:30(4:00にしたいです) 端数がある場合にはちゃんと計算できるのですが、どのようにしたら良いか教えてください。 よろしくお願いします。

  • エクセルの計算式について

    勤務計算表の作成方法では 出勤時間、退社時間を入力すると労働時間が計算されるようになっていますが その労働時間から昼休憩(1H)を差し引きたい場合は どうすればいいのでしょうか?

  • エクセルの時間計算の数式を教えてください

    勤務管理をエクセルで作成しています。 19時前と、19時後の時間給を分けて支給することになり、 分けて集計をしたいのですが設定の仕方がわかりません。。。 出社12:00 退社22:00 とすると 12:00~19:00 の 「7:00」 19:00~22:00 の 「3:00」 を自動計算したいのですが、どうしたらよいでしょうか? ただ、出社時間と退社時間は、出勤していない日は0:00と表示するようになってしまってます。 そのため、 Aセル:出社時間 Bセル:退社時間 Cセル:19:00 Dセル:B-A-E Eセル:B-C にしみましたが、出社していない日の時間計算がうまくできません。。。 手計算は膨大な作業になってしまうので、自動計算させる方法を教えていただけると大変ありがたいです。 宜しくお願いします。 表示方法

  • エクセルの時間計算教えて欲しいです。

    エクセルで勤怠管理したいです。 【例】 (1)14:01に出勤した (2)18:05に退勤した ※実際の勤務時間4時間4分 条件:15分刻み 上記の条件に基づいた場合 (1)14:15から計算 (2)18:00として計算 ※勤怠整理した場合の勤務時間、3時間45分 必ず15分刻みとして計算したいです。 そこで知りたい関数があります。 (1)エクセルに14:01と入力した場合、自動的に14:15分からとして認識できる関数 (2)逆に18:05と入力した場合、自動的に18:00として認識できる関数 (3)時給を25ドルとした場合、3時間45分×25ドルで計算したい。 上記(1)~(3)の関数を教えていただけますか。 よろしくお願いします。

  • Excelでの深夜勤務時間計算

    お世話になります。 Excelで深夜勤務時間を計算したいのですが、 うまくいきません。 具体的には、 セルA1:15:00(出勤時間) セルB1:2:00(退社時間) 等と入力されているので、セルC1に 22時から5時までの時間である、「4:00」を 計算したいのです。 なおかつ出来れば分かりやすいように、セルB1は26:00という表示にしておきたいと思います。 ただし、B列の数値は、24:00以前の場合もあります。 ご存知の方、どうぞご教授くださいませ。

  • Excelの計算結果が「-0:00」と表示される

    Excel2000で残業時間の管理をしています。 月|日|曜日|出勤時刻(D)|退社時刻(E)|時間差異(E-D-8)|累積 | 時間差異は「出勤-退社-規程の勤務時間(8時間)」で、 累積はそれを毎日足していったものです(月末にその月のトータルの残業時間が出る) フレックスタイム制なので、途中で勤務時間より短い時間(例えば7時間勤務など)が発生します。その場合は累積表示は「-1:00」のようになるのですが、 その後残業が発生して、結果がゼロになる場合、「-0:00」と表示されてしまいます。 頭のマイナス表示が消えないのはなぜでしょうか? セルの書式設定はh:mmになっています。

  • エクセルでの時間計算について

    エクセルで勤怠管理表を作ろうとしていますが、わからない部分がありますのでご教授ください。 セルの書式をh:mmとして退社時間から出勤時間を引けば実際に勤務した時間が算出されるというところまでは出来たのですが、以下に挙げた二つの機能を作るにはどうしたらよいのでしょうか? 1.デフォルトで12:00から13:00、22:00から22:30を休憩時間としたいため、その時間を挟んで勤務した場合には、自動的に勤務時間からその時間を引きたい。  例)10:00から18:00まで勤務した場合、休憩時間を1時間引いて算出勤務時間を7時間としたい。 2.日をまたいだ勤務形態だと、うまく時間が算出されないので、正しく算出したい。  例)21:00に出社して、翌日の05:00まで勤務した場合、休憩時間を30分引いて算出勤務時間を8時間30分としたい。 セルに直接計算式を書くより、マクロを使ってうまく出来ればベターだと思っているのですが、良い方法がありましたらご教授ください。よろしくお願いいたします。

専門家に質問してみよう