- 締切済み
セルの値を関数として利用する方法
いつもお世話になります。 セルの値を関数(や数式)として利用する方法をさがしておりますが、そのような方法はありますでしょうか。 具体的には セル B1="1+2" セル A1=B1 とすると、せるA1には 「1+2」 がはいりますが、 これを、 「3」 と表示させたいという事です。 上記例では数式ですが、関数なども利用できればとおもっております。 以上ですが、よろしくお願い致します。
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- misatoanna
- ベストアンサー率58% (528/896)
VBA関数を使いますが、通常画面で処理する方法です。 1.セルA1をクリックして、[挿入]-[名前]-[定義] から、 名前欄に Elric 、参照欄に =EVALUATE(B1) と入力して [追加] ボタンを クリックしてから [OK]。 2.セルA1に =Elric と入力します。
- nishi6
- ベストアンサー率67% (869/1280)
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)
具体的な使い道が、伝わらないのですが (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)
先程のアドイン関数の補足です。 セル B1="1+2" の場合、 セル A1に「=textcalc(B1)」と入力すれば、「3」が返ってくる関数です。
- moon00
- ベストアンサー率44% (315/712)
同じ様なケースの時、わたしは下記のHP(「ソフトウェア」内)で 「数式文字列計算 Textcalc for EXCEL」をDLして アドイン関数として使用しました。 これは「加減乗除及び括弧を含む数式(文字列)を計算」する関数ですので、 Elricさんのおっしゃる関数式がどんなものなのか分からないので、 それに対して有効かどうかはちょっと分かりません。
- twopence
- ベストアンサー率42% (242/563)
直接的な回答でなくて申し訳ないですが、参考URLで、 Excelの関数の使い方が説明されています。 役に立つと思うので、ぜひご覧ください。 参考になれば幸いです。 http://homepage1.nifty.com/kenzo30/excel_kiso2.htm
- dejiji-
- ベストアンサー率38% (327/858)
数式とするには必ず「=」からはじめてください。 数式バーには「=1+2」となりますが、セルの表示は「3」になります。 関数も同じです。必ず「=」から始まります。これは、「=」でエクセルが数式だと認識してくれます。