- ベストアンサー
計算式が作れなくて困っています
A+B=10と、答えの10は決まっているのですが、10を導き出す足し算の組み合わせをAとBに入力したいのです。(例)Aのセルに1を入力したら自動的にBには9が出るように、Bに1を入力してもAに9が出てほしい。 答えとなる数値が大きくても、A+BがA+B+C+D=98などセルが増えても 行える方法が知りたいので、どなたかお助け下さい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
そんな計算式は出来なくて当たり前です。 Excelは静的にデータを扱うソフトですので、セルには「値」か 「計算式」以外のデータを置くことができず、一旦置いてしまうと 「書き換える」という行為をしない限り、そのデータは変わりません。 要するに「値を表示させるための式」を作ったセルは「値表示」専用に なり、「値を入力するためのセル」は「値入力専用」になるために、 動的に「値を入力しない場合は演算結果、入力した場合は入力値」と することができないのです。値を入力すると、既に設定した計算式は 「値」に書き換わってしまうのです。 ですので、そういう場合には「VBA」というプログラムが準備されて います。VBAについてはここら辺を参照して下さい。ただし、ワーク シートの変化をキックにプログラムを動かす、という結構高度な処理 が必要ですので、レベルとしては中~上級者向きの話だ、というコト は覚悟して当たってください。 http://www.egksa.com/ まあ、ここまでややこしいことをしないでも、「数値を書き込むセルと 結果を表示するセル」を別々にしたうえ、「条件付書式」を駆使すれば 出来る話ではあるんですけどね。
その他の回答 (2)
- web2525
- ベストアンサー率42% (1219/2850)
入力セルをA1 B1に固定し A2、B2に答えを出すことは関数式で出来るが 入力したセルと結果を出すセルが同一の場合、入力された関数式が上書きされてしまうため、VBAを利用しないと不可能。 セルが増える場合は 1.ABCDと増えた場合、ABCに入力をしてDに答えを出すのか 2.ABと入力もしくはAのみの入力で空欄部を埋めるのか どちらでしょう 1の場合であれば、入力セルと表示セルを別にするのが可能なら関数式で可能ですが、セルが増減する全ての場合に1つの関数式で対応するのは難しいと思います。
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
別のセル(たとえばE1:F1セルに) E1セル =IF(COUNT(A1:B1)<>1,"",IF(A1="",10-B1,A1)) F1セル =IF(COUNT(A1:B1)<>1,"",IF(B1="",10-A1,B1)) 4つの場合 E2セルに =IF(COUNT($A2:$D2)<>3,"",IF(INDEX($A2:$D2,COLUMN(A2))="", 98-SUM($A2:$D2),INDEX($A2:$D2,COLUMN(A2)))) H列まで右へオートフィル