『180×5-400この式をスグに計算するには』(小学生の保護者)
見出しの件でお尋ねします。
式を貼り付けたら答えが出るようにしたいのですが教えて下さい。
< 使用 Excel:Microsoft365、使用 OS:Windows11 >
一応私のところではこれでできました。 (もともとEXCEL2016をインストールしてたところをEXCEL365に置き換えた)
まずB1セルにカーソルを置いた状態でメニューの「数式」の「名前の定義」を開いて 名前 :計算(これは自分の好きなもので構わない) 参照範囲:=EVALUATE(A1)+NOW()*0 これでOK。
あとは文字列の計算式を入力したセルの右側に =計算 (名前で設定したもの) と入れると結果が返る。
なんか×、÷、なんかでも計算してくれるみたいだ。 (ノーム) 2025/06/25(水) 08:59:47
Office TANAKA セルに入力した数式を別のセルで計算する http://officetanaka.net/excel/function/tips/tips57.htm で解説されてますね
365ならLAMBDA関数を使う方法もありますね 名前の定義で EVAL で =LAMBDA(s,EVALUATE(s)) とすると =EVAL(A1) (´・ω・`) 2025/06/25(水) 09:22:59
ノームさんへの質問
横からですが、
参照範囲:=EVALUATE(A1)+NOW()*0
の +NOW()*0 の箇所はどういう意図ですか? 必要ないと思うのですが・・・?
(たんたん) 2025/06/25(水) 09:27:24
+NOW()*0 がない場合、例えば数式として A2+B2 と入力してA2セルとB2セルの値で計算している場合、結果を求める式を入力後に A2セルとB2の値を変更しても結果が更新されないのを回避するためです。
もし、他のセルを参照する式は入力されない場合は不要でしょうね。 (ノーム) 2025/06/25(水) 09:59:32
ノームさん
なるほど。有難うございます。 だからあえて揮発性関数にご登場いただいているわけですね。 理解できました。
(たんたん) 2025/06/25(水) 10:27:33
もう食傷気味かと思いますが、イベントプロシージャの利用も考えられますね。
下記のイベントプロシージャを使っているシートのシートモジュールに書き込んでおけば、 計算式の入ったセルをダブルクリックするだけで、その右のセルに結果数値が得られます。 (もちろん、そのセルに上書きすることもできますが、結果判定ができなくなりそうです。) ご参考まで。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True Target.Offset(, 1) = Application.Evaluate(Target.Value) 'こっちでもできる ' Target.Offset(, 1) = Application.ExecuteExcel4Macro("EVALUATE(" & Target.Value & ")") '旧4.0マクロの実行 End Sub (xyz) 2025/06/25(水) 10:53:36
自前の練習問題を沢山作っていて、問題を入力したつどその回答を右に書き込むなんていうシチュエーションなら、 Changeイベントプロシージャの利用ということになるでしょうね。 これなら式入力と同時に右側セルに自動で結果表示できます。
ただし、入力セルの範囲をある程度限定しないと、入力するたびにそれが稼働 してしまうと不適当なこともありますし、取り消しへの対応も必要になり、 それなりに留意点が出てきます。 (xyz) 2025/06/25(水) 10:59:02
(?) 2025/06/25(水) 17:21:17
(スイスイ) 2025/06/25(水) 17:47:59
結果をお知らせいただくことはできませんか? 成功したとか、こういうところに躓いたが、こうして成功に導いたとか。 こういう点が改善できればもっといいが、とか。 それが回答者の知りたいことです。
# ちなみに、私のコメントに対するものは手間もかかりますので必要ありません。 (xyz) 2025/06/26(木) 12:53:14
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.