プロが教えるわが家の防犯対策術!

Excel2007で給料計算をしたいのですが出勤時間、退社時間の結果F7を=IF(E7-D7>0,E7-D7,E7+1-D7)  D7出勤 E7退社でやったのですがE7,D7を入力する前から結果F7が常に0:00と表示されてしまい結果に時給をかけ計算することがができません。解決方法をお願いします

A 回答 (4件)

NO3です。


>IF(COUNT(D7:E7),IF(E7-D7>0,E7-D7,E7+1-D7),0)*24
⇒数式に誤りがありましたので訂正します。
 =IF(COUNT(D7:E7)=2,IF(E7-D7>0,E7-D7,E7+1-D7),0)*24
    • good
    • 0
この回答へのお礼

何回もありがとうございました。お陰さまで出来ました。本当ありがとうございます

お礼日時:2010/12/07 17:50

NO1です。


>IF(COUNT(D7:E7),IF(E7-D7>0,E7-D7,E7+1-D7),0)*24を入力するとエラーが表示されますが無視で良いのでしょうか?

⇒エラー表示されている場合は駄目です、どの様なエラーが表示されているのでしょうか。
 

この回答への補足

数式は隣接したセルを使用していません   です

補足日時:2010/12/07 15:46
    • good
    • 0

何も入力しないということは、E7,D7ともにゼロと同じです。


この場合時刻計算ではE7+1-D7の結果は、
0:00+1日-0:00=00:00-00:00
E7は翌日の零時の意味になりますが、時刻部分だけの計算をすることになり結果的に0:00になります。

どちらにしても数値を入力後は計算できるはずですから、これでよいのではないでしょうか。

ただし、これに時給を掛けるときは、F7は時刻表示になっているのでこれを数値の変えなければ正しい計算になりません。

その場合はG7に
   =HOUR(F7)
という式を入れると、数値の時間数がここに表示できます。これに時給をかければ正しい金額になります。

でもこれは時間だけですから、分も計算に入れるときはMINUITE関数で同じよう児数値に変換します。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!

お礼日時:2010/12/07 16:47

未入力の場合、IF文がFALSEになるので数値に「1」が戻る事になり、小数点以下が「0」の為、該当セルの表示形式がhh:mmだから「0:00」になる。

(時間は1日/24時間で表現されるので小数点になる。)
又、この値を乗算するのであれば、この値を10進値にしないといけないので24倍しています。
従って、未入力の場合は0になればよいので=IF(COUNT(D7:E7),IF(E7-D7>0,E7-D7,E7+1-D7),0)*24
尚、数式セルの表示形式は標準として下さい。

この回答への補足

ありがとうございます。IF(COUNT(D7:E7),IF(E7-D7>0,E7-D7,E7+1-D7),0)*24を入力するとエラーが表示されますが無視で良いのでしょうか?

補足日時:2010/12/07 15:14
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!