Excel 2003 で質問です。

セルA3には「=A1+A2」が入力されています。
このとき、A3に表示される値が、B1に何かの文字列(例えば「V」。チェックの代わりですね)が入力されているときに限り、
表示=入力されるようにするには、
どうすればよいでしょうか。
単なる「非表示」ではなく、値そのものがNULL(?)でなければなりません。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/02/18 20:50:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:ls_10_5 No.1

回答回数91ベストアンサー獲得回数4

ポイント27pt

セルA3の計算式を


=IF(B1="V",A1+A2,"NULL")


にしてみてください。

もしB1のセルの内容がVだったら、A1+A2を、VでなかったらNULLを表示する、という意味の式です。

id:Gay_Yahng No.2

回答回数724ベストアンサー獲得回数26

ポイント27pt

A3に

=if(B1="V",A1+A2,"")

と入力

id:sakurahouse6 No.3

回答回数5ベストアンサー獲得回数0

ポイント26pt

回答者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さんの方法で「非表示」の方がよいと思います。

id:mktg1

A3の値をさらに他のセルとsumしたりするのですが、

1、2のご回答でも正しく出来るのでしょうか。

よろしければご教示ください。

2009/02/12 00:44:26
  • id:kn1967
    >A3の値をさらに他のセルとsumしたりする

    回答1はNullの意味を誤解しておられるようだけど・・・

    それはさておき、
    数値に変換できないセルは無視しますので
    回答1、回答2いずれの式でも
    sumの範囲内に含んでいてもかまいません。

  • id:taknt
    SUMしたいだけならば 0にして 条件式書式で 0なら 白色にするとか
    オプションで 0は 表示しないとしたらいいのでは?
  • id:sakurahouse6
    できます。

    回答2さんの手法+コメント諸氏の通りです。
    補足すると「SUMしたいだけならば0にして」というのは、
    A3に
    =if(B1="V",A1+A2,"0")  のことかと思われます。

    if関数による"0"と、A1+A2の結果による"0"を区別したいというのであれば、
    "0"を他の任意の文字に置き換えて、「条件付き書式」の設定をその文字にすれば解決できます。


この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません