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

エクセルで作った勤怠表に発生する時間の誤差の修正方法を教えていただけないでしょうか?
A1セルに出社時刻、B1セルに退社時刻、C1セルに出勤時間の項目があり、A2セルからA25まで出社時刻の入力欄、B2セルからB25まで退社時刻の入力欄、C2セルからC25まで、休憩時間12:00〜12:50と15:00〜15:10までを差し引いて計算させた1日の勤務時間の関数式(参考:C2には=IF(COUNT(A2:B2)<2,"",B2-A2-MAX(0,MIN(77/144,B2)-MAX(1/2,A2))-MAX(0,MIN(91/144,B2)-MAX(5/8,A2))) )が入力されています。そして、C26は、24日分の勤務時間の合計が返される関数式が入力されております。しかし、C26の合計やC2〜C25の各勤務時間の値に1分や2分の誤差が発生します。修正する方法は、ありますか?宜しくご教授お願い致します。

A 回答 (6件)

>先ずは「77/144」、「91/144」、とか「5/8」の奇妙な分数の“出自”が知りたいです。



時間をシリアル値で計算したものです。
シリアル値で1日を数字で表すと、1としている。
1日は24時間
1時間は60分

だから、1日を分で表すと、24×60=1440分
12時は、12×60=720分 720÷1440=1/2
12時50分は、720+50=770 770÷1440=77/144
15時は、15×60=900 900÷1440=5/8
15時10分は。900+10=910 910÷1440=91/144

だから、1日を秒で表すと、24×60×60=86400秒
    • good
    • 0
この回答へのお礼

ありがとう

ご説明を詳しく代弁していただきありがとうございます。

お礼日時:2023/12/30 16:31

>先ずは「77/144」、「91/144」、とか「5/8」の奇妙な分数の“出自”が知りたいです。



そこは、そんなに奇妙だとは思いませんでしたが。
12:50を分に直して770分、24時間を分にすると1440。
770/1440を約分して77/144ですよね。
同じく15:10が910分、15:00が900分でそれぞれ1440分で割る。
約分すると91/144、5/8になるってことで、そんなにおかしくなさそうですが。
    • good
    • 0
この回答へのお礼

がんばります

ご説明を代弁頂きありがとうございます。上手くいかない原因は他にありそうです。

お礼日時:2023/12/30 16:30

=IF(COUNT(A2:B2)<2,"",B2-A2-MAX(0,MIN(77/144,B2)-MAX(1/2,A2))-MAX(0,MIN(91/144,B2)-MAX(5/8,A2)))


↑貴方が呈示したこの式の意味を貴方なりに説明することが出来ますか?
まるでハンコで押したような「ありがとうございます」は不要です。
先ずは「77/144」、「91/144」、とか「5/8」の奇妙な分数の“出自”が知りたいです。
    • good
    • 0

fujillinさんに賛同。



セルの表示は、分単位までしか表示されていないけど、中身のデータは秒単位まで入っているんじゃないでしょうか?
秒単位を切り捨てれば表示と計算値が合うと思います。

ただ、その秒単位の切り上げ、切り捨て、四捨五入の手法が、御社の就業規則上の勤務管理規則に合致しているかどうかは、また別の話です。
もしかすると出勤時間は秒単位切り上げ、退勤時間は秒単位切り捨てかもしれませんし。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2023/12/30 14:25

こんにちは



>各勤務時間の値に1分や2分の誤差が発生します。
>修正する方法は、ありますか?
エクセルの計算精度から考えると、1分もの誤差が生じるとは思えませんね。

どうしてもダメな場合は、入力セルの値を最初に分単位で四捨五入(あるいは切捨て)してから計算するような仕組みにすれば良いと思いますけれど・・

まずは、A:Cの各セルの表示形式を「h:mm:ss」として秒単位で表示させてみると、誤差の原因がどこにあるかわかるのではないでしょうか?
    • good
    • 0
この回答へのお礼

やってみます

ありがとうございます。

お礼日時:2023/12/30 14:25

電卓で手計算して一つずつ数字を入れ直す。



( ゚Д゚) 数字の修正はそれしかないぞ。

・・・数式の修正なら、

MIN関数やMAX関数での時間の指定を分数ではなく文字列で指定する。

例えば、
12時間なら
 "12:00:00"
15時間なら
 "15:00:00"
30分なら
 "0:30:00"
12時間50分なら
 "15:50:00"
これで誤差なく計算できる。

しかも見やすい。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2023/12/30 14:25

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

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


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