• ベストアンサー

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時以降も続く

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.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

OTTO-TTO
質問者

お礼

ありがとうございました。 教わるというより作ってもらいましたが、無事完成しました。

その他の回答 (1)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

補足願います。 必ず10分周期ですか? 時刻をシートから取らなくても区切りのよい10分周期(00分、10分、20分、……)の時刻であれば良いですか?

OTTO-TTO
質問者

お礼

ありがとうございます。 マクロの使い方がわからないので、週明けに使い方を教わってきます。

OTTO-TTO
質問者

補足

ありがとうございます。 「10分周期で永遠に」という動作をするのでしょうか。 「A1に数値が発生した時から10分周期」 「数値が消えたら記録を止める」ということなら周期でもいいのですが、 そうでない場合は、シートから取得する時刻に合わせて記録動作をさせたいと思っています。 いずれにしても、セルの数値をコピー&ペーストする関数があるといいのですが、

関連するQ&A

  • Excel関数

    エクセルの関数について教えてください。 例えば、 あるセルの数値が100以下なら「1」、300以下なら「5」、500以下なら「7」、1000以下なら「10」・・・ というように値を出したいのですが好適な計算式はありますか? IF関数を使えば出来るのでしょうか? 教えてください。宜しくお願い致します。

  • Excel2000での関数

    こんにちは。 Excel2000を使用しています。 Excel2000で、 仮にA1のセルに「1000」の数値が入っているとします。    A    B    C 1  1000 その時、B1に100と入力したら、A1の数値が900になるようにします。 B1に入力した数値が引かれるようにする、ということです。    A    B    C 1  900   100 この状態で、B1の数値を消しても、 A1の数値が900のままになるようにしたいのです。 そして次に、B1に200と入力したら、 A1の数値が700になるようにしたいです。    A    B    C 1  700   200 関数で、このような状態にすることは出来ますでしょうか? よろしくご回答お願い致します。

  • エクセルのIF関数について

    関数の作成についてお伺いします。 エクセルの関数を使って、単価に対する合計を出したいのです。 A1セルにランダムな数字が入っているとして その数値が1~2999までの単価が25円 3000以上4999以下なら単価22円 5000以上で単価19円 で合計を計算したいのです。 たとえば、A1セルの数値が5500なら 3000*25=74975 2000*22=43978 500*19=9500 で128453 という合計を出せるようにしたいのです。 よろしくお願いいたします。

  • Excel:IF関数について

    以下のような条件付けのものを、Excelで関数にしたいと思います。どなたかお知恵を拝借できないでしょうか? 1)内容 「A1セル、A2セル、A3セルにランダムの数字が入ります。もしA3セルの数字がA1セルとA2セルとの数字の間にある時は、A4セルにA3セルの数字を表示させ、もしA3セルの数字がA1とA2セルの数字の間に入っていない場合は、A1・A2・A3セルの数字の中央値をA4セルに表示させる。」 2)自分なりに考えたが、分からない点 IF関数を使い、「=IF(AND(A3>A1,A3>A2)またはAND(A3<A2,A3<A1),median(A1:A3),A3)」で表現できるかと思いました。ただ、この中で「または」と書いたところのexcelでの関数の作り方がわかりません。

  • EXCEL関数について

     A   B    1   3.4  2   5  4   9  7   6  □   □ ※上記の図は、A1セルに1、B1セルに3.4、A2セルに2、B2セルが5・・・の数値が入力されていることを表しています。 質問 A5セルに、A列を合算した値【14】+B列を合算した値23.4の、10の位【2】を足した値を表示したい→【16】と表示したい B5セルにはB列を合算した値【23.4】の1の位以下の数値を表示したい→【3.4】と表示したい。 つまり、(B1+B2+B3+B4)が10以上になれば、その値の10の位の数値を、A5セルに足したいのです。 このような事をするには、どういった関数を組めば可能でしょうか。 説明がわかりずらく、申し訳ありません。 どなたかおわかりになる方がおられましたら、ご教授下さい。 よろしくお願い致します。  

  • EXCEL関数について

    EXCEL関数について EXCEL2003を使用しております。 お知恵を拝借願います。 Sheet1、A列、A2~A100セルに「1~10」の数字がランダムに入力されています。 数字は「グループ1」、「グループ2」・・・「グループ10」という意味です。 Sheet1、B列、A2~A100セルに「1~20」及び、「OK」、「NG」がランダムに入力されています。 Sheet2、A列、A2~A21セルに「1~10」までの数字(グループ)が順に入力されており、 Sheet2、1行目、B1~W1セルに、「1~20」及び「OK」、「NG」が順に入力されております。 ここで、Sheet2のB2セルに、Sheet1にて「グループ1」は 「1」をいくつ選択しているかを返す式を入れたいのですが、 SUMIF?COUNTIF?等でいろいろと試してみたのですが、うまくいきません。 同じように、C2セルであれば、「グループ1」は「2」をいくつ選んでいるか。 W5であれば、「グループ4」は「NG」をいくつ選んでいるかの式を入力したいのです。 拙文乱文、大変恐縮ですが、ご教示頂きたく何卒宜しくお願い致します。

  • Excelです。こういう日付の返し方ご存知の方

    エクセルで例えばA行にはA1から下方に日付が数ヶ月分ずら~っとついてます。B行には整数値が下方にずら~っとランダムに並んでいます。別のセル例えばC1に、B行の多数の数値の中から最大値を表示させることは出来ますが、私がやりたいことはC1のセルにB行の最大値ではなく、最大値を記録した"日付"を表示させたいのです。 どなたかご存知の方宜しくお願いいたします。

  • エクセルで、時刻の差を数値として認識したいのです。教えてください。

    こんにちは。教えて下さい。 時刻を記録してエクセルに落としたのですが、それらの 一つ一つの時刻の差を数値として認識したいのです。 分かりにくい説明ですみませんが、例えば、 A1 12:34:56:70(12時34分56秒70) A2 12:34:57:80(12時34分57秒80) A3 12:34:58:90(12時34分59秒90) の時刻だったとすると、A1とA2の差は1.10秒で、A2とA3は2.10秒です。 これらの時間の差を数値として、(A1とA2の差だと1.10と言うように) 表示させるには、どの様な数式なら出来るでしょうか? 秒以下も大事で、100分の1秒まで細かく出したいのです。 また、記録した時刻も、1秒間で8セル分ほど細かく記録して、データも1万以上あり、 一つ一つ手直しするのは大変です。 どなたか、お分かりになる方がいらっしゃいましたら教えてください。

  • 関数式でランダムに変化する数値を加算していく方法。

     初めまして、よろしくお願いします。  おそらくVBAを使うと思うのですが、G10からG100までのそれぞれのセル内に関数式によりランダムに変化する数値があります。そのそれぞれの数値が変化するたびにM10からM100への各セルへ加算されていく方法を教えて頂きたく、よろしくお願いします。

  • EXCEL2002でNOW関数により時刻が15分進む毎に,別のセルの値を+1ずつ増加させる方法

    EXCEL2002でセルの時刻(A1)が15分更新されるのに対応させて、他のセル(B1)の数値を+1ずつ増加させる方法を教えて下さい! 例として, A1に9:00 というNOW関数で表示させた値が、9:15⇒9:30⇒9:45⇒10:00 と変化する度に、 B1の値を「1」を初期値として始まり、 1⇒2⇒3⇒4⇒5 と増加させる方法を教えて下さい!

専門家に質問してみよう