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

時間の計算が上手く行かないのですが、どうすればいいか教えてください。
例えば、
A1]2001
B1]2
C1]1:02:03 (1時02分03秒)
D1]=A1/B1(1000.5)
E1]D1の数値を秒として考え、C1に、プラスしたい おそらく、”=C1+D1”とするのだと思うのですが、”1902/9/26/ 13:02” と表示されてしまいます。

何とぞお願い致します。

A 回答 (7件)

先に修正です


1900年1月1日は0ではなく1で
1901年1月1日は367でした
通常1年は365日なので365増えて366になるところですが
きっと閏年だったのですね
ご存じの通り閏年は1日多いですから
他の1年より1多いめに増えて367と、なってました
失礼しました

まず確認したいのですが
日付と時計の計算をExcelで自由に扱えるようになりたいのですよね?

「100とする」とかは忘れて下さい
今日の日付は1900年1月1日からの総経過日数なのですよ
Excelで日付が明日になると言うことは数値が1増えることなのです
なので例として
2009年1月2日から2009年1月1日を引くと表示が1900年1月1日を表す表記になると思います
では実際にやってみますね
セルのA1に2009/1/2
セルのA2に2009/1/1
セルのA3に=A1-A2
と入れてみて下さい
1もしくは1900年1月1日を意味する表記になると思います
此は「1日経過したから1増えた」と言うことに他なりません

同様に
2008年1月1日は39448ですし
2008年2月1日は1月が31日なので31増えて39479 になります
2008年3月1日は60増えて39508ですし
2009年1月1日は2008年が閏年だったので366増えて39814になります

既にご理解頂けているかと思いますが
100なんて数字を基準にしている形跡なんて何処にもないと思います
もう一度言いますが100分率は忘れて下さいね

で、この数値を簡単に求めたい場合
先に挙げたページを見て各項目まで読んで頂けていたら解ると思いますが
DATE関数を使うと便利です
書式は先のページをご確認下さい
後TIME関数も併せて確認しておいて下さいね

重ねて言います
1日先の日付に変えたい時は1を足して下さい
1秒増やしたい時は1/86400増やして下さい
1分増やしたい時は1分が60秒なので60/86400増やして下さい
1時間増やしたい時は1時間が60分なので60×60の3600/86400増やして下さい
12時間増やしたい時は12×3600/86400増やして下さい
24時間増やしたい時は24×3600が86400なので
86400/86400詰まり1増やして下さい
良いですね?


視点を変えて
もし仮に「1900年1月1日から現在を100とする」
と言う方式だった場合を考えてみましょう
先に挙げた通り1900年1月1日から2009年1月1日までは39814日ありますから
此を100とすると1日は1を39814で割った値となりますよね
ところが
2008年1月1日は1900年1月1日から39448日経過してますから
1日を示す値が1を39448で割った値となります

Excelでは未来の日付も扱わなければなりませんが
因みに来世紀の22世紀初頭、2101年1月1日は1900年1月1日から73416日経過してますから
この時点での1日を示す値は1を73416で割った値になります

これでは
2008年1月1日に割り出した1日の値と割る方の数が違うので
明らかに値も違います
此では比べたりするのも計算したりするのにも
いちいち換算しなくてはならず大変ですし非効率です

もっと簡単に1日を表せて比べたり計算したりするのが楽なものがあれば
そっちを使って一向に構わないし
むしろそっちを使った方が良いですよね

と言う訳でしょうがExcelでは1日が1で表されます
1秒が1を86400で割った値で表します

まあこの秒については計算制度の問題も有り余り好ましくないのでしょうが
Excelが最初にでた当時はまだまだパソコンの性能も高くなく
1秒を1とするように決めた場合1年は31536000
1世紀は期間中に25日閏年が含まれるので3942000000
と膨大な数になってしまいます

マイクロソフトは此を避けて1秒の計算制度を犠牲にしたのでしょう
恐らく

ps
ようこそExcelの世界へ
この世界を堪能すると脳がリフレッシュされて冴えてきますし
自由に扱えるようになると
「理解する姿勢を示さないと言うことを聞かない放蕩息子を従順にする」ような快感がありますよ
実際Excelは"放蕩息子"的な融通のなさがありますからね
    • good
    • 0
この回答へのお礼

先ずはじめに、返信が遅れてしまい申し訳ありません。
説明わかりやすかったです(^^
今回いじっていた時に、日にちを、セルの書式設定の、標準にすると、どうして、わけのわからない、数字になるのかと思っていましたが、そういう理由だったのですね。

今エクセルを多用しているのですが、いろいろなことがわかるたびに、便利であると、改めて、実感させられます。最近では、マクロにも、手を出し始めていますが、思うようには行かないです(^^;
もし、又質問している所を、見つけましたら、回答していただければ幸いに思います。  回答ありがとうございました。

お礼日時:2009/01/15 11:20

[回答番号:No.5]より分かりやすい(?)別解



数式: =C1+("0:0:"&D1)
書式: [h]:mm:ss.0
    • good
    • 0
この回答へのお礼

いろいろな方法があるのですね。表現の仕方によっての差なのですかね? 
例えば、”1”を”one”や”いち”、”一”といったように、まだまだおくが深そうですね(^^  2通りの回答ありがとうございました。

お礼日時:2009/01/15 11:22

数式: =C1+D1/86400


書式: [h]:mm:ss.0
    • good
    • 0

E1:=C1+TIME(,,D1)


にする。
    • good
    • 0
この回答へのお礼

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

D1を変更せずに、E1を変更すると、出来ました(^^
別の方法もあるのですね。ありがとうございました。

お礼日時:2009/01/11 09:07

因みに1日の秒数は概ね86400秒なので


1時02分03秒は
=3723秒となり
3723÷86400=0.04309027…
となります
    • good
    • 0
この回答へのお礼

因みに。。。ということなので、1つ前の回答の続きだと思うのですが、まだ、1つ前のを理解できていないみたいです。

願わくば、教えていただければ幸いに思います。

お礼日時:2009/01/11 09:10

エクセルでは日付は1900年1月1日からの日数で


時間は経過秒数を一日分の秒数で割った値で管理しています

詰まり0は1900年1月1日1時0分0秒です
同様に366は1901年1月1日1時0分0秒
397は1901年1月31日1時0分0秒です
確か…


なので
今回出た数値は至極普通な値なのでしょうきっと


このままでは今年がシリアル値で幾つになるかなど
閏年や閏秒も絡み
求めるなど並大抵なことではなくなりますが
その為に日付に関する関数が用意されています

http://www3.tokai.or.jp/excel/kansu/f_main.htm
はエクセルの関数がほぼ網羅されているようなので

全てでもそう多くはないですし
一度一通り目を通された方が楽しめると思いますよ
    • good
    • 0
この回答へのお礼

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

ページ面白かったです(^^
今現在の時間までわかるとは、思いませんでした。

>詰まり0は1900年1月1日1時0分0秒です
同様に366は1901年1月1日1時0分0秒
397は1901年1月31日1時0分0秒です

これは、1900年1月1日1時0分0秒 を、0として、今現在を、100とした時の、大体どのくらいなのか? ということでしょうか?

お礼日時:2009/01/11 08:57

セルE1の表示を「1:18:43」にしたいなら


セルD1の式を
=TIME(,,A1/B1)
セルD1の表示を分かりやすくmm:ss表記にするならセルの書式を「ユーザー定義」「h:mm:ss」を選択する
    • good
    • 0
この回答へのお礼

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

既に()を使っていても、()で、閉じていいんですね。,,の場所は冒頭みたいで、(,,()) という形で、実際に使うときに、出来ました(^^

お礼日時:2009/01/11 07:30

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