- ベストアンサー
エクセルで文字式に数値を代入
例えば、α×βという式があり、α=2、β=5を代入させて α×βを計算させたいのですがどうすればよいのでしょうか。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
式を出来るだけ原型(紙に書いた物)に近く表現したいなら、 「セルに名前をつける」という方法が有ります。 セルとデータの関係に#4さんが提唱されているものをお借りして、 αの値:A1セル...A1に「α」と名前をつける βの値:A2セル...A2に「β」と名前をつける Laの値:B1セル...B1に「La」と名前をつける(ただし全角で) Lbの値:B2セル...B2に「Lb」と名前をつける(ただし全角で) aの値:C1セル...C1に「a」と名前をつける(ただし全角で) bの値:C2セル...C2に「b」と名前をつける(ただし全角で) Cの値:D1セル...D1に「C」と名前をつける(ただし全角で) Dの値:D2セル...D2に「D」と名前をつける(ただし全角で) とします。こうすれば式を、 =α*(Lb*D+(1-Lb)*(b+β*(La*C+(1-La)*a)))/1-α*β*(1-La)*(1-Lb) と書くことが出来ます。(変数の部分は全て全角) 名前をつけるには、 1.名前をつけたいセルを選択 2.「挿入」-「名前」-「定義」で 「名前」ボックスに定義した名前を『全角』で入力し「OK」をクリック。 これを名前の分だけ繰り返します。 なお、定数がある場合は、「名前」ボックスで名前を入力し、 「参照範囲」ボックスに定数をそのまま『半角』で入力すれば、 名前を数値と同様に使うことができます。 例:「名前」ボックスに「Lx」、「参照範囲」ボックスに「35」とすれば、 「=Lx*3」は、「105」と計算されます。ご参考まで...
その他の回答 (4)
- zap35
- ベストアンサー率44% (1383/3079)
>X=α【LbD+(1-Lb)[b+β{LaC+(1-La)a}]】/1-αβ(1-La)(1-Lb) をエクセルの数式にすると X=α*(Lb*D+(1-Lb)*(b+β*(La*C+(1-La)*a)))/1-α*β*(1-La)*(1-Lb) となります。 αの値:A1セル 、 βの値:A2セル Laの値:B1セル 、 Lbの値:B2セル aの値:C1セル 、 bの値:C2セル Cの値:D1セル 、 Dの値:D2セル にそれぞれ入力されているとき、任意のセルに以下の式を入力するとXの値となります。 =A1*(B2*D2+(1-B2)*(C2+A2*(B1*D1+(1-B1)*C1)))/1-A1*A2*(1-B1)*(1-B2) 意図が違っていたらごめんなさい
お礼
ありがとうございます。
- chie65536
- ベストアンサー率41% (2512/6032)
>X=α【LbD+(1-Lb)[b+β{LaC+(1-La)a}]】/1-αβ(1-La)(1-Lb) 数学の数式で y=2a(x+3b) と言う式の値をエクセルで求める場合、a、b、xの値を、それぞれA1、B1、C1セルに入れたとすると =2*A1*(C1+3*B1) になります。 質問者さんが困ってるのは「数学の数式でabと書かれているのをどう書けばよいか」「括弧の中の括弧をどう書けばよいか」が判っていないからだと思います。 =α【LbD+(1-Lb)[b+β{LaC+(1-La)a}]】/1-αβ(1-La)(1-Lb) まず、略されている積算記号を、すべて挿入しましょう。 =α*【L*b*D+(1-L*b)*[b+β*{L*a*C+(1-L*a)*a}]】/1-α*β*(1-L*a)*(1-L*b) 次に、演算子の優先順位を変える必要のある部分に括弧を足しましょう。 =α*【L*b*D+(1-L*b)*[b+β*{L*a*C+(1-L*a)*a}]】/{1-α*β*(1-L*a)*(1-L*b)} ※元の式は「○/1-△」になってて、このままでは「1で割ってから引く」ので「○-△」と同じ意味です。多分「○/(1-△)」を計算したいのだと思いましたが、違いますか? エクセルでは、括弧の中の括弧も、そのまま「(」「)」を使うので、置き換えましょう。 =α*(L*b*D+(1-L*b)*(b+β*(L*a*C+(1-L*a)*a)))/(1-α*β*(1-L*a)*(1-L*b)) あとは、各変数を実際の数値か、セル参照に書き換えれば終り。
お礼
ありがとうございます。 詳しく書いて頂き助かりました。
- osamuy
- ベストアンサー率42% (1231/2878)
文字αをセル番地A1、βを番地B1に見立てて、 α×βを計算式=A1*B2と頭の中で変換して、Excelに計算させるのが一番手っ取り早くて、確実かと。 やろうと思えば、replaceやらevalを駆使して出来そうですが、それなりのプログラミングが必要になると思います。 本格的にやるなら、Mathematica等の数式処理システムやMATLAB等の数値計算システムの導入を検討してみては。
お礼
ありがとうございます。 単純なのようでややこしくなりますね・・・。
- shikisaito
- ベストアンサー率52% (257/491)
A1セルに 2 を、B1セルに 5 を、それぞれ入力して、 C1セルに =A1*B1 を入力すればいいです。
お礼
ありがとうございました。 これを基にしていけばできるのかも??
補足
実際にしたいのはもっと複雑な数式なんです。 例えば X=α【LbD+(1-Lb)[b+β{LaC+(1-La)a}]】/1-αβ(1-La)(1-Lb) でXを求めたいのです。 X以外の文字は数値が分かっています。
お礼
ありがとうございました。 面倒ですけど、セルに名前つけると分かりやすいですね。