• ベストアンサー

昨晩、【残業時間計算式を教えて下さい。】の質問を

して締め切ったのですが、一つ言葉が足り無く再度のご教授を頂きたく宜しくお願い致します。 以下の関数ですと、残業時間計が1:30の表示になってしまいます。この表示を1.5に変更したいのですが、宜しくお願い致します。 =INT((D6-18.5/24)*48)/48 =TIME(HOUR(D6),INT(MINUTE(D6)/30)*30,0)-TIME(18,30,0)

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

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

=(TIME(HOUR(D6),INT(MINUTE(D6)/30)*30,0)-TIME(18,30,0) )*24 の式にしてセルの表示形式を標準にします。

tapian777
質問者

お礼

ありがとうございました。 上手く値を返す事が出来ました。感謝です。 お陰様で今日資料を入力して、明日休日出勤してゆっくり答えが出せます。 助かりました。再度のありがとうです。

関連するQ&A

  • 再度です。昨晩、【残業時間計算式を教えて下さい。】

    と質問をさせていただき、本日、残業時間表示 1:30 を 1.5 に出来る次の関数をアンサーしていただきました。 初回のアンサー =INT((D6-18.5/24)*48)/48 =TIME(HOUR(D6),INT(MINUTE(D6)/30)*30,0)-TIME(18,30,0) 2回目のアンサー =(TIME(HOUR(D6),INT(MINUTE(D6)/30)*30,0)-TIME(18,30,0) )*24 の式にしてセルの表示形式を標準にします。 上の式を実践で入力した所また不具合が見つかりました。(^^;) ※休日に -19  ※残業無しの日に -1 と表示されてしまいます。 本当に言葉足らずで申し訳ありませんが、上の2点が改良される関数をご存じの方がいらしたら ご指導の程よろしくお願いいたします。(休日や残業0の日の表示は空白を希望します。)

  • あともうちょっで完成なのですが・・・

    うまく動作しないのですが、以下のプログラムのどこが間違っているのでしょうか? たぶん、メイン関数の宣言の部分だと思うのですが・・・。 #include<stdio.h> typedef struct Time{ int hour; int second; int minute; }Time; int main(void){ Time time1,time2,time3; Time time[3]; int i; for(i=0;i<3;i++){ printf("time%dの時間を入力\n",i+1);   scanf("%d",time[i].hour); printf("time%dの分を入力\n",i+1)   scanf("%d",time[i].minute); printf("time%dの秒を入力\n",i+1); scanf("%d",time[i].second); } time3.second = time1.second + time2.second; if( time3.second >= 60 ){ time3.second=-60; /* time3.second = time3.second - 60; */ time3.minute=1; }else{ time3.minute=0; } time3.minute = time3.minute + time1.minute + time2.minute; if( time3.minute >= 60 ){ time3.minute=-60; /* time3.minute = time3.minute - 60; */ time3.hour=1; }else{ time3.hour=0; } time3.hour= time3.hour+ time1.hour+ time2.hour; return 0; }

  • EXCELで時間計算

    タイムカード集計表を作っていますが、残業時間の計算式がうまくいかずに困っています。過去の質問で該当するものがなくて・・・ RAUND(HOUR(A1)+(MINUTE(A1)/60),0)という式を使っていますが、この計算式だと残業時間が24時間を越えるとうまく表示されません。 何かいい解決法はありませんか? よろしくお願いします。

  • 時間の累計について

    セルの設定 D54に1:30、D55に5を入力して D56のセルに=D54+TIME(D55,D55,0)&h:mmと書式設定すると 6:35と表示されます =HOUR(D56)とすると 6と表示します =MINUTE(D56)    35と表示されますが =(HOUR(D56)*60)+MINUTE(D56)で分に直すと568800に成ってしまいます この数字は24H(1日)*60*395(この分を求めたい)の様です 395を求めたいのですが、どの様にセル等を設定すれば出来るのでしょうか 書式設定のユーザー定義でmmを設定すれば出来るのですが、使い方の勉強中なので お教え頂きたいのですが...

  • エクセル 残業時間の計算

    いつもお世話になります。 エクセルで勤怠表を作っています。 出勤時間・・・D8 退勤時間・・・D9  に書く事にした時、 残業時間をD13に表示させたいのですが上手くいきません。 関数を教えて頂けると助かります。 定時時間:8:00~17:00 残業時間:17:01~22:00、5:30~8:00 深夜残業時間:22:01~5:30 尚、時間は30分単位で切り下げです。 宜しくお願い致します。

  • エクセルの時間の計算

    エクセルで稼働時間に対し、ポイントを付与したいのですが、 例えば、稼働時間2時間未満に関しては一律2ポイント それ以外は1分単位で切り上げ、下記のようにポイントを付与したいのですが、式がわかりません。IF関数で何度かトライしたのですが駄目でした。 どなたか、教えてください。なお、切り上げの時間換算は 『=INT(G1)+TIME(HOUR(G1)+(MINUTE(G1)>0),0,0)』でできました。 9:00~12:01=4:00→ポイント換算=4 9:00~12:00=3:00→ポイント換算=3 9:00~10:00=2:00→ポイント換算=2

  • EXCELで関数を使って残業時間の計算がしたいのですが・・

    EXCELを使って残業時間の計算したいと思っているのですが、関数にあまり詳しくないのでアドバイスお願い致します。 (A1)出社、(B1)退社時間は30分単位で自分で入力します。 D1に10時間以降残業にし、残業に満たない場合は未表示で30分単位は0.5と表示させようと思っています。 今現在 A1=出勤時間 8:00 B1=退社時間 20:00 C1=労働時間 12:00   関数  =IF(A1="","",B1-A1) D1=残業時間 =IF(C1="","",IF(C1>"10:00",(C1-"10:00")*24,"")) と、いう感じにやってみましたが、D1の計算がうまくいきません。よくわからないのですが、シリアル値というのが関係してるのでしょうか?宜しくお願い致します。

  • Excelで集計に関する関数の質問です

    添付した図を基に質問します。4行目をウィンドウ枠固定して表示してあります。 行列番号を見てもらえたら分かると思いますが、要所でセルを結合してあります。 セルB6に=IF(B5="","",(IF(B5>1999,0,IF(E5<501,0,IF(AND(B5>499,E5<2001),(TIME(INT(E5/100),MOD(E5,100),0)-TIME(INT(B5/100),MOD(B5,100),0)),IF(B5<500,TIME(INT(E5/100),MOD(E5,100),0)-(TIME(INT(500/100),MOD(500,100),0)),IF(E5>2000,TIME(INT(2000/100),MOD(2000,100),0)-TIME(INT(B5/100),MOD(B5,100),0),0))))))*24) D6に=IF(B5="","",IF(AND(B5<500,E5>500),(TIME(INT(500/100),MOD(500,100),0)-TIME(INT(B5/100),MOD(B5,100),0)),IF(AND(B5<2000,E5>2000),(TIME(INT(E5/100),MOD(E5,100),0)-TIME(INT(2000/100),MOD(2000,100),0)),IF(AND(B5>499,E5<2001),0,(TIME(INT(E5/100),MOD(E5,100),0)-TIME(INT(B5/100),MOD(B5,100),0)))))*24) これは、項目A列5行目を参照しています。以下オートフィルします。 例えば7時から10時10分の差を求める場合、B6セルに700、D6セルに1010と1分単位で入力し、表示形式は0.0" H"です。 項目C,Dも同様で、項目C内E列には1時間30分の場合1.5と入力し30分単位です。表示形式は同様。 A列の日付欄には、1月1日の場合1/1と記入します。表示形式は日付の月/日です。 上記内容で添付図の上の表(A3:S30)項目B~D列のデータを下の表(A32:S39)で集計しようと思います。 1、F35~F38に月ごとの時間の計を表示させる関数 2、J35~J38には、月ごとの時間*単価を項目別に計算した値の計を表示させる関数 3、P35~P38にも上記同様の計を表示させる関数 以上、1,2,3に入力する関数が知りたいので、宜しくお願いします。 なお不明な点がありましたら随時補足していこうと思います。

  • エクセルの日時から時間を足したいんですが…

    ※たとえば A1に 2010/4/1 7:00:00 B1には足したい時間(分) 60 としたときに C1には 2010/4/1 8:00:00 となるようにしたいのです。 さらに先ほどの足し算を連続しておこないたいのです。 C1に =TIME(HOUR(A2),MINUTE(A2)+D2,SECOND(A2)) だけですと時間のみの足し算になってしまい、日にちまで追いかけて表示してくれません。

  • EXCEL IF関数内で共通の条件式をまとめる方法

    初めてご質問させていただきます。よろしくお願いいたします。 EXCELで以下のIF関数を使用しています。 U1セルには=NOW()関数で時間が表示されています。 要するに、9時15分から11時までの間で、15分間隔で大小関係を比較するセルを変更して、その結果に応じてA判定、またはB判定、または空欄のいずれかが選択されるIF関数になっています。 お伺いしたいことは以下の2点です。 (1) 各条件式で共通部分が必ず3つあります。最初のA判定とB判定の条件式を見ていただきたいのですが、HOUR($U$1)=9,MINUTE($U$1)>=15,MINUTE($U$1)<30が共通です。この共通している部分を くくり出して一つにまとめる事はできないのでしょうか? (2) 以下のIF関数をもっと短くエレガントに記述することはできなのでしょうか? 以上2点、ご回答よろしくお願いいたします。 =IF(AND(HOUR($U$1)=9,MINUTE($U$1)>=15,MINUTE($U$1)<30,C3>B3),"A",IF(AND(HOUR($U$1)=9,MINUTE($U$1)>=15,MINUTE($U$1)<30,C4<B4),"B",IF(AND(HOUR($U$1)=9,MINUTE($U$1)>=30,MINUTE($U$1)<45,D3>C3),"A",IF(AND(HOUR($U$1)=9,MINUTE($U$1)>=30,MINUTE($U$1)<45,D4<C4),"B",IF(AND(HOUR($U$1)=9,MINUTE($U$1)>=45,MINUTE($U$1)<=59,E3>D3),"A",IF(AND(HOUR($U$1)=9,MINUTE($U$1)>=45,MINUTE($U$1)<=59,E4<D4),"B",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=0,MINUTE($U$1)<15,F3>E3),"A",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=0,MINUTE($U$1)<15,F4<E4),"B",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=15,MINUTE($U$1)<30,G3>F3),"A",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=15,MINUTE($U$1)<30,G4<F4),"B",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=30,MINUTE($U$1)<45,H3>G3),"A",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=30,MINUTE($U$1)<45,H4<G4),"B",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=45,MINUTE($U$1)<=59,I3>H3),"A",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=45,MINUTE($U$1)<=59,I4<H4),"B",""))・・・括弧省略

専門家に質問してみよう