- ベストアンサー
Excelで文字列の数式の結果を表示するには?
過去ログ等調べたのですが、ぴったりくるものがなかったので質問させてください。 Excelで文字列として数式を入力して、 別のセルで計算結果を小数1桁でroundして表示させたいです。 数式は四則演算と( )です。 ファイルを共有しているので、アドインは使いたくないのですが、何かいい方法はあるでしょうか? よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 数式をA1に、「2×3÷(2+1)」のように入力するとします。 結果を表示するセルをB1とすると、B1を選択して、 メニューの[挿入]→[名前]→[定義]で、 [名前]:適当な名前(仮に「計算」とする) [参照範囲]:「=EVALUATE(SUBSTITUTE(SUBSTITUTE(A1,"×","*"),"÷","/"))+NOW()*0」 と設定して[OK]します。 これで、B1に、 =計算 とすると、A1の数式の計算結果が表示されます。 これを四捨五入するなら、 =ROUND(計算,) のように、通常のセル参照同様に出来ます。 この設定はB1から見てA1(左隣り)に入力されている数式を計算します。 仮にF5に =計算 とすれば、左隣りのE5の数式を計算します。
その他の回答 (4)
意味がよくわかりません。 一つのセルに、「f(x)」と入力し、 もう一つのセルに、「=rounud(f(x),1)」 とすればよいだけ? まさか、そんな質問では無さそうな・・・? 例えば、5*(A1+1) と =round(5*(A1+1),1) とか?
お礼
5*(A1+1)とB1に表示されてるとしたら、 C1に=round(B1,1)と入力して計算結果がでて欲しいです。
- SAKURAMYLOVE
- ベストアンサー率30% (162/533)
セルA1に文字列の数式?(数字?)があるとして、 =VALUE(ROUND(A1,1)) ではいかがですか。 =VALUE()は文字列の数字を値に変換する関数です。 =ROUND(A1,1)は、四捨五入する関数です。
お礼
やってみたのですが、どうも上手くいきません。 例えば、A1に 1/3 と入力して、B1に=VALUE(ROUND(A1,1)) と入力すると37989と出てきます。 何か間違ってるのでしょうか??
いまいち状況が分かりません。 一応 想像で。 A1セルに「=10+(20/30)」と入っているとして B1セルに「10.7」と答えが返れば良いのでしょうか? この場合 [挿入]→[名前]→[定義]で 名__前:answer 参照範囲:=EVALUATE($A$1) B1セル =ROUND(answer,1) とすれば良いです。違いますか?
お礼
想像の通りです。 名前というのを使うのが一番簡単なようですね。 ありがとうございました!!
- snoopy64
- ベストアンサー率42% (337/793)
いまいち分からないんですけど・・・ A1セルに「=(1+2)*3/4」 B1セルに「=ROUND(A1,1)」 こういうことですか?
お礼
そうです。 B1内の式にA1で文字列として表示している数式の結果をいれたいのですが、そのやりかたがわからなくて・・・
お礼
名前というのを使えばいいのですか。 今まで使ったことがなかったです。 ちょっと名前について勉強してみます。 どうもありあがとうございました!!