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

残業時間の計算をしたいのです。
時刻部分の書式設定は「時刻」(でしたか?自宅PCにexcelがなく確認できず)
うろ覚えなので、突っ込みはご容赦ください。
ともかく時間の引き算でマイナスを表示できたらよいのです。

先月 5:00:00
今月 3:00:00
引き算2:00:00 これは単純に引き算したらokです。

先月 3:00:00
今月 5:00:00
   -2:00:00 としたいのですが(マイナスじゃなくて△でもよい)
エクセル上では、時刻の引き算で負の数かセルの幅より大きい数は####になりますよね。

今月は、先月より残業減ったね/増えたね という表を作りたいので、
マイナスはマイナスで表示させたいです。

そういう計算式、関数は組み立てれませんでしょうか?

A 回答 (5件)

個人で使う場合はNo.1の方の方法でいいですが、


会社で使う場合は止めた方がいいですね。

A2="先月"、A3="今月"、B2=3:00:00、B3=5:00:00 として
■2セルを使って表示する方法
A4=IF(COUNT(B2:B3)=2,SIGN(B2-B3),"")
として表示形式をユーザー定義で ;"-";;@
B4=IF(COUNT(B2:B3)=2,ABS(B2-B3),"")

■1セルで文字列として表示する方法
B4=IF(COUNT(B2:B3)=2,IF(B2>B3,"","-")&TEXT(ABS(B2-B3),"[h]:mm:ss"),"")
    • good
    • 4
この回答へのお礼

会社使用なので1904年はやめておきました。
自力でできました。
見栄えはちょっと気に入らないのでこれで試してみます。
皆さんありがとうございました。

お礼日時:2011/10/16 18:21

日付の開始を通常の1900年から1904年に変更すれば計算されますが如何がでしょうか。


添付のURLを参照して下さい。

参考URL:http://support.microsoft.com/kb/214330/ja
    • good
    • 0

A1セルに先月、B1セルに今月のデータがあるとしてC1セルには次の式を入力します。



=IF(COUNT(A1:B1)=0,"",IF(A1>=B1,A1-B1,"△"&TEXT(B1-A1,"h:mm")))
    • good
    • 1

文字列としてなら、これでもいいかな


=IF(B3="","",TEXT(ABS(B3-B2),REPT("-",B3>B2)&"[h]:mm"))
「excelで時間の引き算でマイナス表示に」の回答画像3
    • good
    • 0

文字列操作等で無理矢理表示する手も無いではありませんが,そうやって結果を現しても続きの計算に使えなくなるのでお薦めしません。



推奨手順:
いきなりですがご利用のエクセルのバージョンが不明です。
2003まで:ツールのオプションの計算方法タブ
2007以降:エクセルのオプションの詳細設定欄
で1904年から計算するチェックを入れる
と,マイナス時刻が###にならずにマイナス時刻で表示できるようになります。
同様の計算を縦に並べてふつーにSUMで合計するといった計算も全く支障なく出来ます。


ただし,この設定をする「前」に,ブックに「年月日」の日付が記入してあった場合,日付が変わってしまいます。日付のデータを入れ直す等が必要になるので注意してください。
またこのチェックを「入れたブック」と「入れていないブック」間で年月日の日付を記入したセルをコピーしたり,数式によって参照したりしても,やはり日付が変わるので注意してください。

この回答への補足

失礼しました。
2007以降です。
明日、職場でやってみます。

補足日時:2011/10/12 22:24
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています