- ベストアンサー
Excel関数 履歴を記録する方法
A1セルにランダムで変化する数値があります。 この数値の履歴を時刻毎に残す方法があるでしょうか。 その時間帯の最後に表示された数値を記録するだけでかまいません。 現在時刻が6:50になったら6:40の欄に記録するということです。 必要な時刻はExcel内に持っています。 ランダム 現在時刻 1000 6:49 6:00 1200 6:10 1100 6:20 900 6:30 1000 6:40 6:50 7:00 以下深夜0時以降も続く
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
関数では無理なので、ちょっと要望とは違いますが、手抜きのマクロを作りました。 3行目から下に時刻とデータを転記します。 最新が上、下に行くほど古いデータです。 一発目は直ぐにデータを転記しますが、次からは分の下一桁が0になったタイミングでデータを転記します。 A1セルの値が無しになるまですっと動き続けますので、不要になったらExcelを終了してください。 Sub Sample() If Range("A1") = "" Then Exit Sub Rows(3).Insert Shift:=xlDown Range("A3") = Now() - 10 / (24 * 60) '10分前の時刻表示 Range("B3") = Range("A1") TargetTime = Format(Now() + 10 / (24 * 60), "hh:mm") TargetTime = Left(TargetTime, 4) & "0" '次の起動時刻 Application.OnTime TimeValue(TargetTime), "Sample" End Sub
その他の回答 (1)
- mt2008
- ベストアンサー率52% (885/1701)
補足願います。 必ず10分周期ですか? 時刻をシートから取らなくても区切りのよい10分周期(00分、10分、20分、……)の時刻であれば良いですか?
お礼
ありがとうございます。 マクロの使い方がわからないので、週明けに使い方を教わってきます。
補足
ありがとうございます。 「10分周期で永遠に」という動作をするのでしょうか。 「A1に数値が発生した時から10分周期」 「数値が消えたら記録を止める」ということなら周期でもいいのですが、 そうでない場合は、シートから取得する時刻に合わせて記録動作をさせたいと思っています。 いずれにしても、セルの数値をコピー&ペーストする関数があるといいのですが、
お礼
ありがとうございました。 教わるというより作ってもらいましたが、無事完成しました。