- ベストアンサー
「1時間」を「60分」と表示させたい。
勤務表を作成していて 休憩時間をセルに 1:00→60 と表示させたいです。 わかりづらいのでPDFを作ってみました。 解決したら削除します。 http://daiettokenkou.web.fc2.com/situmonn.pdf E5は =C5-D5-B5 で求められるのですが 「60分」にしたいのでできなくなってしまいます。 あと、 毎日所定内は固定で7:30なのですが 時間外を自動で計算させたいです。 要は何時間残業したかをはじき出したいです。 よろしくお願い致します。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
#6です。 訂正します。他の回答者さんのアドバイスのように 休憩時間は、書式設定で表示形式を [mm] にしたほうがシンプルですね。 以下、この方法で書き直しました。 最初の質問は、次のように計算すればできます。 D5: =1:00 (表示形式:[mm]) → 表示は60 E5: =C5-D5-B5 (表示形式:「時刻」) 次に、「所定内」「残業時間」の計算方法ですが、 「所定内」が7:30固定ということであれば、 E5: =$D$1 (表示形式:「時刻」) F5: =C5-B5-D5-E5 (表示形式:「時刻」) と計算したいところですが、話は簡単ではありませんね。 というのは、定時が何時~何時なのでしょう? 定時前に開始した場合は、残業代に組み入れるのか? それとも、定時開始とみなすのか? この辺がはっきりしないと計算できません。 例えば、定時が9:30~18:00で 残業が18:00~22:00であったと仮定すると E5: =MIN(C5,"18:00")-MAX(B5,"9:30")-D5 F5: =IF(MIN(C5,"22:00")>MAX(B5,"18:00"),MIN(C5,"22:00")-MAX(B5,"18:00"),0) と入力してみてください。 試してみれば分かりますが、9:30前の開始は所定内に組み入れませんし、遅刻や早退は所定内から差し引かれます。 それから、 とっても役に立ちそうなサイトがありましたので紹介します。 特にこの中の「勤務時間の計算」が今回の場合にぴったりですね。 >http://www.eurus.dti.ne.jp/~yoneyama/Excel/ex-q-a/q_jikoku.html >http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/hour.htm
その他の回答 (6)
- ka_na_de
- ベストアンサー率56% (162/286)
こんにちは。 最初の質問は、次のように計算すればできます。 D5: =60 (表示形式:「標準」) E5: =C5-D5/24/60-B5 (表示形式:「時刻」) または =C5-TIME(0,D5,0)-B5 (表示形式:「時刻」) 次に、「所定内」「残業時間」の計算方法ですが、 「所定内」が7:30固定ということであれば、 E5: =$D$1 F5: =C5-B5-D5/24/60-E5 または、 =C5-B5-TIME(0,D5,0)-E5 と計算したいところですが、話は簡単ではありませんね。 というのは、定時が何時~何時なのでしょう? 定時前に開始した場合は、残業代に組み入れるのか? それとも、定時開始とみなすのか? この辺がはっきりしないと計算できません。 例えば、定時が9:30~18:00で 残業が18:00~22:00であったと仮定すると E5: =MIN(C5,"18:00")-MAX(B5,"9:30")-D5/24/60 または =MIN(C5,"18:00")-MAX(B5,"9:30")-TIME(0,D5,0) F5: =IF(MIN(C5,"22:00")>MAX(B5,"18:00"),MIN(C5,"22:00")-MAX(B5,"18:00"),0) と入力してみてください。 試してみれば分かりますが、9:30前の開始は所定内に組み入れませんし、遅刻や早退は所定内から差し引かれます。 それから、 とっても役に立ちそうなサイトがありましたので紹介します。 特にこの中の「勤務時間の計算」が今回の場合にぴったりですね。 >http://www.eurus.dti.ne.jp/~yoneyama/Excel/ex-q-a/q_jikoku.html >http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/hour.htm
お礼
大変参考になりました。ご回答ありがとうございます。
- shinkami
- ベストアンサー率43% (179/411)
1:00→60 をと表示させたいです。 書式設定を表示形式の [mm] と[]で囲みます。これで分の時への繰り上がりがなくなります。 お考えの通りでよいのですが、次の3点配慮が必要です。 1.残業があるかどうかの判定…IF関数を利用 2・15分(または30分)単位の切り捨て…FLOOR関数を利用 3.E列は常にD1を参照したい 以上を踏まえて E6=$D$1 この$は絶対アドレスとなり、式複写の時固定的にこのD!が複写されます F6=IF(C6-B6-D6>E6,FLOOR(C6-B6-D6-E6,15/(24*60)),0) とします。 上記式中15/(24*60)は 60分は1時間 24時間は1日間 1日間は 1のためです。 補足:1ヶ月間の残業時間が24時間以上になると時間が日に繰り上がり通常の時間表示形式では日の部分が表示されませんここの表示形式をユーザ定義で[h]:mm として下さい また 残業料=残業時間*残業単価*24です。… 1時間は1/24(日)
お礼
大変参考になりました。ご回答ありがとうございます。
- redowl
- ベストアンサー率43% (2140/4926)
休憩時間の表示を 「時:分」ではなく「分」にしたいのであれば セルの書式>ユーザー定義___ [m] にすれば可能。 1:00 と入力>>> 60 (0:45なら 45, 2:00なら 120 で表示されます)
お礼
大変参考になりました。ご回答ありがとうございます。
- rui2007
- ベストアンサー率20% (63/302)
あと時間外でしたね。 G1に=IF(D1>450,D1-450,0) と設定すればその日の残業分が分ででますね。 ここで450は7.5時間×60分で7.5時間を超過した場合のみ 残業としてカウントできます。
お礼
再度ご回答ありがとうございます。
- rui2007
- ベストアンサー率20% (63/302)
すいません。ずれてましたね。 A列に7:30なら730と入力 B1に=(A1-C1)/100 C1に=MOD(A1,100) D1に=B1*60+C1 E1に=D1 E2に=E1+D2 F1に=((E1-MOD(E1,60))/60)*100+MOD(E1,60) E列はE2からコピー B,C,D,F列は1行目からコピー A列、F列に書式設定または100以上の条件付で###":"##と設定すれば A;入力時間、B;時間、C;分、D:日別分合計、E:累計、F:累計時間:分 になるはずです。 後は見出しとかを行挿入、列挿入して整えましょう。
お礼
やってみたらなんとかできました! 再度ご回答ありがとうございます。
- rui2007
- ベストアンサー率20% (63/302)
まず、時間を入力するセルをA1とします。 B1セルに=MOD(A1,100)と入力します。 C1セルに=(A1-C1)/100と入力します。 D1セルに=MOD(C1,100)と入力します。 そうして、A1セルの書式設定で##":"##と設定します。 これは100以上の場合だけにするように条件付書式にしても良いですね。 A1そのときに60分だったら60と入力し そのときに1時間30分だったら130と入力します。 そうすることで、表示上は1:30などになります。数値的には130です。 C1セルの値は時間の桁、D1セルの値は分の桁になります。 =C1*60+D1と計算すればその日の集計を分でできますし さらに集計したものにMOD関数で60で割った余りを使えば、 総計の時間部分が判りますし、総計の時間部分を60倍し分の総計から 引いてあげれば、総時間:総分分けることが出来ます。
お礼
う~ん ちょっとやってみましたけどうまく出来ません。 もうちょっとがんばってみようと思います!!!! 大変参考になりました。ご回答ありがとうございます。
お礼
大変参考になりました。ご回答ありがとうございます。