[[20220416094159]] 『&を用いて結合作成した計算式から結果を表示』(有識者求む) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『&を用いて結合作成した計算式から結果を表示』(有識者求む)

A1セルからA4セルに以下の要素があります。
=
1
+
1

これらを結合して計算式を作りA5に出力します。

=A1&A2&A3&A4
(表示結果:"=1+1")

これは文字列として認識されているため表示結果は”2”にはなりません。
しかし、わたしは結合したものを使用して計算をしてもらいたいと考えています。
何か&で合成した計算式を作動させる方法ありますか?

< 使用 Excel:Excel2019、使用 OS:Windows10 >


Excel2019で機能するかどうかわかりませんが、Excel2010では
機能しています。

計算式を入れるセルを選択してから
「計算→名前の管理」と選択して
 
 名前:EQ(N): ←任意の名前で結構です。
 参照範囲(R): =EVALUATE(Sheet1!$A$5)

ワークシートに戻り
 =EQ

この方法がダメならマクロになると思います。
蛇足ですが加算だけなら「=SUM(A1:A4)」で結果は出ます。
(メジロ) 2022/04/16(土) 10:30


回答ありがとうございます。実行することができました。質問時に書き漏れていたのですが私はvbaにてこと処理をしたいと思っておりました。しっかりvba上で実行できましたのでよかったです。ただ、Excel2019の関数としてもう使えないようですね。こんなに便利な機能なのに残念です。

ありがとうございました。
(有識者求む) 2022/04/16(土) 11:07


 ユーザー定義関数ならこんな感じです。
 Function eval(s As String) As Variant
     eval = Application.Evaluate(s)
 End Function

 A1セルに計算式文字列があるとすると
 =eval(A1)
 で計算結果が戻ります。

 提示された案は、名前を通じてExce4Macroを借用しているものかと思います。

(γ) 2022/04/16(土) 11:21


 私の備忘録より

 数式文字列を数式に変換する方法
 ・表示形式を標準にしてEnter(その都度行う)
 ・「=」を「=」に置換して数式にする(複数ある場合に便利)
 ・区切り位置で「標準」に変更(計算結果は文字列)

 マクロで数式として認識する関数を作る
 Function Eval(a)
    '数式文字列を計算する
    Eval = Evaluate(CStr(a))
 End Function
 セルに =Eval(A5) と入力する

 このように方法は色々あります。
 参考にどうぞ
(KLY) 2022/04/16(土) 12:12

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.