• 締切済み

エクセルで時間計算

エクセルで時間計算をしているのですが A1セルに開始時刻  B1セルに終了時刻  C1セルは作業時間   9:00         4:00           7:00 このような表を作っています 「C1」には(B1+12:00)マイナス「A1」と数式があるのですが 「B1」に入る時刻が午後でなく午前11:00だと 「C1」の数式のままでは (11:00+12:00)- 9:00 で 14:00 となってしまいます 「B1」には24時間形式で午後4:00を16:00と入力すればよいのですが 24時間形式を使わず9:00マイナス4:00を正しく計算するには どのような数式にすればよいのでしょうか IF文を使うのかなとも思うのですが 見当がつきません。宜しくお願いいたします。

  • JOX
  • お礼率83% (141/169)

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

16時を4時と入力するが為に、非常に苦労とか時間計算の間違いの危険性が大きい道を採るのはむだだなあと思う。質問者の立場では例えば上司に結えないのでしょうか。SEなら改善事項に挙げるべきでしょう。 ーー 質問と関連して 下記表を作ってみました。参考に。 こういう表を作って、十分テストしないと(仕事、給与=お金がらみのことに使うには)ダメでしょう。  仕事で使う怖さ  式が正しいかテストの方法論。(★1) ==== 本質問の具体論 ルール(質問者の場合とあっているかな?) 0時ーーーーーー>夜中12時の意味でだけ使う。開始だけに使う。 12時ーーーーー>昼12時の意味で使う。終了だけに使う。 ー すなわち午前中に出勤し、午前中に帰る人は居ない。 また午後に出勤の人は居ない 0時を超えて翌朝に帰る人は居ない ものとする。 開始は夜0時00分から昼11時59分までしかないものとする。 終了は昼0時00分から夜中11時59分までとする。 ーー 開始は縦列にG2:G14に入れ、手入力かオートフィルで。 終了は横行の第1行F1:S1に入れ、F1:S1は手入力かオートフィルで。 == ==  12:00 1:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00 9:00 10:00 11:00 夜 0:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 夜 1:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 夜 2:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 夜 3:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 夜 4:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 夜 5:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 朝 6:00 6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 朝 7:00 5:00 6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 朝 8:00 4:00 5:00 6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 朝 9:00 3:00 4:00 5:00 6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 朝 10:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 朝 11:00 1:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00 9:00 10:00 11:00 12:00 朝 12:00 0:00 1:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00 9:00 10:00 11:00 ーーーーーー 式はH2セルに =IF(H$1>="12:00"*1,H$1-$G2,H$1+"12:00"*1-$G2) と入れて縦横に式を複写 ーーー 30分ずらした表として F23:S36  に == == 12:30 1:30 2:30 3:30 4:30 5:30 6:30 7:30 8:30 9:30 10:30 11:30 12:30 夜 0:30 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 12:00 夜 1:30 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 11:00 夜 2:30 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 10:00 夜 3:30 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 9:00 夜 4:30 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 8:00 夜 5:30 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 7:00 朝 6:30 6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 6:00 朝 7:30 5:00 6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 5:00 朝 8:30 4:00 5:00 6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 4:00 朝 9:30 3:00 4:00 5:00 6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 3:00 朝 10:30 2:00 3:00 4:00 5:00 6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 2:00 朝 11:30 1:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00 9:00 10:00 11:00 12:00 1:00 朝 12:30 0:00 1:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00 9:00 10:00 11:00 0:00 G列と第23行において開始時刻と終了時刻とを(端数(分)の付いた 時刻を入れてみて、表の縦横交点に正しい時間・分(フン)数が出るか、周りと比較して確認してみてください。 == もし上記の表が正しいと思ったら =IF(H$1>="12:00"*1,H$1-$G2,H$1+"12:00"*1-$G2) $とりたてよこの関係をはずし =IF(B1>="12:00"*1,B1-A1,B1+"12:00"*1-A1) (★2) でどうでしょう。 ーー ★1、★2が私の主張です。

JOX
質問者

お礼

>16時を4時と入力するが為に、非常に苦労とか時間計算の間違いの危険性が大きい道を採るのはむだだなあと思う。 なんだかそのように感じてきました。 >すなわち午前中に出勤し、午前中に帰る人は居ない。 >また午後に出勤の人は居ない 私のところでは居るのです。 色々なパターンがあるので悩んでいるのですが・・・・ 時間の表を作っていただきありがとうございます。 すごいです。こんな考え方があるのですね 色々テストしてみたいです。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

>「B1」に入る時刻が午後でなく午前11:00だと 11:00 が午前の11:00 なのか 午後の11:00(23:00)なのかどうやって判断するのでしょうか。 A1の入力もおなじですが、 24時間形式で入力しないと正確には出来ないです。 出来れば 日付 時刻 を入れて 表示を時刻にしておくと 日付をまたがった場合の時間も計算できます。 今日の日付を入れるときは Ctrl + +キー 今の 時刻を入れるときは Ctrl + *キー で入力できます。

JOX
質問者

お礼

>11:00 が午前の11:00 なのか 午後の11:00(23:00)なのかどうや >って判断するのでしょうか。 そうなんですよね 結局、時刻を入力するのは人間でそれが午前なのか 午後なのかは判断不能なんですね シートの方で計算でるように体裁を整えるしかないんですよね

  • Masa2072
  • ベストアンサー率51% (94/182)
回答No.2

ANo.1さんの考え方に賛成なのですが B1+12:00やB1+12と言う計算はちょっとどうか? B1+1/2もしくは、B1+TIME(12,0,0)ではないでしょうか? 老婆心ながら気になったもので・・

JOX
質問者

お礼

補足説明ありがとうございます 私のシートでは別のセルに(12:00)と入力して参照するように しています

  • ozunu
  • ベストアンサー率14% (240/1644)
回答No.1

質問の条件だけなら、 =IF(B1>A1,B1-A1,B1+12-A1) なお、答えは一つだけではないと思います。

JOX
質問者

補足

なるほど こうやって数式をみると案外簡単ですね ここで疑問なんですが 朝9:00に出勤して夜9:50分まで勤務した場合は この数式だと 50分しか労働しなかったことになると思います。 どうしても24時間形式で表示せずに計算することは無理なのでしょうか

関連するQ&A

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

    時間計算について質問です。 図のような仕事上にかけた時間の計算をしたいのですが。終了時刻と休憩時刻で空白のセルがあるとマイナスになってしまします。 計算としてはC行の終了時刻からB列の開始時間を引き、休憩があればさらにマイナスで計算してみています。 終了時刻と休憩時刻で空白のセルがあるときには計算をせずすべてのセルが埋まったら計算結果を表示することは可能でしょうか? 現在ですと合計時間のところでマイナスになってしまい、すべて入力 がされていないと正確な数値になりません。 作業時間はその後の計算の都合上時間表示ではなく数字として表示させています。

  • EXCELでの時間計算(引き算)

    EXCELで時間計算をしたいのですが EXCELのセルって時間ではなく時刻しか入らないのでしょうか? 各セルabc・・・に時間(○○:××=○○時間××分 の意)を入れておき X=a+b+c+・・・ と計算したい。 ただしマイナスの時間も有る。 そのまま行うと24時間を過ぎると25時間は01を表示してしました。 時間ではなく時刻なのか? そこで色々試したところ プラスの時間だけなら セル書式設定で表示形式を ユーザー定義の [h]:mm にして 可能でした。 しかしマイナスの数字が入れられませんでした。 (マイナスの時刻と言うモノが存在しないから?) そもそも、セルの書式設定の表示形式のユーザー定義で設定できる形式って ヘルプかどこかに全部載っていますでしょうか? 人からもらったEXCEL表に たまに見たことも無い書式設定が書いてあることがあり 「そこで初めて知る」見たいなものがありましたので・・・ よろしくお願いいたします。 

  • EXCELの時間計算

    セルA1に、「9:43:20」と時刻が入力されています。 セルB1に、「3.2」と時間(分)が入力されています。 セルC3には、A1の時刻から,B1の時間が経過した後の時刻を 表示させたいです。 ※B1の「3.2」を3.2分(3分12秒)として計算したいです。 C3の計算式を教えてください。 ※計算した結果の時刻は,9:46:32です

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

    エクセルで時間の計算をしたいのですが、うまくできず困っています。 A列には 1315、747、など3~4桁の数値が、B列にも 1532、916など同じく3~4桁の数値が入っています。これはそれぞれ 13:15、7:47、15:32、9:16のように時刻を表しており、A列は活動開始時刻、B列は活動終了時刻となっています。 C列には「TEXT(A2,"0!:00")-TEXT(B2,"0!:00")」という数式を入力し、実質活動時間を計算しています。 このようなデータが約9000行あります。C列の活動時間を合計して、時間数を出したいのですが、どのような計算式を用いればよいでしょうか?SUMでは出ないようですので・・・ ややこしいですが、お知恵をお貸し下さい。よろしくお願いします。

  • Excel 時刻の計算方法

    Excel 時刻の計算方法 セルA 10/26/2010 06:54:32 セルB 10/27/2010 12:34:56 このような状態で、セルCにhh:mm:ss形式でAの時刻からBの時刻までにかかった時間を表示させたいのですが どうすればいいのでしょう

  • 残業時間だけを数式で計算したい(エクセル2007出来れば、2000でも

    残業時間だけを数式で計算したい(エクセル2007出来れば、2000でも見れたほうがいい)のですが、 計算式の答が ###########になってしまいます。 始業時間が9:00 (セルA1) 退勤時間が17:20 (セルB1) 他休息時間    (セルC1) お昼休憩が0:50 基本勤務時間7:30 超過勤務時間だけを計算したいので、 IF(A1=0,"0:00",(B1-A1)-"7:30"-"0:50"-C1) と入力しています。 計算結果が上手く表示される方法を教えて下さい。 セルの表示設定は ユーザーでh:mm を選択しています。 よろしくお願いします。

  • EXCELでの時間計算について教えてください。

    EXCELでの時間計算について教えてください。 現在時刻が PM15:10だとして、 セルA1に =Now() セルB1に ="15:00:00" セルC1に =A1-B1 と入力すると、 セルC1には期待通りの"0:10:27"(A1とB1の時間差が10分)という結果が返ってきます。 それでセルD1に、差が10分以上であれば"○"を付けたいのですが、どのように式を書けばよいのでしょうか? よろしくお願いします。

  • EXCELでの時間計算(休憩時間の差引)について

    パートさんの遅刻・早退・外出時間を自動計算する表を作っていますがうまく作れません・・・ 下記の場合どうしたらよいでしょうか? 例えば遅刻の合計時間を算出するのに開始時刻から終了時刻を引き算しますが 10:20~10:30、 12:00~12:40、 14:50~15:00、は休憩時間なので自動的 に差し引きたいと考えています。 遅刻の時間内に、休憩時間である10:20~10:30が含まれれば10、 12:00~12:40が含まれれば40、14:50~15:00が含まれれば10を引くという感じです。 どのような計算式にすればよいのでしょうか? ちなみに勤務時間は8:30~17:00です。 例えば、 (例)セル【B2】8:30(開始)セル【B3】13:00(終了)の場合、セル【B4】には50分を差引いた 3:40の合計時間を算出したいです。 色々調べて、B4に以下の式を入力してみましたが、どうもうまくいきません。 =IF(B3<>"",B3-B2-IF(TEXT(B3,"hh:mm")>"15:00","1:00",IF(TEXT(B3,"hh:mm")>"12:40","0:40",IF(TEXT(B3,"hh:mm")>"10:30","0:10","0:00")))) どうぞ宜しくお願いいたします。

  • エクセルで時間の引き算をするには

    お世話になっております。 エクセルでの時間の計算について教えてください。 開始日と終了日と開始時刻と終了時刻が4つのセルに分かれています。それらを使って勤務時間をだしたいのですが、どうしたらいいのでしょうか。 開始日=セルA、終了日=セルB、開始時刻=セルC、終了時刻=セルDとします。これらを使って勤務時間を計算し、時給=セルEを掛け合わせ給料をセルFに出したいのですが、どうやってエクセルにセルAとセルCを2つ認識させ、その上セルBとセルDを引いて勤務時間をだせばいいのでしょうか? (問題のエクセルです↓) セルA セルB セルC  セルD   セルE  セルF 7-Feb-07 7-Feb-07 0:03:12 8:00:00 $22.40 5-Feb-07 6-Feb-07 15:45:47 13:38:43 $9.79 7-Feb-07 9-Feb-07 8:33:46 23:26:24 $17.45 8-Feb-07 8-Feb-07 8:10:30 23:59:51 $21.99 7-Feb-07 8-Feb-07 20:30:23 21:02:25 $14.75 7-Feb-07 9-Feb-07 18:39:50 21:20:00 $13.45 6-Feb-07 6-Feb-07 1:03:42 20:58:34 $21.99 どうぞよろしくお願いいたします。

  • Excelの時刻の計算(マイナス表示)

    時刻のセルでひき算をし、マイナス表示も出したいのですが。。 例えば A1に [2002/5/9 7:00] B1に [2002/5/9 8:00] とあって C1に [B1-A1] と計算式を入力すると [1900/1/0 1:00]となり、表示形式を[h:mm]にすると[1:00]とできますよね。 このときに B1に [2002/5/9/6:00] とあるとC1には[##########]となってしまうのですが、 6:00-7:00なので [-1:00]と表示させることはできないでしょうか。 できればAとBの値そのものは変えたくないのですが。。。お願いします

専門家に質問してみよう