• 締切済み

セルの値を関数として利用する方法

いつもお世話になります。 セルの値を関数(や数式)として利用する方法をさがしておりますが、そのような方法はありますでしょうか。 具体的には セル B1="1+2" セル A1=B1 とすると、せるA1には 「1+2」 がはいりますが、 これを、 「3」 と表示させたいという事です。 上記例では数式ですが、関数なども利用できればとおもっております。 以上ですが、よろしくお願い致します。

みんなの回答

回答No.7

VBA関数を使いますが、通常画面で処理する方法です。 1.セルA1をクリックして、[挿入]-[名前]-[定義] から、   名前欄に Elric 、参照欄に =EVALUATE(B1) と入力して [追加] ボタンを   クリックしてから [OK]。 2.セルA1に =Elric と入力します。

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.6

VBAの『Evaluate』が質問の機能のように思います。 下は文字式を計算するユーザー定義関数を自動再計算関数にして、 式の結果がエラーや、式が未入力の場合、結果は空白になるようにしています。 質問の例で使えば、 A1に   =myVal(B1) になります。  =myVal(SUM(B1:B10))  =myVal(IF(A1=1,100,999))  のような書き方もできます。 標準モジュールに貼り付けます。(当方、Excel97です) ↓ Function myVal(myFormula As String)   Application.Volatile          '自動再計算関数にする   myVal = Evaluate(myFormula)      '文字式を計算する   If IsError(myVal) Then myVal = ""   '計算結果がエラーなら表示しない End Function

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

具体的な使い道が、伝わらないのですが (1)逆転の発想で、セルA1には、普通の計算=1+2を入れ、 B1のはその式を入れてはどうですか。 式の形をセルに明示的に残し(記し)たいのでしょうが、本問題の意図は エクセルが通常考えている、自然なものではない。 その方法ですが、簡単なVBAですが Sub test01() b1 = ActiveSheet.Range("a1").Formula MsgBox b1 Range("b1") = "'" & b1 ’例えばA1に=1+2と入れると値は3になる。そしてB1には=1+2と言' う文字列式が入る。 '----------- b1 = ActiveSheet.Range("A2").Formula MsgBox b1 Range("B2") = "'" & b1 'c1=1,C2=2,C3=3であるとして、 ’例えばA2に=SUM(C1:C3)と入れると値は6になる。そしてB2には' =SUM(C1:C3)と言う文字列式が入る。 End Sub (2)演算式や関数式をあるセルに文字列としてセットして、 別のセルに演算式として本来の働きをさせ、値を得るには下記のようになる。 Sub test02() Range("a5") = "sum(c1:c3)" Range("b5").Formula = "=" & Range("a5") End Sub C1=1,C2=2,C3=3でB5には6が入る。 (3)別にフリーソフトなど探す方法はある。 (4)自分で、文字列式から、数値的な値を割り出そう(計算しよう)としないこと。 自分でエクセル(システム)の一部を作るようなことになり、大変で 間違いも出る恐れが出てきます。 (5)ワークシート上の式の印刷等も出来たと思うので、出きれば本件の 発想(私には不明だが)を別方向に変えるべきではないでしょうか。 この手のことを別言語で夢想したことがあるので。

  • moon00
  • ベストアンサー率44% (315/712)
回答No.4

先程のアドイン関数の補足です。 セル B1="1+2" の場合、 セル A1に「=textcalc(B1)」と入力すれば、「3」が返ってくる関数です。

  • moon00
  • ベストアンサー率44% (315/712)
回答No.3

同じ様なケースの時、わたしは下記のHP(「ソフトウェア」内)で 「数式文字列計算 Textcalc for EXCEL」をDLして アドイン関数として使用しました。 これは「加減乗除及び括弧を含む数式(文字列)を計算」する関数ですので、 Elricさんのおっしゃる関数式がどんなものなのか分からないので、 それに対して有効かどうかはちょっと分かりません。

参考URL:
http://homepage3.nifty.com/peace/
  • twopence
  • ベストアンサー率42% (242/563)
回答No.2

直接的な回答でなくて申し訳ないですが、参考URLで、 Excelの関数の使い方が説明されています。 役に立つと思うので、ぜひご覧ください。 参考になれば幸いです。 http://homepage1.nifty.com/kenzo30/excel_kiso2.htm

参考URL:
http://homepage1.nifty.com/kenzo30/excel_kiso2.htm
  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.1

数式とするには必ず「=」からはじめてください。 数式バーには「=1+2」となりますが、セルの表示は「3」になります。 関数も同じです。必ず「=」から始まります。これは、「=」でエクセルが数式だと認識してくれます。

関連するQ&A