• ベストアンサー

Excelで時間の合計値がおかしい(sum)

私はExcelでタイムカードを作成していたのですが、なぜだか『SUM』の関数で実働時間(例;「7:00」など)の合計値を出そうとすると、途中まではちゃんとした合計値なのに途中からいきなり数字がおかしくなってしまいました。 ちなみに、少しネットで調べて表示形式を「ユーザー定義 h:mm」にした方がいいとのことなので、そのようにしてもやはりおかしいです。 何か、他に原因があるのでしょうか? どうすればいいのか、どなたかご存知の方がいらっしゃいましたら教えて下さい。お願いします。

  • rie78
  • お礼率87% (426/488)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

「途中からいきなり」が、具体的にどういう事でしょうか? 可能性としてユーザー定義が不十分の場合があります。 h:mm では、24時間を超えると、0に戻ります。 [h]:mm と[ ]をつければ、24時間を超える時間も表示できます。 ご質問がこのことでなければ、具体的な数字をご教示ください。

rie78
質問者

お礼

お礼が遅くなってすみません。 他の皆様からも同じように「どのようにおかしくなったか分らない」との指摘をいただきました。 けれど、ken-nosukeさんの想像通り、確かに合計値が24時間を超えると0に戻ってしまうということが起きていました。 教えていただいたとおり、やってみたいと思います。 ありがとうございました。

その他の回答 (3)

  • ryo_ky
  • ベストアンサー率47% (112/237)
回答No.4

No3さんが指摘している内容だと思うので,少し補足を. excelにおいて時間というのは表示形式が標準なら以下の数値になります. 1日=24時間=1 半日=12時間=0.5 1時間=1/24≒0.0416666666… 1分=1/(24*60)≒0.0006944444… h:mmで合計を出すと24時間を越した時点で翌日になってしまい,例えば合計が36時間なら 1900/1/2 12:00 という状態になると思います. これは表示形式を時刻ではなく年月日(yyyy/mm/dd h:mm)にすると分かりますが, 0=1900/1/1 0:00 1=1900/1/2 0:00 2=1900/1/3 0:00 となっている為です. この表示をh:mmのみにすれば24を超えるとまた0から始まるという訳です. そこで[h]:mmの場合はhが24を超えても加算できるので,36時間でも12:00にはならず,36:00と表示されます. この表示にする為には表示形式をユーザー設定にして,[h]:mmを入力すればできます.

rie78
質問者

お礼

お礼が遅くなってすみません。 ryo_kyさんの想像通りの、24時間を超えるとなぜか0になってしまうという状況でした。 分りにくい質問文なのに、丁寧に教えていただき本当にありがとうございました。 やってみたいと思います。

noname#204879
noname#204879
回答No.2

説明の内容が漠然とし過ぎるので、的確なアドバイスが出来ません。 具体的なデータ例を示して、どのように「途中まではちゃんとした合計値なのに途中からいきなり数字がおかしくなってしま」ったのかが視覚的に分からないと、「どうすればいいのか」教えられません。

rie78
質問者

お礼

お礼が遅くなってしまいすみませんでした。 他の皆様にも同じように『どのようにおかしいかわからない』との指摘をいただきました。 本当に申し訳ありませんでした。 次からは気をつけたいと思います。 ありがとうございました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 具体的にどのようにおかしいのか判らないのですが、 この手の不具合として「浮動小数誤差」の問題が考えられます。 時刻(時間)は小数点以下の数値となりますので、それらを計算する時微妙な誤差が生じます。 そこで一案として、小数点以下を5桁程度で丸めて計算すれば解消することがあります。 数式がこちらでは判らないので、 =ROUND(セル,5)+ROUND(セル,5) といった感じです。 ※ 他の原因ならごめんなさいね。m(_ _)m

rie78
質問者

お礼

お礼が遅くなってしまいすみません。 他の皆様にも『どういった感じでおかしいかわからない』との指摘を受けました。 申し訳ありません。 tom04さんに教えていただいたことも、含めて少しやってみたいと思います。 回答ありがとうございました。

関連するQ&A

  • ExcelでオートSUMによる合計が違うのは

    Excelについては、全くの素人になります。タイトルに類似Q&Aを探しましたが、あまりにも基本的過ぎるためか、参考回答を見つけ出す事ができません。何方かご教示頂けるなら幸いです。さて、本題の例ですが、 1,2,3,4,5の各数字を1ずつのセルに入力して、オートSUMで合計を出すと15になります。次に同じ結果を出すのですが、1と2を同じセル内に改行入力し、3,4,5は先の例と同じように1セルに1つの数字を入力し、オートSUMで合計すると、合計が12になってしまいます。1と2が同じセルに入った数値は加算されません。どうしてこうなるのでしょうか? 多分簡単な操作なのでしょうが、自分では分かりませんので、投稿いたしました。何卒宜しくお願い申し上げます。

  • エクセルのSUM関数

     エクセルのSUM関数で、1,3,2が入力してある3つのセルの数字を合計しようとしたところ、6になるはずが0になってしまいます。 これはどうしてでしょうか。

  • Excel、オートSUMのエラー

    Excel2003を使用しています。残業時間の計算のため、Excelで表を作り、オートSUM機能で縦横が自動的に計算されるように設定してみました。 列ごとに、=SUM(C5-C4),=SUM(D5-D4),=SUM(E5-E4)・・・、そしてその集計のため、=SUM(C6:Z6)、セルは、「ユーザー定義/h:mm」と設定しています。 ところが20日以上超えたところから、いきなり合計時間が0になることがあり、困っています。=SUM(C6:V6)=20:00が、=SUM(C6:W6)=1:00といった具合です。 オートSUM機能は、列数、行数に制限があるのでしょうか。どのような対応が必要なのか、詳しい方に教えていただければ助かります。

  • エクセル2010 オートSUMで合計が0になる

    ヤフーオークションで出品者をしています。 エクセル2010を使って売れた商品の合計金額を計算しようと、落札された商品の一覧ページをコピペしてエクセルに「貼り付け先の書式に合わせて」貼り付けました。 オートSUMで合計を出そうとしても0になります。 改善方法がわからなくて困っています。 数字を手動で入力したものは、オートSUMできちんと合計がでました。 もしご存知の方いらっしゃいましたら、教えて頂けましたら有難いです。

  • SUM関数の合計が0の場合0を表示したくない

    セルの書式設定→表示形式→ユーザー設定で#で 0を表示しないのはわかるのですが セルの書式設定→表示形式→ユーザー設定で "("#")"を設定して 数字を入力しただけで(かっこ)の中に数字は表示されるように 設定しているセルのSUM関数の合計のセルが0の場合 何も表示したくないのですが (0)と表示されてしまいます。 何も表示されないようにするにはどうしたらいいですか?

  • Excelでの時間表示が4:74とか23:87になってしまいます

    Excelで所要時間の平均をAVERAGE関数を使って算出すると、4:74とか23:87とか、分のところが60を超えた数値で表示されてしまいます。セル書式の表示形式はユーザー定義の[0":"00]です。(試しに表示形式を[時刻]に変えてみると先程の4:74は23:28に変わってしまいます。)もしかして引数がh:mmで表示されているからうまく計算できないのかな、とも思うのですが、だとするとh:mmを小数点表示に変える方法がわかりません。4:74を5:14と表示させる方法を教えてください。宜しくお願いします。

  • EXCEL SUM関数で合計値が違う場合

    教えてください。 EXCELのSUM関数で合計値が違う場合があるのですが、 何が原因で起こるのでしょうか? また、どうすれば直るのでしょうか?

  • エクセルで関数SUMなどで

    エクセルで関数SUMなどで 合計を求めた数値が、あるセルにあるとします。 その合計の数値を、そのまま数字として ・・・(関数(計算式)は無くして) 他のセルに貼り付けたいのですが そのような事は出来ますでしょうか・・・。 御教示の程、よろしくお願いいたします。 <m(__)m>

  • ExcelでSUMを使って出した合計の数字を文字列

    ExcelでSUMを使って出した合計の数字を文字列として 他のSheetの表組にコピーペーストする方法を 教えてください 関数がコピーされてしまいます

  • 時間の合計切上げ表示についてご再質問

    先月、時間の合計切上げ表示についてご質問しご回答をいただき解決いたしましたが、不具合が発生し再度ご質問させていただきます。 F4には始業時間を入力します。 I8:I38には出勤時間を入力します。 Z8:Z38には下記の関数を入力して遅刻時間を表示します。 =IF(F4=0,"",IF(OR(I8-F4<=0,I8=""),"",I8-F4)) *上記関数の「I8」はI8:I38にそって変更します。 *F4が未入力の場合は数値は表示しないようにしてます。 Z41にはZ8:Z38の遅刻合計時間を下記の関数を入力して表示します。 =SUM(Z8:Z38) V8:V38には中抜け時間を入力します。 V41にはV8:V38の中抜け合計時間を下記の関数を入力して表示します。 =SUM(V8:V38) H58にはV41:Z41の合計時間を30分単位で切上げて表示します。 前回、H58=CEILING(SUM(V41:Z41),"0:30" を入力すると V41:Z41の合計が1:00ではH58に1:00と表示されますが、 1:30ですと2:00と表示され 2:00ですと2:30と表示され合計プラス30分での表示となります。 *30分単位の入力での表示結果となりますが、時間の合計が1:29の場合は1:30分表示となり、1:31分の場合は2:00表示と正常に表示されます。 *すべての対象セルの書式設定は『ユーザー定義 [h]:mm』としております。 前回、上記の問題の解決方法を質問し下記の関数の入力のご回答をいただきましてこちらの問題は解消されましたが、V41:Z41の合計が「24:00」を過ぎるとH58は「0」からに戻って表示されます。 H58=CEILING(TIME(HOUR(SUM(V41:Z41)),MINUTE(SUM(V41:Z41)),SECOND(SUM(V41:Z41))),"0:30") H58には合計が24:00が過ぎても24:30分などと正しく合計が表示される方法のご教授を何卒よろしくお願いいたします。

専門家に質問してみよう