- ベストアンサー
時間計算したものを別の数字にしたい
勤務時間計算のためにエクセルを使いたいと思っています。 エクセルは簡単な名前の一覧ぐらいしか作った事がありません。 関数やマクロなどの知識が全くないので できましたら簡単に出来る方法があればとても助かります。 ------------ A列.日付 B列.開始時間 C列.終了時間 D列.終了時間から開始時間をひいた時間 E列.“D列”により「1」か「2」か「3」 --------------- このような表になっています。 このE列を↓ D列が・・・ 1時間以内なら1、 1時間1分以上で2時間以内なら2 2時間1分以上で3時間以内ならば3 と置き換えたい場合はどのようにすればイイでしょうか?
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
D列に59分を加算して時間だけを取り出せばいいと思います。 セルE2に =HOUR(D2+"00:59:00")
その他の回答 (8)
- a987654
- ベストアンサー率26% (112/415)
NO8です。 見おとしです。NO2の方と全く同じでしたね。失礼しました。
- a987654
- ベストアンサー率26% (112/415)
午前0時を跨がず(0時を跨ぐ時はD列の計算で工夫が要)、 D列は時刻のシリアル値(C列-B列)が入っているものとします。 E列に(仮にE1) =HOUR(D1+"00:59:00") これでいけると思いますが。
お礼
HOURとゆうのが、なんとなくド素人にもわかり易い雰囲気です(^_^;) なんとかなりそうです、ありがとうございました。
- mshr1962
- ベストアンサー率39% (7417/18945)
=FLOOR(MAX(D1*24-1/60,0),1)+1 または =CEILING(MAX(D1*24-1/60,0),1) ※D列が0の場合は、0を表示します。
お礼
ありがとうございます。 =CEILING(MAX(D1*24-1/60,0),1)の方が上手くいきました =FLOOR(MAX(D1*24-1/60,0),1)+1の方を研究してみますね。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは これでよいのでは? =CEILING(D1,"1:00")
お礼
回答ありがとうございます。 CEILINGですね、勉強します。 色んなやり方があるので、びっくりしています(汗)
- KURUMITO
- ベストアンサー率42% (1835/4283)
E1セルに次の式を入力し下方にオートフィルドラッグします。 =IF(D1="","",ROUNDUP(D1/"1:00",0))
お礼
出来ました(^^)v みなさん、それぞれ色んな出し方があって スゴイなと思います。ありがとうございました。
- kmetu
- ベストアンサー率41% (562/1346)
No1です 複雑に書きすぎました 単純に =ROUNDUP(D1*24,0) でいけると思います。
お礼
出来ました! 両方とも同じ結果を出せるんですね(@_@) 色んな出し方があって、奥が深いものです。。。 ありがとうございます。
- imogasi
- ベストアンサー率27% (4737/17069)
>関数やマクロなどの知識が全くないので こんな状態の人には回答も出来ません。質問者が勉強して、近寄ってもらわないと。 時間差の出し方ーセルの番地の引き算で出来る(エクセルの標準の9:23の)ように入れること。 あと1,2,3に分けるためにIF関数を勉強のこと。 (ふつう回答者レベルでは、IF関数を使ってはやらないが、質問者が関数がわからないらしいから) 1時間はセルの値は1/24です。時間が絡んだ例なので難しい。 Googleで「エクセル 関数 以下 以上」で照会し たくさん出るから http://q.hatena.ne.jp/1134965597 ほか適当な記事を勉強のこと。 「IF関数 ネスト」でもGoogle照会するのもよいかも。
お礼
勉強不足と言われるかと思いましたが、自分では何とも仕事が 進まず…思い切って投稿しました。 これから勉強して、いつか回答出来る側になれるよう頑張ります。 アドバイスありがとうございました。 また見かけたら、懲りずによろしくお願いします。
- kmetu
- ベストアンサー率41% (562/1346)
E1に =ROUNDUP(INT(D1*24/1)+MOD(D1*24,1),0) でいかがでしょう あとはフィルしてください
お礼
早速の回答ありがとうございます。 ROUNDUP勉強しました、なるほど便利です!!
お礼
ありがとうございます。上手く行きました、助かりました。 またよろしくお願いします!!