• 締切済み

エクセルの時間計算

エクセルの表で教えてください! ペコm(_ _;m)三(m;_ _)mペコ 下記のようなエクセルの表で 1の営業の着時間から2の社会の発時間 19:10-17:30 1:40の休憩時間 2の社会の着時間 2:00から3の総務の 発時間4:00 の休憩時間2:00のように 着時間より発時間を引いて総休憩時間を 算出したいのですが・・・ 最後のエコ5:10発時間が最後で 6の欄は空白ですが空白の発時間のセル番号(A,104) から4.エコ(A,103)の発時間を引くと***** 負の 数値を表示して総時間3:40が出せません この表は複数あり日によって2件しかない日も ありますし、7件ある日もあります 休憩時間(C,108)に3:40を表示させるには どのような関数を利用すればよいのでしょうか? 恐縮ですが初心者なため判りやすく 教えていただければ幸いです。     A B   C    D          発    着 100 1 営業   14:30 17:30 101 2 社会   19:10  2:00 102 3 総務   4:00  4:40 103 4 エコ   4:40   5:10 104 5  105 6 106 7 107 108  休憩時間  3:40     

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 参考になるかどうか判りませんが・・・ あまりスマートな方法ではないのですが、 ↓の画像のようにE列を作業用の列として使わせてもらっています。 E101セルに =IF(C101="","",C101-D100) として下へオートフィルでコピーします。 そして、合計欄のC108セルは単純に =SUM(E101:E106) としているだけです。 以上、この程度ですが 参考になれば幸いです。m(__)m

namidakko
質問者

お礼

おはようございます。 教えていただいてありがとうございます。 やはり、一軒づつ休憩時間を算出して それを、最後に足すのがわかりやすい 方法なんですね! 当初は、列を挿入しないで合計の休憩時間が出ないか と思っていたんですが・・・ 教えていただいたように、列を挿入して 表を作成しなおしました。 どうもありがとうございました。

noname#144013
noname#144013
回答No.1

こんにちは。 以下、的外れの場合はすみません。 ※以下の設定は一例です。 まず、ご提示の表でいうE列に、以下のような個別の「休憩時間」を設ける ことにします。     A   B        C      D      E  99             発時間  着時間  休憩時間 100  1  営業      14:30    17:30    1:40  101  2  社会      19:10    2:00    2:00  102  3  総務       4:00    4:40    0:00  103  4  エコ        4:40    5:10         104  5          105  6          106  7          107             108     総休憩時間   3:40 E列のセルには、以下のような「数式」を設定します。  E100セルの場合  =IF(OR(C101="",D100=""),"",IF(C101>=D100,C101-D100,C101+1-D100))  E101~E106のセルには、E100セルのコピー&ペーストで「数式」をコピーします。 C108セル(=総休憩時間)には、以下の「数式」を設定します。  C108  =SUM(E100:E106) ■数式の解説 1)E列に設定する数式     IF(OR(C101="",D100=""),""   この部分では、IF関数及び、OR関数により、計算に使用する「発時間」、または、   「着時間」のセルが空白だった場合は、「休憩時間」も空白を表示するようにして   います。   「発時間」及び「着時間」が空白でなかった場合は、以下の部分を実行します。     IF(C101>=D100,C101-D100,C101+1-D100)   この部分では、IF関数により、     発時間 ≧ 着時間 だった場合は、      ⇒ 発時間 - 着時間 を計算   それ以外の、     発時間 < 着時間 だった場合(=午前0時を跨いだ時間の場合)は、      ⇒ 発時間 +1 - 着時間 を計算      ※+1は、時刻シリアル値(Excelで扱う日付・時刻の値)の1日分(=24時間)       の加算を意味しています。   という処理を行っています。 2)C108セルに設定する数式     =SUM(E100:E106)   この数式は、単純にSUM関数を使用し、E100~E106の値(=休憩時間)の合計   を計算しています。   ※このとき、空白セルは無視されます。 注)他の表で、セルのアドレスが違ってくる場合は、各数式内のセルアドレスも   対応するアドレスに適せん変更して下さい。 ※添付画像は、上記の設定を行ったExcelシートの画面例です。 以上です。参考になれば幸いです。

namidakko
質問者

お礼

着時間の右には利用時間、走行キロ 料金等あるのですが、休憩時間の列を 作って挿入すればいいんですね! そっそくやって見ます。 すでに表ができあがっていたため、 その表をそのまま利用して、空きスペースで 一気に総休憩時間を計算させようと考えていました。 挿入した列は幅を狭くしたり非表示すれば いいんですね。やってみます 教えてくださってどうも有難うございます。

関連するQ&A