• 締切済み

セル内計算式の計算結果出力方法

Excel勉強中のものです、皆様の知識をお借りしたく。 今回困っているのは以下のものです。 <やりたいこと> A1セル内に、”1+2+3”という計算式が書いてあります。 B1セル内に、A1セル内の計算結果”6”を出力したいと考えています。 <やって失敗したこと> 文字列の合成でいいのかと考え、 =concatenate(”=”、A1) と入力したのですが、”=A1”という文字列ができるだけでした。 この文字列をセルの書式設定で数値にすればいいのかな、と考えたのですができませんでした。 どうか、私の見落としや、やり方などありましたらご指摘していただきたく。 みなさん、宜しくお願いします

みんなの回答

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.5

#3さんの方法が適切ですが。 > Range("B1").Formula = "=A1" > になってるはず。 「マクロの記録」で作ったこの行を#1の方法で編集してね、だったんですが。 Range("B1").Formula = "=A1" を Range("B1").Formula = "=" & Range("A1") 結果は Range("B1")の式が[=1+2+3]

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.4

ダメです。 ご利用のエクセルのバージョンがご質問に書かれてなかったことを発端として,全部に失敗しています。 参照: http://www4.synapse.ne.jp/yone/excel2010/excel2010_name_teigi.html 再掲: >B1セルを選択する(必ず行う) >ご利用のエクセルのバージョンに応じた方法で「名前の定義」を開始する >名前 myFormula >参照範囲 =EVALUATE(A1) >と記入しOKする エクセル2010では「数式タブ」から「名前の定義」を開始し,名前を記入し,参照範囲に回答の通りに記入します 操作は「必ず」B1セルを選択した状態でおこないますが,この操作で作成した名前はB1セルに付けるのでも,もちろんA1セルに付けるのでもありません。 間違った操作をおこなってしまったブックは一回捨てて,全く新しいブックを用意して行って下さい。 回答したとおり「どこでも好きなセル」に1+2+3などを記入し,「その右隣のセル」に=myFormulaと記入して,作成した名前を利用します。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

手順: B1セルを選択する(必ず行う) ご利用のエクセルのバージョンに応じた方法で「名前の定義」を開始する 名前 myFormula 参照範囲 =EVALUATE(A1) と記入しOKする A1セル等に 1+2+3 を記入 その「右隣のセル」(今回はB1セル)に =myFormula と記入する。 勝手に違う事をすると出来ないので、まず回答した通りに手を動かし出来ることを確認してから、さらに実地に利用してください。 #時折寄せられる、「そもそもエクセルはそういう事をする(が出来る)ソフトじゃないのに」な、無茶振りご相談の一種です。

Nestea466
質問者

補足

ご回答ありがとうございます。 早速試してみようと、名前の定義から調べて実施してみました。 (参考リンク) http://kokoro.kir.jp/excel/name.html 初めに、私の使用しているExcelは、2010になります。 検索HPにならって、名前ボックスというところから入力してみました。 ここで、疑問が生じました。 (1)myFormulaという名前はB1に付けるという考えで会っていますか。 (2)=EVALUATE(A1)というのは、”参照範囲”という記載からA1につけるのかな、と考えて入れたのですがあっていますか。 上記(1)(2)のように実施した結果、失敗してしまいました。 <出力結果> B1に”0”が出力されました。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

申し訳ありません ×)Range("B1").Fomula = ○)Range("B1").Formula = です。rが足りませんでした。 Range("B1").Formula = "=1+2+3" になって欲しいと考えました。 1)セルA1に値[1+2+3]を入力した状態で「マクロの記録」を開始。 2)セルB1に式[=A1]を入力 3)「マクロの記録」を停止。 4)Alt+F11キー押下でVBEを開く。 で、 Range("B1").Formula = "=A1" になってるはず。

Nestea466
質問者

補足

返信遅れて申し訳ありません。 早速試してみました。 確認の結果、B1には、1+2+3という結果が出力されました。 すみません、私の書き方が悪かったのは承知なのですが、私が本当に欲しかった結果の出力はこれではありません。 ここに、A1に記載した計算式の結果、6が出力されるのが期待っしていたものです。 あの後も色々試してみたのですがやはり、知識がまだまだ足りない為かできませんでした。 難しいですが頑張ってみます。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

VBAになりますが、可能です。 一度、「マクロの記録」でモジュールを作って下さい。 出来上がったら、 Range("B1").fomula="="&range("A1") と入力して実行して下さい。

Nestea466
質問者

補足

早速のご回答ありがとうございます。 早速試してみたのですが、以下のエラーが出てしまいました。 実行時エラー’438’ オブジェクトは、このプロパティまたはメソッドをサポートしていません。 教えていただいたものを見ると、B1に、”= ”と”A1”を合わせたものを出す、というものと見てとれますが、認識あっていますか? わたし、VBAも調べながらやっている身で知識ないのですが、問題内容にも見えるのですが。。 実際に実行したものは、以下のものになります。 ご指摘、宜しくお願いします。 Sub Macro1()   Range("B1").fomula = "=" & Range("A1") End Sub

関連するQ&A

  • エクセルで記号付きのセルを計算させたいのです

    エクセルで記号付きのセルを計算させたいのです 例えば、セルA1に φ10 と入力し、セルA2に-0.01と入力します。 セルA3に=$A$1-$A$2 とした場合、返される数値を 9.990 としたいのです。 なおA1のセルの書式設定は文字列、A2も同じく文字列、A3は数値で小数点以下3位まで表示です。 よろしくお願いします!!

  • 文字列として認識されている計算式の結果を表示させたい

    エクセルでサイズ等を入力したシートがあるのですが (例)    A1 35*120*150    A2 *8          A3 /2    ⇒ 35*120*150*8/2 (CONCATENATE関数)  ⇒ 315,000      ( ??? ) これらのセルの文字列をつなげて表示する方法は何とか分った(CONCATENATE関数)のですが、この時の実際の計算結果を表示させたいのですが出来ません…方法があるでしょうか? もし解る方があったら教えて下さい。

  • エクセルの文字列を結合しても、数値の桁区切りが消えないようにするには?

    例えばエクセルで、 「A1」のセルには「定価」、 「A2」のセルには「1000」、 「A3」のセルには「円」という文字が入っていたとします。 このエクセル上の文字列を「=CONCATENATE(A1,A2,A3)」の関数で結合します。 「A2」の書式設定は、数値にして桁区切りにチェックを入れているので、 セルの表示上は「1,000」となっていますが、「CONCATENATE」でセルを 結合した後の結果は以下のようにカンマが消えてしまいます。 CONCATENATE(A1,A2,A3)の結果 ⇒ 定価1000円 これを「定価1,000円」という風に表示させる良い方法はないでしょうか? 宜しくお願いいたします。

  • エクセルのセル内に文字と計算結果の表示

    エクセルの1つのセル内に文字と計算結果の両方を表示させる方法を教えて下さい。 例えば、セルのA1に数値10を入れて、B1に数値5を入れてあったとします。 で、セルのC1にA1とB1の合計を「合計 15」みたいな形で、文字と計算結果の両方をC1のセル内に表示させたいのですが。 ただ合計の数字のみを表示させるなら、=SUM(A1+B1)で良いわけですが、この数値の前に”合計”という文字を入れたいのです。 宜しくお願いします。

  • 文字列の計算について。。。

    Excelでなのですが、外部データの取り込みをしました。 その時に、文字列で取り込んだ数値を計算したいのですが、 うまく出来ません。 セルの書式設定で数値にしたのですが、計算出来ません。 関数を使って数値に変換すると出来たのですが、 50枚シートがあるものが10ブックあります。 計算したい列もそれぞれのシートでばらばらなので困ってます。 簡単に出来る方法はないでしょうか?

  • Excelで、セルに計算式を表示させることはできますか?

    たとえば   セルA1に 1   セルA2に 0.7 が入っていて、 2-A1*A2 という計算をし、   セルA3に値を代入した計算式 =2-1*0.7 を表示し   セルA4に計算結果の 1.3 を表示したいのですが、 楽で簡単な良い方法はありませんか?。 セルA3に文字列やCONCATENATE関数などで見た目の計算式を書き込み、セルA4に本物の計算式を書き込む方法を考えたのですが、これだと、計算式や変数や定数が変わった場合にA3、A4両方のセルを書き変える必要があり、面倒です。 このような場合でも面倒にならない楽で簡単な方法がありましたら教えてください!。 よろしくお願いします。

  • エクセル CONCATENATE関数

    エクセル2003のCONCATENATE関数で作ったテキストを関数化(数式化)できないでしょうか。 たとえば、C3のセルに下のCONCATENATE関数を入れ =CONCATENATE(D3,E3,F3) 文字列"=sum(A1:A10)" を表示させ、 その後CONCATENATE関数をのぞき、=sum(A1:A10)を計算させたいのです。 CONCATENATE関数で合成されたセルをコピーし、形式を選択して貼り付けから値だけを貼り付けても、なぜかうまくいきません。 =sum(A1:A10)とC3に表示され、計算は実行されません。

  • Excelの文字列と文字列の連結

    A1のセルにはj50 C1のセルには01(ユーザ定義で00の書式) この二つの数値をCONCATENATE()関数を用いて文字列を 連結するとj501となってしまいます。 C1のセルを文字列の書式にするとうまくj5001と表示されますがそれ以外に方法はないでしょうか?

  • Excelの計算結果が反映されない!

    Excel 2007で「Excelのオプション」画面の左にある「数式」-「計算方法の設定」-「自動」になっていますが、  あるセルに=表紙!AM17を記述すると、正しく対象のセルの数値を取ってきます が、あるセルに同じように書くと、=表紙!AM17が文字として表示され、対象のセル の数値を取ってきません。 セルによって計算されたり、計算されなかったりします。  表示形式をいろいろ変更してみましたが、結果変わらずです。  また、書式コピーやセルのコピーで持ってきて、再度書き直しても結果は同じでした。  どのようにすればセル内の計算式が反映されるようになりますでしょうか。 宜しくお願いします。

  • Excelでセルの文字を繋げたいのに・・・

    Excelでセルの文字列を繋げたいと思います。 10セル位ならCONCATENATE関数を利用しても苦になりませんが、100セルともなると大変です。 =CONCATENATE(A1,B1,C1,D1,・・・100個も)   オートサムみたいに=SUM(A39:K39) ":"を入れてみましたがダメでした。 大量のセルを一つにまとめる時は何か書き方がありますか?