• ベストアンサー

時間計算したものを別の数字にしたい

勤務時間計算のためにエクセルを使いたいと思っています。 エクセルは簡単な名前の一覧ぐらいしか作った事がありません。 関数やマクロなどの知識が全くないので できましたら簡単に出来る方法があればとても助かります。 ------------ A列.日付  B列.開始時間 C列.終了時間 D列.終了時間から開始時間をひいた時間 E列.“D列”により「1」か「2」か「3」 --------------- このような表になっています。 このE列を↓ D列が・・・ 1時間以内なら1、 1時間1分以上で2時間以内なら2 2時間1分以上で3時間以内ならば3 と置き換えたい場合はどのようにすればイイでしょうか?

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

  • ベストアンサー
回答No.2

D列に59分を加算して時間だけを取り出せばいいと思います。 セルE2に =HOUR(D2+"00:59:00")

sara1984
質問者

お礼

ありがとうございます。上手く行きました、助かりました。 またよろしくお願いします!!

その他の回答 (8)

  • a987654
  • ベストアンサー率26% (112/415)
回答No.9

NO8です。 見おとしです。NO2の方と全く同じでしたね。失礼しました。

  • a987654
  • ベストアンサー率26% (112/415)
回答No.8

午前0時を跨がず(0時を跨ぐ時はD列の計算で工夫が要)、 D列は時刻のシリアル値(C列-B列)が入っているものとします。 E列に(仮にE1) =HOUR(D1+"00:59:00") これでいけると思いますが。

sara1984
質問者

お礼

HOURとゆうのが、なんとなくド素人にもわかり易い雰囲気です(^_^;) なんとかなりそうです、ありがとうございました。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.7

=FLOOR(MAX(D1*24-1/60,0),1)+1 または =CEILING(MAX(D1*24-1/60,0),1) ※D列が0の場合は、0を表示します。

sara1984
質問者

お礼

ありがとうございます。 =CEILING(MAX(D1*24-1/60,0),1)の方が上手くいきました =FLOOR(MAX(D1*24-1/60,0),1)+1の方を研究してみますね。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.6

こんにちは これでよいのでは? =CEILING(D1,"1:00")

sara1984
質問者

お礼

回答ありがとうございます。 CEILINGですね、勉強します。 色んなやり方があるので、びっくりしています(汗)

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

E1セルに次の式を入力し下方にオートフィルドラッグします。 =IF(D1="","",ROUNDUP(D1/"1:00",0))

sara1984
質問者

お礼

出来ました(^^)v みなさん、それぞれ色んな出し方があって スゴイなと思います。ありがとうございました。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.4

No1です 複雑に書きすぎました 単純に =ROUNDUP(D1*24,0) でいけると思います。

sara1984
質問者

お礼

出来ました! 両方とも同じ結果を出せるんですね(@_@) 色んな出し方があって、奥が深いものです。。。 ありがとうございます。

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

>関数やマクロなどの知識が全くないので こんな状態の人には回答も出来ません。質問者が勉強して、近寄ってもらわないと。 時間差の出し方ーセルの番地の引き算で出来る(エクセルの標準の9:23の)ように入れること。 あと1,2,3に分けるためにIF関数を勉強のこと。 (ふつう回答者レベルでは、IF関数を使ってはやらないが、質問者が関数がわからないらしいから) 1時間はセルの値は1/24です。時間が絡んだ例なので難しい。 Googleで「エクセル 関数 以下 以上」で照会し たくさん出るから http://q.hatena.ne.jp/1134965597 ほか適当な記事を勉強のこと。 「IF関数 ネスト」でもGoogle照会するのもよいかも。

sara1984
質問者

お礼

勉強不足と言われるかと思いましたが、自分では何とも仕事が 進まず…思い切って投稿しました。 これから勉強して、いつか回答出来る側になれるよう頑張ります。 アドバイスありがとうございました。 また見かけたら、懲りずによろしくお願いします。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

E1に =ROUNDUP(INT(D1*24/1)+MOD(D1*24,1),0) でいかがでしょう あとはフィルしてください

sara1984
質問者

お礼

早速の回答ありがとうございます。 ROUNDUP勉強しました、なるほど便利です!!