ウォッチ漫画『酒男子』新連載開始!

エクセルで勤務時間を管理しています。
昨年と同月などの時間比較で計算させているのですが、負の値になると表示ができません。

時間での計算結果が負の値でも、括弧やマイナス"-"を付けて時間表示させる方法はないでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (4件)

[ツール]→[オプション]→[計算方法]で


[1904年から計算する]にチェックを入れると
負の時間はマイナス表示されるようになります。

しかし、日付の計算方法が異なるので、
(例えば、2006/11/19は2010/11/20に変わってしまいます)
既に入力されている日付データは
すべて入力し直さなければなりません。
大量にあるとちょっと大変ですね。

データ修正が不可能であれば、No.1さんのご回答のように
するのが最善の方法だと思います。
    • good
    • 0
この回答へのお礼

その方法はしりませんでした。
ありがとうございます。

ただ、他にもいろいろと日付データがあるので、避けたいと思います。
どうもありがとうございます。

お礼日時:2006/11/20 23:35

「書式」→「セル」→「数値」→「負の数の表示形式」で設定する

    • good
    • 4
この回答へのお礼

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

私はEXEL2002を使用しているのですが、その方法では日付や時間に対応していませんでした。

お礼日時:2006/11/20 23:32

こんばんは。



単に、こういうことではありませんか?

カッコをつける

時間:
=IF(A1-B1<0,TEXT(ABS(A1-B1),"(hh:mm:ss)"),TEXT(A1-B1,"hh:mm:ss"))

日付:
=IF(A1-B1<0,TEXT(ABS(A1-B1),"(d)"),TEXT(A1-B1,"d"))

マイナス表示

時間:
=IF(A1-B1<0,"-","") & TEXT(ABS(A1-B1),"hh:mm:ss")

日付:
=IF(A1-B1<0,"-","") & TEXT(ABS(A1-B1),"d")

比較するものによって、そのTEXT関数の書式を変えればよいです。
後は、工夫してください。
    • good
    • 1
この回答へのお礼

ありがとうございます。

できるだけ、書式を変更せずにすむようにしたいと考えていましたので・・・

どうもありがとうございました。

お礼日時:2006/11/20 23:34

表示形式であれこれ試したけど、うまくいかないようですね。

(裏技があるのかな?)

とりあえず計算結果は数値として表示し、その数値がA1にあるとして、見た目をB1に表示したい場合、

B1 =IF(A1>=0,TEXT(A1,"[h]:mm"),TEXT(-A1,"-[h]:mm"))

とすれば見た目はマイナスをつけて表示できます。ただし文字列なのでこのセルの値を使って計算はできません。

集計するときなどにはA1の値を使って、最後の結果をまた上記のような式で見た目でプラスマイナスがわかるようにすればいかがでしょうか。
    • good
    • 1
この回答へのお礼

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

表示させるならその方法しかないのようですね。エラーの説明でも、時間や日付が負表示の場合となっていますし・・・

計算でするなら、時間単位(例えば10時間30分低いなら、10.5時間)とするしかないのかな~

どうもありがとございました。

お礼日時:2006/11/19 14:49

このQ&Aに関連する人気のQ&A

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

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qexcelで時間の引き算でマイナス表示にしたい

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

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

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

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

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

Aベストアンサー

個人で使う場合は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"),"")

QExcelの時刻の計算(マイナス表示)

時刻のセルでひき算をし、マイナス表示も出したいのですが。。
例えば
A1に [2002/5/9 7:00]
B1に [2002/5/9 8:00]
とあって
C1に [B1-A1]
と計算式を入力すると [1900/1/0 1:00]となり、表示形式を[h:mm]にすると[1:00]とできますよね。
このときに
B1に [2002/5/9/6:00]
とあるとC1には[##########]となってしまうのですが、
6:00-7:00なので [-1:00]と表示させることはできないでしょうか。
できればAとBの値そのものは変えたくないのですが。。。お願いします

Aベストアンサー

再び、maruru01です。
grumpy_the_dwarfさんの方法だと、最初からの場合はいいですが、
途中から設定を変えると、既に入力されている日付データが変更されてしまいます。(4年と1日未来になってしまう。)
最初からなら楽な方法なんですけどね。
では。

Qエクセルで、時間の計算をした場合、マイナス表示を0:00にする方法を教えてください。

エクセルで時間管理表を作成しています。

A1の時間とB1の時間を足したものから10時間を差し引いたものをC1に入れたいのですが、
現状はC1に =(A1+B1)-"10:00"といれてみました。

A1+B1が10時間以上の場合は、時間が表示されるのですが、
(例えばA1が8:30、B1が11:30だと、C1は10:00 と表示されますが)
A1+B1が10時間未満だと、セルが########・・・となってしまいます。

10時間未満の場合は、10時間以上分がなし、ということで
0:00と表示させたいのですが、どのようにすればよろしいでしょうか。

尚、表示方法は、時計の時間を意味しているのではなく、
8:30の場合は、8時半ではなく、8時間30分、という意味で作成しています。

この相談箱の中で同じような事例を探してみたのですが、
見つけることができませんでしたので、
同じ質問が既にある場合は申し訳ないのですが、
どうぞ宜しくお願い致します。

Aベストアンサー

 =MAX((A1+B1)-"10:00",0)

「計算した時間が負なら0」⇒「計算した時間と0のうち大きい方」
という考え方もできます。

Qエクセルで分から時間に変換したいのですが

いつもお世話になっています。よろしくお願いいたします。
エクセルで「分」の合計を「時分」に変換して表示したいのですがどうもうまくいきません。
どなたかご教授願えないでしょうか?
例:200(分)=3時間20分もしくは3:20
お願いいたします。

Aベストアンサー

A1に「分」が入っていて、別のセルに時分に変換して表示する場合とします。

24時間(1440分)未満であれば、
=A1/1440
とし、セルの書式設定で以下のいづれかを設定すればOK。
(1)[時刻]→[13:30]を選択
(2)[ユーザー定義]→h:m
(3)[ユーザー定義]→h時間m分
※分単位は常に2桁(2時間05分など)で表示したいなら
 (1)の設定か、またはmをmmに変更してください。


上記方法では23時間59分までしか正しく表示できないので、
もし24時間(1440分)以上になる場合は別の方法が必要です。
=INT(A1/60)&":"&MOD(A1,60)
または
=INT(A1/60)&"時間"&MOD(A1,60)&"分"
※分表示を常に2桁にするのであれば、
 MOD(A1,60)をRIGHT("0"&MOD(A3,60),2)に変更してください。

QExcel 分を時間で表示したい

Excel2002

A列 3050(分)→ B列 ○時間○分

↑このようにするにはどのような数式を立てたら良いでしょうか?

おわかりの方教えてくださーい!

Aベストアンサー

A1に時間(分)が入っていたら、別のセルに下記の式を入れます。
=A1/(60*24)

そのセルの表示形式を、ユーザー定義で
[hh]"時""間"mm"分"
とします。

QEXCELの「1904年から計算する」をチェックするのとしないのとで、

EXCELの「1904年から計算する」をチェックするのとしないのとで、どう違うのでしょうか?通常チェックを外しておくと1900年から計算され、時間の計算を行う際、マイナス表示はされませんが、チェックするとマイナス表示もできるようになります。チェックをした際の他の部分への悪影響があるかどうか教えてください。

Aベストアンサー

>もともとブックを開いたときに1904年から計算するをチェックしたあとに日付を入力すれば、変わることはないわけですよね?

1904年モードに問題はないかということですね。Mac版Excelのブックを、Win版Excelに入れれば、自動的に、「1904年から計算する」モードにチェックが入っているはずです。だから、操作自体は必要ないはずです。1904年モードにしても、1900年モードにしても、その以降で問題が発生するとすれば、以下のように誤使用の問題だけです。だだし、1900年モードの1900年1月・2月の曜日は違っていますから、1日の補正が必要になります。

1~2の場合は、1900年モードでも、1904年モードでも、食い違いが出るわけではありません。
既に、この件は前の#3さんが触れられていますが、例を示しますと、

(1) =TEXT("2010/4/30","aaa") ... 金
(2) =WEEKDAY("2010/4/30") ...7
--
1904年モードで、以下は問題が発生してしまいます。

× (3) =TEXT(WEEKDAY("2010/4/30"),"aaa") ..木
× (4) =WEEKDAY("2010/4/30") [書式: aaa] ...木

本来、(3),(4)は、WEEKDAY関数の引数に、曜日の数値とシリアル値の代入を取り違えたから、起きる問題です。このような間違いをしなければ、問題が発生するわけではありません。

1904年モードには1900年モードに対して、1462日の余分がありますから、マイナス表示は可能ですが、Win版では、1900年モードを、Mac版では1904年モードで、デフォルト状態にして使用したほうが他者との共有が出来てよいのではないかと思います。

補足なのですが、

「『1904年』に何があったのか?(第17回):田中亨『Excelの謎』(すでに#4さんが触れていますが)
http://pc.nikkeibp.co.jp/article/NPC/20070626/275901/?P=2
--
  後発のウィンドウズ版エクセルには、シリアル値を1900年から
  始めなければならない理由があった。それは、MS-DOS版で圧倒
  的シュアを誇っていた表計算ソフト「ロータス1-2-3」の存在だ。
  エクセルが1-2-3に追い付き、追い越すためには、1-2-3で作成
  したデータを忠実に再現できるという“互換性”が必要だった。
  ところが、その1-2-3のシリアル値が、何と1900年から開始され
  ていたのだ
--

この記事の内容について、「互換性」ということは間違いありませんが、Microsoft 側が、「エクセルが1-2-3に追い付き、追い越すためには」というのは語弊があります。

Microsoft側は、1987年に、Windows と共に、Excelを発表したわけで、OSが違いますから、競合していたと思うのは間違いです。新しいOS上で動く表計算として、Lotus1-2-3の完全互換をカバーしようとしたのですが、本格的には、OSと表計算Excel (Ver.3)の完全移行は1992年ですから、Lotus123の並列していた時期というものは、ほとんどないはずです。日付・時間関数に関して、1900年問題は、Excel側の開発者は知っていたようです。以下に、その内容が触れられています。

"My First BillG Review - JoelOn Software"
http://www.joelonsoftware.com/items/2006/06/16.html

Excelの開発者チームのEd Fries(エド・フリース)氏とJoel Spolsky(ジョエル・スポルスキー)氏の会話があります。

内容をまとめると、Lotus1-2-3の互換性を保つために、1900年の閏年でないことを無視して、閏年にしたのは、互換性のためです。Lotus1-2-3自体が、バグであったかというと、そうでもないというのです。Lotus1-2-3自体は、PCが、640K時代に開発されたもので、メモリ制限によって1900年を無視し、右側の2ビットがゼロかどうかをみるだけで簡単に済みました。それに、そんな昔の1900年の2ヶ月の問題を重視していなかったのです。それを、Excel側は、互換性を保つために、踏襲したわけです。現在、Lotus1-2-3と互換性を取る必要があるとは思えませんし、それを続けていること自体に、問題がないとは言えませんが、そういうことだったわけです。

>もともとブックを開いたときに1904年から計算するをチェックしたあとに日付を入力すれば、変わることはないわけですよね?

1904年モードに問題はないかということですね。Mac版Excelのブックを、Win版Excelに入れれば、自動的に、「1904年から計算する」モードにチェックが入っているはずです。だから、操作自体は必要ないはずです。1904年モードにしても、1900年モードにしても、その以降で問題が発生するとすれば、以下のように誤使用の問題だけです。だだし、1900年モードの1900年1月・2月の曜日は違って...続きを読む

Q残業時間の計算をするにはどのような関数あるいは計算式を設定すればいいの

残業時間の計算をするにはどのような関数あるいは計算式を設定すればいいのですか?
私、エクセルについてはまったくの初心者です。よろしくお願いします。

(例)
       A      B
 
1行目 出勤時間  9:00

2行目 退社時間  19:30

3行目 残業時間  2:00 ←ここの計算式を教えていただきたいのです。

             ※ ただし、定時の終了時間は17:30で、拘束時間は休憩時間を含めて
               8:30とした場合でお願いします。

Aベストアンサー

勤務時間=退社時間-出勤時間
残業時間=勤務時間-8:30
で数式を組み立てると

残業時間 B3=IF(OR(B1>0,B2>B1),MAX(B2-B1-"8:30",0),"")

時間を30分単位で切り捨てにする場合
残業時間 B3=IF(OR(B1>0,B2>B1),FLOOR(MAX(B2-B1-"8:30",0),"0:30"*1),"")

Qエクセルで表示形式の時刻の「0:00」を表示しないようにするには?

エクセルで残業の計算をしています。
入社時間 退社時間 残業時間
のような感じでしているのですが、
残業時間が、0:00(つまり残業0)の場合は、
何も表示しない場合は、どのような関数を書けばよいでしょうか?

ちなみに残業時間のセルには、残業時間を自動的に表示させるために、
すでに「=IF((A1="")+(B1=""),"",B1-A1-"8:30")」という式が入っています。
この式にどういう式を付け加えればよいのでしょうか?

Aベストアンサー

ただ単に表示形式を変更すればいいです。現状で書式が時刻形式の
h:mmになってると思いますので、ユーザー定義でh:mm;;と後ろにセ
ミコロンを2つ追加して下さい。負の値と0の時は何も表示しないと
いう意味になります。

Q残業時間を計算し且つ足りない分はマイナス表示したい

労働時間のセルより所定労働時間(8h)を引いて、
残業時間のセルに計算結果を表示させたいのですが、
その値がマイナスだった場合はマイナス表示させたいのです。


頑張って調べて、どちらかなら関数を適用できるのですが、
上記両方の条件を満たす関数がどうしてもわかりません。。。
至急のご回答がほしいです。。。

宜しくお願いします!!

Aベストアンサー

>残業時間のセルに計算結果を表示させたい
>その値がマイナスだった場合はマイナス表示させたい

具体的にどんなデータでエクセルを作成しているのかの情報がご相談に書かれていませんが,残業時間(就業時間)を,どんな数字で計算したいのかによっても,やり方が色々変わります。

時間数をたとえば
123.5
とか
8.25
といった「時間単位の数字」で計算したい(実際には分単位の数字で計算する場合も多くあります)なら,話は結構簡単で

A1に例えば
10.5
とか
6.0
のように残業時間を計算してあれば
=A1-8
と計算するだけで十分です。



時間数を例えば
123:10
とか
8:30
といった「時:分形式の時刻の値」で計算したいなら,エクセルのオプションで「1904年形式で計算する」にチェックを入れることで

=A1-"8:0"
と計算する事で,たとえば-2:30といったマイナスの時間数の計算結果も表示できます。

この設定を行ったブックと,そうしてないブックの間でまたいで日付の計算をすると,計算結果が間違える事だけ注意が必要ですが,時間数の計算するだけなら特に支障となる事はありません。

>残業時間のセルに計算結果を表示させたい
>その値がマイナスだった場合はマイナス表示させたい

具体的にどんなデータでエクセルを作成しているのかの情報がご相談に書かれていませんが,残業時間(就業時間)を,どんな数字で計算したいのかによっても,やり方が色々変わります。

時間数をたとえば
123.5
とか
8.25
といった「時間単位の数字」で計算したい(実際には分単位の数字で計算する場合も多くあります)なら,話は結構簡単で

A1に例えば
10.5
とか
6.0
のように残業時間を計算し...続きを読む

Qエクセルで時刻の計算結果が-0:00となってしまう

エクセルでタイムカードを作成しています。残業時間を出す際に計算結果が0の場合、
0にマイナスがついて-0:00と表示されてしまいます。
時刻計算は[h]:mmで計算し、マイナスとなった場合にも対応できるようオプションを1904年から計算する、としています。
-0:00を普通に0:00と表示させる解決方法を教えてください。
よろしくお願いいたします。

Aベストアンサー

時刻の比較と言うテーマでしょう。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/if_is.htm
小数誤差を含んでいる可能性があるとき
ーー
Googleででも「エクセル 時刻の比較」「エクセル 時刻の比較 誤差」などで照会してめぼしいものを読んでください。
エクセル時刻計算誤差の解消方法
http://www.excel.studio-kazu.jp/mwiki/index.php/%E6%99%82%E5%88%BB%E8%A8%88%E7%AE%97%E8%AA%A4%E5%B7%AE%E3%81%AE%E8%A7%A3%E6%B6%88%E6%96%B9%E6%B3%95 ほか
一方のセルの値が関数の値などのときが問題か。時刻の差の計算も時刻によって要注意。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング