ここから本文です

エクセルで1つのセルに『1+2+3+4』(数式ではない)と入力しているものを 次のセ...

shi********さん

2010/2/311:52:33

エクセルで1つのセルに『1+2+3+4』(数式ではない)と入力しているものを
次のセルで前述の数式として自動計算をしたい。
なにか関数はありませんか?

エクセルで1つのセルに『1+2+3+4』(数式ではない)と入力しているものを
次のセルで前述の数式として自動計算をしたい。
要は、『1+2+3+4』←の数値を変更した場合に、次のセルで自動計算をしてもらいたい。
ちなみに、エクセルは2007のver.です。

閲覧数:
284
回答数:
3
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

Chiquilinさん

編集あり2010/2/312:03:52

Excel2003までなら マクロ関数という手もありましたが 2007なら間違いなく
マクロでやった方がいいですね。ユーザー定義関数を作りましょう。

Function MYCALC(r As Range)
MYCALC = Application.Evaluate(r.Value)
End Function

Alt + F11で VBEを開き
[挿入]→[標準モジュール]で表示される 右の空欄に上記を貼り付け
VBEを閉じる

A1セルに「1+2+3+4」とあるなら
■B1セル:=MYCALC(A1)

で「10」が表示されます。

***

上の方が 4.0マクロ関数での方法を提示されているので 一応ご注意。
4.0マクロ関数を使ったファイルも「マクロ有効ブック」として保存する必要
があります。

質問した人からのコメント

2010/2/3 18:13:00

笑う 早い解答ありがとうございました。おかげで、スムースに仕事をすることが出来ました。分り易く次に生かされると思います。他の解答して頂いた方もありがとうございます。

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

hay********さん

2010/2/312:01:43

B1セルを選択して上部メニューから「挿入」⇒「名前」⇒「定義」
「名前」欄に任意の名前(仮に「計算」)を付けます。
参照範囲 =EVALUATE(A1) としてOK

B1セルに「=計算」と入力
これで
A1の文字列 1+2+3+4
B1は計算結果 の10
四則計算+-/*
1000*50+5000/2
でも計算出来ますよ

B1セルを選択して上部メニューから「挿入」⇒「名前」⇒「定義」...

natsumiさん

2010/2/311:58:44

その『1+2+3+4』を一つのセルに要れずに7セル使って、セル間隔を狭めて調整。
A1から順番に入れたとしたら、G1まで使うので、H1のところに「=A1+A3+A5+A7」と入力すれば、数値を変えても自動反映します。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる