電子書籍の厳選無料作品が豊富!

時間の日報をエクセルで作成するのですが、
時間は15分単位で
作業時間は
7.0、7.25、7.50、7.75、8.0・・・
(こちらはx.xx*"1:0"の時間表示設定)
終了時間-開始時間の合計の時間は
7:00、7:15、7:30、7:45、8:00・・・
のように作成しました。

合計時間が共に合っていれば○、間違っていれば×となるように
=IF(A1=A2,"○","×")と作成したのですが、

同じ(A1)7:00 (A2)7:00(=A2*"1:0")
で同じ時間の表示のはずなのに×と表示されてしまいます。
A1のには合計計算がはいているのですが、
合計ではなく、直接手打で7:00と入力すると○と表示されます。

手打の7:00と合計の7:00の表示では見た目同じでも
エクセルでは計算式が入っているために同じものにはならないのでしょうか?
また解決策があれば教えてください。

A 回答 (4件)

こんばんは。



私には、何を合算しているのか内容が分からないのですが、合算した合計を、プログラミングで使う方法ですが、小数点固定法という方法を用いればよいですね。

=IF(FIXED(A1,6)=FIXED(A2,6),"○","×")

小数点第6位まで指定します。
    • good
    • 1
この回答へのお礼

回答がおそくなり申し訳ありません。
FIXED
みごとこれで解決できました。
本当にありがとうございました。

お礼日時:2007/01/28 12:54

>手打の7:00と合計の7:00の表示では見た目同じでも


>エクセルでは計算式が入っているために同じものにはならないのでしょうか?

時間に関しては、手入力と計算値は「厳密には」違うことがあります。
どの程度かはしりません(1ミリ・ピコ・ナノ・ナノナノ秒??)
みためにはかわらないが、比較すると判別される。

参考↓
“達人”芳坂和行氏に学ぶ、エクセル(Excel)「演算誤差」対策講座
http://pc.nikkeibp.co.jp/pc21/special/gosa/index …

対策の一案ですが時間を秒単位にして、それ以下は無視する。
するとそのへんにあった「ミリ・ピコ」なんかの影響はうけない。

1秒は「0.000012 」と計算されたので少数点以下第7桁を4捨5入する。
=ROUND(A1,7)

これはNo.2さんの
=FIXED(A1,6)
とまったくおなじようです。FIEXED おはつにおめにかかりました。
    • good
    • 0
この回答へのお礼

回答がおそくなり申し訳ありません。
無事に解決できました。
ROUNDでもできるのですね。
本当にありがとうございました。

お礼日時:2007/01/28 12:55

A1セルの時分表示値 、A2セルの時分表示値  をシリアル値で見た時、同じ結果になるかどうか確かめる。



近くの空きセルに数式  =N(A1)-N(A2)
を入れてみて 結果が ゼロ または 0:00 になるかどうか。
    • good
    • 0
この回答へのお礼

回答がおそくなり申し訳ありません。
無事に解決できました。
本当にありがとうございました。

お礼日時:2007/01/28 12:55

エクセル内部では1日は整数の1、1時間は"1:0"=1/24で表されます。

当然これは少数になります。この少数で表される値(時間)を加減算していると小数点以下の誤差が発生する場合があり、それで「同じ時間の表示のはずなのに×」となった可能性があります。

確認ですが勤務時間の合計は日毎の元の数字(7.75)を加算していますか、それとも時間に変換したあとの数字("1:0"を掛けた7:45)を加算していますか?

もし後者なら誤差により加算結果が「×」と判定された可能性が疑われます。加算は前者の数字で行い、加算結果に"1:0"または1/24を掛けて時間表示にされたら「○」になるかもしれません
    • good
    • 0
この回答へのお礼

回答がおそくなり申し訳ありません。
無事に解決できました。
本当にありがとうございました。

お礼日時:2007/01/28 12:53

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