• ベストアンサー

入力の切り替え

Excel(verが2002)で、あるセルの条件で入力の切り替えが出来ないでしょうか? 実例を言うと、A1にある数値が入力されていて、B1に"Y"か"N"を入力するようにします。 もしB1に"Y"が入力されたら、C1を入力してD1にはA1+C1の結果を返すようにします。 B1に"N"が入力されたら、D1を入力してC1にはD1-A1の結果を返すようにしたいです。 出来ればマクロを使わずにExcelの関数で行いたいと思いますが、出来るのであれば教えて下さい。 よろしくお願いします。

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

  • ベストアンサー
noname#123709
noname#123709
回答No.1

一つのセルに数式や数値を両方持つことは無理です。 C1のセルに仮に数式が入っていたとしても、条件によりそのセルにユーザー が入力をすると数式は失われますから・・・。 関数云々の問題じゃないですよね。 一度きりなら可能でしょうけど・・・。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

ある1つのセル(質問ではD1など)に、ある時は値を手入力でいれ、あるときは関数式を使いたいというのはできません。「手入力」で「式のあるセルに値を入れる」と、式が壊れます。 エクセルの関数式の大原則で、これを意識してない、不可能なことを聞いている質問です。 VBAなら何とでもなります。

  • cockerel
  • ベストアンサー率46% (253/548)
回答No.2

循環参照になるので不可能ですが、擬似的に行うのであれば次のような方法が考えられるかも知れません。 C1に ~=IF(B1="N",A1-D1,"") D1に ~=IF(B1="Y",A1+C1,"") を入力します。文字色を白にして、A1またはB1を条件とする条件付き書式で文字を黒にすれば隠せます。 B1およびC1またはD1に値を入力した後に、C列D列の~=を=に置換します。 やってみましたがあまり賢くなかったですね。 入力制限等ができないので、マクロの方がよいでしょう。

関連するQ&A