勤怠の集計表をエクセルで作成しました。
実際に手計算すると0:00になるのに、関数を組んだところ、###########・・・と表示されます。
どうしてですか?
内容は・・・
『時』『分』を分けてセルに入力(例:A1セル→8、B1セル→:、C1セル→30)すると、
一日の労働時間を求めるようになっており、『残業』、『深夜残業』も求めるようにしています。
さらに表の下部に求められた時間の合計が表示するように作りました。
実際にテストで入力してみたところ、始業が14:00、終業が22:00(休憩なしで、8時間労働)
にすると労働時間が求められ、『深夜残業』が0:00と表示されますが、『残業』が
##############・・・となり、カーソルを合わせると「負の日付又は時間は########と表示します」
とメッセージが表示されます。
しかし、実際は0:00と表示されてきてほしいのですが、上記のように表示され、表下部『残業』合計
が正しい数字になってきません。
いろいろと関数を組みなおしてみたのですが、結果は同じでした。
教えてください。よろしく御願いします。
ちなみに、私が組んだ関数は以下の通りです。
=IF(J6>"22:00",O6-"8:00"-R6-P6,IF(J6<"22:00",O6-"8:00"-P6))
上記セルの内容は以下の通りです。
J6・・・終業、O6・・・労働時間、R6・・・深夜残業、P6・・・早出時間
基本となる時間は、
始業・・・8:30、終業・・・17:30です。
No.5ベストアンサー
- 回答日時:
>ちなみに、私が組んだ関数は以下の通りです。
=IF(J6>"22:00",O6-"8:00"-R6-P6,IF(J6<"22:00",O6-"8:00"-P6))
上記の数式には重要な誤りが2つあります。
まず今回の#####がセルに表示されるのは、計算結果がぴったり「0」でなく、正確にはごくわずか0より小さい値となっているためです。
その原因は、時間などの小数点以下の数字を演算(特に引き算)したときに発生する丸め誤差によるものです。
すなわち、2進数で表せない時間などの数値を引き算すると、本来0となるべき値が0とならずに0よりもわずかに大きいまたは小さい値となるわけです(セルの書式を「数値」にして小数点以下の桁数を15ケタ以上表示してみてください)。
0よりも大きい場合は表示上気がつきませんが、0より小さい値となった場合は、今回のようにエラー表示されることになります。
このような誤差は、時間を引き算したデータで大小の条件判定する場合にも(以上や以下を比較する場合に)出ますので、数式を作成する場合は微小値を加減するなど注意が必要です。
提示された数式のもう1つの重要な誤りは、時間の大小比較で「=IF(J6>"22:00",…」の条件式がありますが、これは左が数値で右が文字列になっているのでいずれの場合もFALSEを返します(文字列は数字よりも大きい)。
正しくは「「=IF(J6>"22:00"*1,…」」のように1を掛けて数値化した値と比較する必要があります(「「=IF(J6-"22:00">0,…」でもOKIです)。
No.4
- 回答日時:
No.3です!
たびたびすみません。
もしかして、浮動小数点の影響かもしれません。
計算結果が表示上(10進数)で「0:00」であっても、2進数で表示する場合は微妙に誤差が生じることがあります。
たぶん限りなく「0」に近いマイナス結果になっているのではないでしょうか?
↓のURLが参考になるかもしれません。
http://support.microsoft.com/kb/78113/ja
解決方法として、ROUND関数等を併用する方法があるみたいです。
的外れなら読み流してくださいね。
何度も失礼しました。m(__)m
No.3
- 回答日時:
こんばんは!
少し気になることがあるので、回答ではないのですが顔を出してしまいました。
もしかしてそのセルの計算結果はマイナスになっているのではないでしょうか?
確認の意味で、当方使用のExcel2003の場合の方法ですけど、
メニュー → ツール → オプション → 「計算方法」 → 「1904年から計算する」 にチェックを入れてみてください。
もし、計算結果がマイナスの場合はマイナス表示されると思います。
万一そうなってしまった場合、希望の結果とは異なってしまいますね!
と言うことは計算式をやり直さないといけないかもしれません。
以上、余計なお世話かもしれませんが、
失礼しました。m(__)m
No.1
- 回答日時:
J6セル22:00ぴったりの場合はどうするのでしょう?
とりあえず、文字列をシリアル値に変換、
22:00の場合は 「O6-"8:00"-P6」としました。
=IF(J6>"22:00"*1,O6-"8:00"-R6-P6,O6-"8:00"-P6)
計算内容まで詳しく見ていません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELの関数に関する質問です
-
ヘッダー
-
エクセルの使い方 1日=7時間45...
-
IF関数で出した数値をSUM関数で...
-
IF関数で、時間を条件にしたい...
-
エクセル折れ線グラフ、0を表示...
-
エクセルで足し算と掛算を混ぜ...
-
EXCEL 2の100乗の計算はどう...
-
エクセルで 足し算や割り算の...
-
エクセル・計算式をテキストデ...
-
エクセル2010 関数が無効...
-
エクセルで比率を計算
-
EXCEL でルート(平方根)表示
-
エクセルで平均を出したいので...
-
EXCEL 計算式が合っているのに...
-
関数が“揮発性”か“不揮発性”か...
-
エクセルで時間を分割する方法
-
数式の計算結果により表示され...
-
【VBA】入力規則(Validation)...
-
日報の時間計算を行う関数について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ヘッダー
-
エクセルの使い方 1日=7時間45...
-
EXCELの関数に関する質問です
-
数式の計算結果により表示され...
-
エクセル 月数を0.5ヶ月単位で...
-
IF関数で、時間を条件にしたい...
-
エクセルでの時間計算(2時間30...
-
エクセルで、時間の計算をした...
-
Excel 関数? 文字列に...
-
TEXTCALCの使い方
-
エクセルで 足し算や割り算の...
-
エクセルで足し算と掛算を混ぜ...
-
エクセル・計算式をテキストデ...
-
計算結果が「0」のセルだけを「...
-
エクセル 1万時間を越える際の...
-
AかBに入力があった時Cに反映、...
-
多項式の計算
-
Excelの計算式内の文字列の一括...
-
IF関数で出した数値をSUM関数で...
-
エクセルで数値を50単位で切...
おすすめ情報