- 締切済み
エクセルの時間計算
エクセルの表で教えてください! ペコ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
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは。 以下、的外れの場合はすみません。 ※以下の設定は一例です。 まず、ご提示の表でいう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シートの画面例です。 以上です。参考になれば幸いです。
お礼
着時間の右には利用時間、走行キロ 料金等あるのですが、休憩時間の列を 作って挿入すればいいんですね! そっそくやって見ます。 すでに表ができあがっていたため、 その表をそのまま利用して、空きスペースで 一気に総休憩時間を計算させようと考えていました。 挿入した列は幅を狭くしたり非表示すれば いいんですね。やってみます 教えてくださってどうも有難うございます。
お礼
おはようございます。 教えていただいてありがとうございます。 やはり、一軒づつ休憩時間を算出して それを、最後に足すのがわかりやすい 方法なんですね! 当初は、列を挿入しないで合計の休憩時間が出ないか と思っていたんですが・・・ 教えていただいたように、列を挿入して 表を作成しなおしました。 どうもありがとうございました。