• ベストアンサー

Excelで文字列の数式の結果を表示するには?

過去ログ等調べたのですが、ぴったりくるものがなかったので質問させてください。 Excelで文字列として数式を入力して、 別のセルで計算結果を小数1桁でroundして表示させたいです。 数式は四則演算と( )です。 ファイルを共有しているので、アドインは使いたくないのですが、何かいい方法はあるでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 数式をA1に、「2×3÷(2+1)」のように入力するとします。 結果を表示するセルをB1とすると、B1を選択して、 メニューの[挿入]→[名前]→[定義]で、 [名前]:適当な名前(仮に「計算」とする) [参照範囲]:「=EVALUATE(SUBSTITUTE(SUBSTITUTE(A1,"×","*"),"÷","/"))+NOW()*0」 と設定して[OK]します。 これで、B1に、 =計算 とすると、A1の数式の計算結果が表示されます。 これを四捨五入するなら、 =ROUND(計算,) のように、通常のセル参照同様に出来ます。 この設定はB1から見てA1(左隣り)に入力されている数式を計算します。 仮にF5に =計算 とすれば、左隣りのE5の数式を計算します。

biwasa
質問者

お礼

名前というのを使えばいいのですか。 今まで使ったことがなかったです。 ちょっと名前について勉強してみます。 どうもありあがとうございました!!

その他の回答 (4)

noname#8027
noname#8027
回答No.5

意味がよくわかりません。 一つのセルに、「f(x)」と入力し、 もう一つのセルに、「=rounud(f(x),1)」 とすればよいだけ?  まさか、そんな質問では無さそうな・・・? 例えば、5*(A1+1)  と  =round(5*(A1+1),1) とか?

biwasa
質問者

お礼

5*(A1+1)とB1に表示されてるとしたら、 C1に=round(B1,1)と入力して計算結果がでて欲しいです。

回答No.4

セルA1に文字列の数式?(数字?)があるとして、 =VALUE(ROUND(A1,1)) ではいかがですか。 =VALUE()は文字列の数字を値に変換する関数です。 =ROUND(A1,1)は、四捨五入する関数です。

biwasa
質問者

お礼

やってみたのですが、どうも上手くいきません。 例えば、A1に 1/3 と入力して、B1に=VALUE(ROUND(A1,1)) と入力すると37989と出てきます。 何か間違ってるのでしょうか??

noname#176215
noname#176215
回答No.3

いまいち状況が分かりません。 一応 想像で。 A1セルに「=10+(20/30)」と入っているとして B1セルに「10.7」と答えが返れば良いのでしょうか? この場合 [挿入]→[名前]→[定義]で 名__前:answer 参照範囲:=EVALUATE($A$1) B1セル =ROUND(answer,1) とすれば良いです。違いますか?

biwasa
質問者

お礼

想像の通りです。 名前というのを使うのが一番簡単なようですね。 ありがとうございました!!

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.1

いまいち分からないんですけど・・・ A1セルに「=(1+2)*3/4」 B1セルに「=ROUND(A1,1)」 こういうことですか?

biwasa
質問者

お礼

そうです。 B1内の式にA1で文字列として表示している数式の結果をいれたいのですが、そのやりかたがわからなくて・・・

関連するQ&A