EXCELの時間帯算出式について質問です

このQ&Aのポイント
  • EXCELの作業時間帯の計算式について質問です。
  • 作業時間と工程間の停滞時間を算出する方法を教えてください。
  • 現在の式では日付をまたいだ際の停滞時間がうまく出せない問題があります。
回答を見る
  • ベストアンサー

EXCEL の時間帯算出式について質問です。

EXCEL 作業時間帯の計算式について質問です。 (目的) 作業時間(H列 IN時間・I列 OUT時間)を入力して作業時間及び工程間の停滞時間を割り出そうとしています。 (入力) (1)E6~E200列までにINした日付を入力します。 (2)H6 IN時間 I6OUT時間を入力 (3)H6-I6の時間をK6の作業時間として算出 (4)H7-I6またはI6-H7にて工程間の停滞時間をL6に算出 という風にしていきたいです。 (問題点) 入力(1)の日付を入力した際に1/1→1/3となった場合に 停滞時間が24:00以上になってしまうため日付を 加味した停滞時間をL6に算出できるような式にしたい 入力(3)の作業時間の算出では日付のまたがるもの、 12:00以内 または 数値上でのI6よりH7が大きい場合、 小さい場合を考慮したIF文の式いしたい。 現在は J6に=IF(I6="","",I6-H6) L6に =IF(H7="","",IF(I6>H7,"24:00:00"+(H7-I6+M6),M6-(H7-I6))) のような式になっていますが、日付をまたいだ際のL6停滞時間が うまくだせません。 どなたか分かる方がいましたら、教えて頂きたいです。 よろしくお願い致します。

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

  • ベストアンサー
  • excelist
  • ベストアンサー率56% (13/23)
回答No.1

L6に以下の式でいかがでしょう? =DAY((E7+H7)-(E6+I6))*24+HOUR((E7+H7)-(E6+I6)) 軽く解説しますと、(E7+H7)とか(E6+I6)というのは日付+時刻とすることで「何日の何時」という日付型の値を求めております。(9:00とか10:00という時刻データだけでは計算が大変そうなので) あとはその差が何時間か求めるのですが、Excelでは「時刻」は求めれても「時間」というのがうまく表現できません・・・たぶん。なので一工夫して日数の差分をまず計算して24倍(1日24時間)して、その後時間の差分を足し合わせてます。 分、秒単位はいらない感じだったのですが、分、秒が必要になったら同様に足し合わせればいけると思います。 もっとスマートな式があればどなたかお願いしまっす!

関連するQ&A

  • エクセルの条件式について教えてください。

    タイムシート風お小遣い計算表を作っています。1日3時間以上お手伝いしたら750円、3時間未満なら500円、0時間なら空欄、という条件で、C列に開始時間、D列に終了時間、G列に休憩時間、H列に稼働時間をそれぞれ入力し、I列にお小遣いの金額を自動計算で表示させるようにしたいのですが、お手伝い0時間の時がきちんと反映されません。 I列のお小遣いの金額欄にこのように入力しました。 =if(H5>=3/24,750,if(H5<=3/24,500,if(H5=0/24,""))) 例えばC5に11:00、D5に16:30、H5は=D5-C5-G5で4:50、でも日曜日は開始時間も終了時間も休憩時間も稼働時間すべて0:00としている(入力忘れと区別するため)のですが、それでもI列のお小遣い欄に500と表示されてしまいます。 このような場合、どうやって条件式を修正したらよいでしょうか。 お知恵をお貸しください。よろしくお願いします。

  • LOOKUPとIF関数でできますか

    作業報告書のデーターを使って作業日報を作りたいのですが、下のような表があるとします。        作業報告書                       日  報    A        B      C              H      I       J      K 1  日付     出発    到着            日付    勤務状態 2 12月2日   福岡    大阪           12月1日   公休 3 12月4日  大分    福岡            12月2日   出勤                                12月3日   公休 4 12月5日   長崎    島根                                12月5日   出勤 H列はその月1~31まで日付があります。  A列の出勤した日があれば、Hの日にちの隣 I列に出勤 A列に日にちが無い場合は、 I列に 公休 関数を使って作りたいのですが、 LOOKUPとIFを使ってやりたいのですが、どのような式になりますか 又 他によい方法があるでしょうか、 あH列の日付を表示させるのに 他のセルを参照させています。 対象のセル仮に L1 は2010/12/1と入力してあります。 H2に=LI  H3に=L1+1  H4に=L1+2として日付を出してますが、 A列は、2010/12/1と入力してます。 LOOKUP使った式では、A列とH列では、検査値が変わるみたいでエラーが、でます。 よい方法はありますか、 分かりにくい説明で済みません。

  • Excel 作業工程表を作りたいのですが、ネスト制限で作れません。

    Excelで下記のような作業工程管理表を作成しようと思っています。 1つの作業を1行で管理するものとし、 A列には作業の名前を入力し、 B列には作業のステータスを表示、 それより右の列はC列を「工程1」として右方向の 各列に「工程30」まで各々割り振ります。 表の使用方法としては「工程1」が終わればその日の 日付を入力し、工程が進んでいくごとに各列に日付 を入力していきます。 質問の内容は、 B列の作業のステータスを、各工程の進み具合によって 自動的に表示する方法を知りたいのです。 (ステータスの種類は工程の数と同じく30近くあります) 最初はIF関数を使い 「=IF(C1="","ステータス1",IF(D1="","ステータス2",IF(E1="","ステータス3",IF(F1="","ステータス4"……..)」という風に、各セルに数値が入っているか いないかを判断してステータスを表示 していたのですが、ネストの制限があるため 30の工程をカバーしきれませんでした。 どうか、よいヒントをいただければうれしいです。 質問がわかりづらかったら申し訳ないです。 以上よろしくお願いいたします。

  • Excelの式について質問です。

    Excelで勤怠管理表を作っているのですが、    A B C D…AE 1   1 2 3 4…31 (←日付) 2 3 -----中略------ 76  2 6 2 4…8 (←その日ごとの予定勤務時間合計) 77  3 8 4 5…5 (←その日ごとの実際勤務時間合計) 1列には「2008/10/01」といった形式で日付が入力されています。 TODAY関数を利用して、 たとえば今日が3日の場合、76列の合計が10(2+6+2)に、 今日が4日の場合は、14(2+6+2+4)になるような式を作りたいのですが、 いい方法はありますでしょうか。 ※必要かはわかりませんが、念のため作成中のExcelの詳細を書いておきます。 2列目には曜日が入っています。 3~5列目は予備の空欄です。 6~74列目の偶数行には各スタッフの予定勤務時間、 7~75列目の奇数行には各スタッフの実際勤務時間が入力されており、 76列目は「=SUM(IF(MOD(ROW(A6:A75)+1,2)=1,A6:A75))」で偶数行の合計を、 77列目は「=SUM(IF(MOD(ROW(A6:A75),2)=1,A6:A75))」で奇数行の行の合計を出しています。

  • この関数式の改良法について教えてください。

    旅費精算の事務をしているものでして、以下のような状況で急行券の代金を算出するために次の関数式を作りました。 H22繁忙・閑散:日にちが行でグループ分けして書いてあります。 運賃表:繁閑によってプラス200、マイナス200の調整をする駅の名称、路程、乗車賃、急行券等が書いてあります。 運賃表(2):繁閑によってプラス400、マイナス400駅の名称、路程、乗車賃、急行券等が書いてあります。 I列:出発日です。 L列:到着駅です。 =IF(I5="","",IF(COUNTIF(H22繁忙・閑散!$A$1:$H$24,I5)>=1,IF(COUNTIF(運賃表!$A$2:$N$286,L5)>=1,VLOOKUP(L5,運賃表!$A$2:$N$286,5,0)-200,IF(COUNTIF(運賃表(2)!$A$2:$N$286,L5)>=1,VLOOKUP(L5,運賃表(2)!$A$2:$N$286,5,0)-400,"")),IF(COUNTIF(H22繁忙・閑散!$A$25:$H$46,I5)>=1,IF(COUNTIF(運賃表!$A$2:$N$286,L5)>=1,VLOOKUP(L5,運賃表!$A$2:$N$286,5,0),IF(COUNTIF(運賃表(2)!$A$2:$N$286,L5)>=1,VLOOKUP(L5,運賃表(2)!$A$2:$N$286,5,0),"")),IF(COUNTIF(H22繁忙・閑散!$A$47:$H$67,I5)>=1,IF(COUNTIF(運賃表!$A$2:$N$286,L5)>=1,VLOOKUP(L5,運賃表!$A$2:$N$286,5,0)+200,IF(COUNTIF(運賃表(2)!$A$2:$N$286,L5)>=1,VLOOKUP(L5,運賃表(2)!$A$2:$N$286,5,0)+400,"")))))) この関数でできることを変えずに、短くすることはできるでしょうか? そして、2列に分けて処理せずにこの関数式から出された数字が200以下だった場合に、算出しているセルに何も表示させないようにするには、どうすればいいでしょうか? officeのバージョンが2003なのでこれ以上長くするのには限界があるのです。(上記関数式(ここではAAAとします。)とすると、 IF(AAA<200,"",AAA)というような感じで入力しようとしましたが、長すぎてだめでした。) 詳しい方、アドバイスお願いいたします。

  • Excelの時間の計算

    時間の計算の算出方法について質問です。 セルE16に 2015/11/25  17:59 という日付けと時間が入力されています。 セルH16に同じような形式で日付けと時間が入力された場合 セルK16に経過時間を表示する方法を教えて下さい。 ちなみにK16の経過時間は30分以上いくことは絶対にないので 分表示のみで大丈夫です(○○min と表示したい) またE16、H16ともに、マクロにて、セルの所でダブルクリックすると日付けと時間が 入るようになっています。 理想としてはH16の所でダブルクリックしたときにH16に日付けと時間が入力され K16に経過時間を表示という形にしたいです。 このような計算をした箇所が20行あります。 列は変わりません。 16から35行まで。 ご指導の程、宜しくお願いします。

  • 時間の算出について教えて下さい。

    時間の算出について教えて下さい。 1日の稼動時間が8時間で、4時間使用した場合に値が50%になるような計算式を知りたいです。 ちなみに15分を0.25Hで入力します。 最小値は0.25Hです。 分かりづらいと思いますが、よろしくお願いします。

  • エクセル 65時間超を判定する 論理式

    勤務時間合計の判定が、どうしても出来ません(涙) 月間の超過勤務時間が、規定の65時間を超過するかどうかを判定し、 65時間超であれば、65時間を超過した時間を算出し、65時間内で あればゼロ、と返す論理式が立てられません。 TAIMEVALUE関数も使ったのですがうまくいきません。 多分、時刻(時間)表示がシリアル値0~1となっているので、 判定条件の65Hが、PCでは他の時刻と混同されているのだと 思います。 でもその対策がわかりません。 私の立てた論理式は  IF(A32>”65:00”、A32-”65:00”、0) これではダメで、TIMEVALUE関数をいろいろ試しても 今のところダメです。 私の条件は ・エクセルは2002 ・全ての書式は[h]"時"mm"分" で24時間超でも表示可能の設定 ・A1からA31をA32で合計し、そのA32を判定対象に しています。 ・今回の論理式とは無関係と思いますが、A列の前に始業時刻、終業 時刻、休憩時間の入力があり、  終業時刻ー始業時刻ー休憩時間数を自動計算し、 その結果が8時間を超過すると、超過時間をA列に自動入力される設定です。 どなたかお教えください。

  • 【関数】セル全体に式をコピーしたい場合

    例えばセルH2に100(本体価格)、セルI2にH2の8%を反映させたい場合の式は以下ですが =IF(H2="","",INT(H2*1.08)) I列全てに反映させたいのですが、I列全てを選択したあと、この式を入力(して列全体に反映)するにはどうしたらよいのでしょうか?

  • エクセルの関数の読み取り方を教えてください。

    エクセルで夜間の出勤時間の管理をしております。 以前在籍しておられた方が作られたようなのですが 関数初心者の私では読解するのが困難なので お教えいただきたく投稿しました。 完成されてる表を掲載できればいいのですが・・・ 関数を掲載させていただきますので その関数の読み取り方をお教えいただければ幸甚です。 A列 日付 B列 始業時間 C列 終業時間 D列 計算用退勤表記 E列 拘束時間 F列 労働時間 G列 深夜労働時間 H列 残業時間 I列 普通勤務 J列 深夜勤務 K列 普通残業 L列 深夜残業 D列 =IF(COUNT(B5:C5)=0,0,C5+IF(C5<=B5,"24:00",0)) F列 =IF(E5-$B$37<0,0,E5-$B$37) G列 =IF(COUNT(B5:C5)=0,0,MAX(0,"5:00"-B5)-MAX(0,B5-"22:00")+MAX(0,D5-"22:00")-MAX(0,D5-"29:00")-$B$37) H列 =IF(F5-$B$38<0,0,F5-$B$38) I列 =IF(D5-B5-H5-G5-$B$37<0,0,D5-B5-H5-G5-$B$37) J列 =IF(I5=0,0,$B$38-I5) K列 =IF(F5-I5-J5-L5<=0,0,F5-I5-J5-L5) L列 =IF(G5-J5<=0,0,G5-J5) 基本休憩時間 2:00(=B37) 所定労働時間 8:00(=B38) 深夜終了時刻 5:00(=B39) 深夜開始時刻 22:00(=B40) 深夜労働時間 5:00(=B41) 当番休憩時間 1:00(=B42) 表の内容はこんな感じなのですが。 これでわかりますでしょうか? 基本の時間は20:00~7:00 です また、万一勤務時間が17:00~4:00の場合 どこの計算式がどのようにわかりますでしょうか? 文字の羅列になって申し訳ございませんが 宜しくお願い申し上げます。