• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:運転時間の表示方法を教えて下さい)

運転時間の表示方法を教えて下さい

このQ&Aのポイント
  • 運転時間の表示方法を教えて下さい。グラフ化が難しかったので、表示方法をアレンジしようと考えました。
  • 機械の運転時間を入力し、機械の稼働状況を表で見ることができるようにしたいです。
  • また、時間の間隔も30分おきで表示するためにどうすれば良いか教えてください。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

時間が一致しているか一致していないかを求めるためには浮動小数点の問題がありますので簡単ではありません。 例えば次のようにします。 シート1の2行目からお示しのデータが下方にあるとします。 そこでお求めの表をシート2に表示させるとしてA2セルから下方にはシート1のA2セルからのデータをコピーして貼り付けます。 B1セルには7:30、C1セルには8:00と入力してからB1セルとC1セルを選択して右横方向にドラッグすれば30分ごとの時刻が入力されますね。 次にB2セルには次の式を入力して右横方向にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(ROUNDDOWN(B$1,5)=ROUNDDOWN(FLOOR(Sheet1!$B2+0.001,"0:30"),5),"○",IF(AND(A2="○",ROUNDDOWN(B$1,5)<ROUNDDOWN(FLOOR(Sheet1!$C2+0.001,"0:30"),5)),"○",IF(ROUNDDOWN(B$1,5)=ROUNDDOWN(FLOOR(Sheet1!$D2+0.001,"0:30"),5),"○",IF(Sheet1!$C2<=Sheet1!$D2,IF(AND(A2="○",B$1>Sheet1!$C2,ROUNDDOWN(B$1,5)<ROUNDDOWN(FLOOR(IF(Sheet1!$E2<Sheet1!$D2,Sheet1!$E2+"24:00",Sheet1!$E2+0.001),"0:30"),5)),"○",""),IF(Sheet1!$C2>Sheet1!$D2,IF(AND(A2="○",ROUNDDOWN(B$1,5)<ROUNDDOWN(FLOOR(IF(Sheet1!$E2<Sheet1!$D2,Sheet1!$E2+"24:00",Sheet1!$E2+0.001),"0:30"),5)),"○",""),"")))))

hatarakiman39
質問者

補足

ありがとうございます。凄い式が必要なんですね。 つくづく感心します。 説明が難しくて、なかなか伝えにくい事もありますがもうひとつ 補足します。 機械No.はN-1~N-25まであります。 2交代制の勤務です。基本朝8:30~翌日8:30まで動かします。 朝勤務の方が20:30までの12時間で一度締めます。 夜勤者は20:30~8:30までの12時間で締めます。 もちろん朝勤務者がN-1を15:00頃に一度機械を停止して また19:30~再稼働することもあります。(ややこしいですが・・・) その場合は表上 ”○” が一度空白になりまた19:30~始まる 形になります。 反対に夜勤者も2:00頃停止して朝7:30~再稼働するパターンもあります。 データー入力(昼・夜勤務者が12時間で締めてPCに稼働時間を入力する) 後に別シート(シート1に時間入力、シート2に自動で表に表す)に 勝手に表が出来ている感じにしてみたいのです。 わがままですが、解説込みで今一度御指導願います。

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

D列の時間がC列の時間よりも前の時間になるということが有るのでしょうか?そのようなことが有る場合には式はより難しくなりますね。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

機械の運転時間の7:30がB2セルにあるとし、 フィルする7:30のセルがB8セルにあるとした場合、 =IF(OR(AND(B$8>=$B2,B$8<=$C2),AND(B$8>=$D2,B$8<=$E2)),"○","") 7:30のセルを行フィルするには、 7:30と8:00を入れてこの2つのセルを選んでからフィルしてみてください。

hatarakiman39
質問者

お礼

早速の回答ありがとうございます。 時間は上手く入りました。

関連するQ&A