- 締切済み
時間の算出方法
エクセルで22時以降の時間算出『22:00-22:15=0:15』という風に出したいのですが、どうすればよいのでしょうか? ちなみに22時以降は0:15分50円の計算です。 出勤 退勤 休憩 支払時間 22時以降 通常時給 22時以降 合計支給 15:00 23:30 0:30 8:00 1:00 ¥6,400 ¥200 ¥6,600 お力をお貸しください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- KURUMITO
- ベストアンサー率42% (1835/4283)
例えばB1セルに出勤、C1セルに退勤、D1セルに休憩、E1セルに支払時間、F1セルに22時以前時間、G1セルに22時以降時間、H1セルに22時以前金額、I1セルに22時以降金額、J1セルに合計支給額とでも項目名を入力し、それぞれのデータは下方の行に入力または計算により表示させることにします。 B列からD列までのデータはそれぞれ入力することにします。E2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(COUNT(B2:C2)<>2,"",FLOOR(C2-B2-D2,"0:15")) この式の意味はB列およびC列にデータが入力されなければ空白に、そうでなければ退勤時間から出勤時間と休憩時間を引くのですが、出勤や、退勤時間が15分単位となっていない場合にはその端の時間は切り捨てて表示しなさいということです。 例えば支払時間が8:12となった場合には8:00となるように計算します。8:15の時は8:15と表示されます。 F2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(E2="","",FLOOR(MIN(C2,"22:00")-B2-D2,"0:15")) この式でMIN関数が使われていますが、これは退勤時間と22時とを比べて退勤時間が22時よりも遅ければ22時から出勤時間や休憩時間を引きなさい。退勤時間が22時よりも早ければ退勤時間から出勤時間や休憩時間を引きなさいということです。 J2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(OR(E2="",C2<="22:00"*1),0,FLOOR(C2-"22:00","0:15")) この式はE2セルが空白の場合や退勤時間が22時よりも早い場合には0をそうでなければ退勤時間から22:00を引いた値を15分単位の時間として計算(端の時間は切り捨て)しなさいとの意味です。 H2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(F2="","",F2*24*6400) 22:00より前の時間給は6400円ですのでF2の時間,例えば6:30のように表示されますがセルの表示形式を標準にすれば 0.2708・・のようになっており実は日が単位となっています。そのため日にちに24時間をかけて時間数に直しこれに時給を掛けています。 I2セルには次の式を入力し下方にオートフィルドラッグします。 =IF(G2="","",G2*24*6600) 最後のJ2セルには次の式を入力し下方にオートフィルドラッグします。 =IF(E2="","",H2+I2) 以上ですがE,、F,、G列についてはセルの書式設定から表示形式で時刻を選んで6;30のように表示されるようにします。
- nattocurry
- ベストアンサー率31% (587/1853)
休憩が22時以前なのか22時以降なのかはどうやって判断するんですか? >22:00-22:15=0:15 質問文のサンプルには、22:15という時刻はありませんが、別のサンプルということでいいですか? そして、計算が逆です。 22:15-22:00=0:15 です。 「出勤」のセルがA1だとして、G5に =(B5-VALUE("22:00"))*24*200 23:30-22:00=1:30 15分あたり50円ということは、1時間あたり200円なので、300円 休憩の条件が不明なので、組み込んでいません。