プロが教える店舗&オフィスのセキュリティ対策術

こんな基本的なことがわからなくなって悲しいです。基礎が理解出来てないようで情けないのですが教えて下さい。
「或るセルに刻々と入ってくる数字を自分の数字と比較しながら、自分より小さい数字だったら、それを自分の数字とする」にはどうすればいいのでしょうか。 経過は自分の数字が最少数字に置き替わっていく、というものですが。
具体的には、
「A1」セルに刻々と入ってくる数字を「B1」セルと比較し、「A1<B1」ならば「B1」を「A1」の数字に置き替えていきたいのです。
理屈的には,「B1」の式は「=if(A1<B1,A1,B1)」の循環参照ということだと思いますが、最初に「B1」の値が0になってしまうので式が成り立ちません。 どのようにすればいいのでしょうか。よろしくお願いします。

A 回答 (3件)

こんばんは。



>「或るセルに刻々と入ってくる数字を自分の数字と比較しながら、自分より小さい数字だったら、それを自分の数字とする」にはどうすればいいのでしょうか。

それは、思った以上に難しいです。
手で入力する場合は、オプションで、循環参照を1回許せば、関数で出来ます。

しかし、自動で入ってくるような場合は、大事なことは、どのように数字が入ってくるか、その経路が大事です。VBAのWorksheet_Change では反応しません。たとえば、インターネットのデータを自動で取得するプログラムがあって、それが、Excelで表示しているとか、計測機器から、数分後とに決まって入ってくるとか。
    • good
    • 0
この回答へのお礼

有難う御座いました。これを機会にVBAの勉強を始めます。システムがらみで考えないとダメということですね。有難うございました。

お礼日時:2008/01/11 23:38

>理屈的には,「B1」の式は「=if(A1<B1,A1,B1)」の循環参照


そのとおりです。
たとえばC1に
=if(A1<B1,A1,B1)
ならばできると思います。
C1の結果を、数式から、実際の得られた値に変更して、B列を消去する
方法も考えられます。

数式の結果を値にする方法
C列を選択、コピィ
「編集「「形式を選択して貼り付け」
「値」のみにチェックをいれて、OK
で、数式から値になります。
    • good
    • 0
この回答へのお礼

有難う御座いました。C1を使ってB1を替える時に手作業になるので、解決するにはやはりマクロという事になるわけですね。VBAは全然勉強してなかったので後悔してます。ありがとう御座いました。

お礼日時:2008/01/11 09:44

お望みのことは、ワークシート関数では不可能です。


ワークシート関数には、セルの値を入れ換えたりする機能はないのです。
実現するとしたら、VBAでしか出来ません。
    • good
    • 0
この回答へのお礼

やはり簡単にはいかないんですね。一見単純なことに見えるのですが、有難うございました。

お礼日時:2008/01/11 09:18

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