- ベストアンサー
Excelで、日付形式のオートフィルがおかしい??
Microsoft(R) Excel 2002 (10.2614.3311) を使用しています。 特定のログファイルを Excel でグラフ化しようと思い使用していますが、 タイムスタンプをオートフィルを使用して作る事に苦慮しています。 セルの書式設定で、表示形式は、分類(C) を "日付" で、 種類(T) を "2001/3/14 13:30" にしています。 A1 のセルに 2003/01/14 11:30:00 と入力し、 A2 のセルに 2003/01/14 11:35:00 と入力して、 二つのセルを選択した状態で右下の■をドラッグし、 「5 分おきのタイムスタンプ」のデータに展開されるようにオートフィルを実行しました。 A3 には 2003/01/14 11:40:00 が入り、次々と 2003/01/14 11:45:00 2003/01/14 11:50:00 ... と、 順調にいってたんですが、どんどんオートフィルを行っていくと、 途中からなぜか、末尾の秒数が 01, 02, 03 と、勝手に進んでいました。 この秒数の進行を抑制する事は不可能でしょうか。 また、この現象は何故起こるのでしょうか。 ご存知でしたら、回答宜しくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは 時間のオートフィルはシリアル値で小数点以下の 浮動小数点を直上セルとの加減算で行なうようで 誤差を伴うようです。最初の内は僅かな誤差なので 1行間では秒以下の無視できる範囲でも積上げられ ていくと非常に大きな誤差となると思います。 連続データの発生は以下の手順で行なえばこの 誤差の積み重ねは発生せず大丈夫なようです ・A1にデータ入力 2003/01/14 11:30:00 ・編集 フィル 連続データの作成 範囲:列 種類:日付 増加単位:日 増分:0:5 停止位置:2003/01/14 13:30:00
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
>表示形式は、分類(C) を "日付" で、種類(T) を "2001/3/14 13:30" にしています。 そうすると、私がやって見ると、「2003/1/25 11:30」 となり、「A3 には 2003/01/14 11:40:00 が入り」とありますが、最後の秒の00が出ませんが。 入力は「2003/1/25 11:30:00」といれても、表示は 「2003/1/25 11:30」になりました。秒部分が出ない。 私は2000ですが。日付け書式には秒部分の表示がない。 確かに、書式を「時刻」にして「13時30分55秒」 を選ぶと、おっしゃるように102行目で01秒に変りました。 ---- 下記と関連していると思うので、考えてください。 時刻シリアル値も詰まるところ「数値」です。 (1)A1に「11:30」といれる。 (2)A2に「11:35」といれる。 (3)A1:A200とかの書式設定を「数値」、小数点以下の桁数を15桁とかする。B1:B200も同じ。 (4)B1セルに=A2-A1といれ、B2:B200に複写する。 (5)A1:A2を範囲指定して、A3:A200に+を 下に引っ張り離す。 (6)A1は0.479166666666667、A2は0.482638888888889となり、B1はその公差たる 0.003472222222222 が出ています。B2-B200も 下の桁以外は同じです。これは数のオートフィルが等差 級数を順次いれてくれるのですから当然です。 (7)また、時刻シリアル値が24時間を1としていて 151か152行目で1を越えますと0に戻ることです。 (8)そこで、130-170行当たりの、書式を「時刻」にすると、151行で0:00に戻っています。 でも公差は5分です。 (9)しかし公差の値の末尾は微妙に変化しています。 これが影響しているのではと思います。 10回ごとに公差が乱れているのも、なんか計算桁と関係がありそうです。それが10X10回積もり積もって、桁上がりして、表(秒の単位)に現われたのでは無いかと推定します。 エクセルの計算誤差だと思いますが。
お礼
詳しいご回答ありがとうございます。 確かに浮動小数点演算での誤差なんですね。 原因がわかってスッキリしました。 ありがとうございました。
- dejiji-
- ベストアンサー率38% (327/858)
8時間20分後の位置で-1秒されるようです。(エクセル2000は-1秒みたいですが)そのままフィルをかけると8時間20分ごとに-1秒されるようですので、A1セルからフィルを8時間20分と少しかけ、-1秒されたセル二箇所の秒単位のところで、「00」を入れ、再度そのセルからフィルをかけてみてください。これで8時間20分の謎は解決されると思います。それ以降8時間20分ごとに秒数が変わることはなくなると思います。 エクセル2000ですが、同じ現象は出ていますので、多分対応策になると思いますが。原因は???
お礼
そんな誤差を生むなんて、Excelって意外に信用できないですね。。。 ありがとうございました。
お礼
教えていただいた方法でカンペキに出来ました。 こういう方法があったんですね。とても助かりました。 もっと勉強します。ありがとうございました。