セルA3には「=A1+A2」が入力されています。
このとき、A3に表示される値が、B1に何かの文字列(例えば「V」。チェックの代わりですね)が入力されているときに限り、
表示=入力されるようにするには、
どうすればよいでしょうか。
単なる「非表示」ではなく、値そのものがNULL(?)でなければなりません。
セルA3の計算式を
=IF(B1="V",A1+A2,"NULL")
にしてみてください。
もしB1のセルの内容がVだったら、A1+A2を、VでなかったらNULLを表示する、という意味の式です。
回答者1、2さんのいずれの手法も、「非表示」の扱いで、A3自体の数式はNull(空欄)にはならないと思います…
「セルA3に「=A1+A2」が入力」された状態で、「セルB1」の条件によって「単なる「非表示」ではなく、値そのものがNULL」とするには、VBAを使うしかないと思います。
以下手順です。ちなみにチェックは"v"とします。
Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2009/2/12 ユーザー名 :
'
If not Range("b1") = "v" Then
Range("a3").ClearContents
Else
Range("a3") = Range("a1") + Range("a2")
End If
'
End Sub
これで消えますが、この場合、"v"を入力せずにVBAを実行してしまうとA3の「=A1+A2」が完全に消去されますので、ご注意ください。
またA3も厳密には数式ではなく数値(計算の結果)となります。(このあたりはVBAの組み方でどうにでもなるかと)
個人的には、「Null」よりも1,2さんの方法で「非表示」の方がよいと思います。
A3の値をさらに他のセルとsumしたりするのですが、
1、2のご回答でも正しく出来るのでしょうか。
よろしければご教示ください。