アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルで計算を行なうときにA1のセルに計算式、B1のセルに答えの数値を表したいときにこれまではA1に例えば1+1を入力してそれをコピーしてB1に貼り付けて
その前に=を入力していたのですが、計算式をA1に入力した段階でB1に答えが出る方法がありましたら教えてください。なにぶんにも初心者なのでよろしくお願いします。ソフトはofficeXPです。

A 回答 (6件)

#1です。

補足を拝見して質問の意図が分かりました。
セルA1には文字列として、例えば「1+1」を入れておき、
セルB1にその計算結果を表示させたいということですよね?

関数では、直接そのような機能を持つものはなかったと思います。
(なかったと思うけどなあ・・・あったら誰か教えてください)
計算が一桁の足し算に限定されるとかであれば、MID関数を使って数値を取り出し、計算することも可能ですが、その程度でも過程はかなり複雑になりますので、いくつか作業用のセルを使って算出することになるでしょう。
もし、2桁や3桁の数字もあり、加減乗除もあり、さらに3つの数の計算もあるとかいうことになりますと、この方法では対応不可能かと思います。

もしVBAの知識を少しでもお持ちなら、方法はいたって簡単です。
メニューバーの「ツール」から「VisualBasicEditor」を起動します。プロジェクトウィンドウ上で編集対象のシートをダブルクリックし、右側のウィンドウに次のように入力します。

Private Sub Worksheet_Change(ByVal Target As Range)
Range("b1") = "=" & Range("a1").Formula
End Sub

これで、セルA1に「3+2」と入力すると、セルB1に「5」と表示されるようになります。もちろん、べき乗や()を含む複雑な計算もOKです。

なおOfficeXPですと、マクロを含むシートを開く際には、事前に「ツール」-「マクロ」-「セキュリティ」で、セキュリティレベルを「高」以外にしておく必要があります。
    • good
    • 0
この回答へのお礼

本当に助かりました。
いろいろ考えていたのですが、すっきりしました。
VBAを勉強して取り組みたいと思います。
ありがとうございます。

お礼日時:2003/02/05 09:47

(1)例えば、A1に『1+1』と入力しておきます。


(2)B1を選択して、挿入→名前→定義 で名前に『myCalc』、参照範囲に『=EVALUATE(A1)』として、OK
(3)B1に『=myCalc』と入力します。『2』が表示されるはずです。(『』は入力したり表示はされません)
   以後、『=myCalc』の式は、その左のセルの文字列(質問にある式)を評価して値を出します。
   なお、myCalcはテキトーに付けた範囲名です。特にこれでなければいけないということはありません。

>計算式をA1に入力した段階でB1に答えが出る方法
上のように範囲名を付けて、B1に先に、『=myCalc』をセットしておけばいいことになりますが、
A1が未入力の場合はエラーになります。この対応としては、B1に

 =IF(ISERROR(myCalc),"",myCalc)

としておけば、A1の式が入力された時にB1に値が表示されます。
この式を、B2から下方向にコピーしておけば、A2から下方向に連続的に式の入力ができます。

また、この手順は、1度範囲名を設定すれば、A-B列だけでなく、任意の隣り合った列で使えます。

ご参考に。
    • good
    • 0
この回答へのお礼

ありがとうございます。
色々な方法があるのですね。
やってみます。もっと勉強してみます。

お礼日時:2003/02/05 09:50

#2です。

補足有難うございます。したいとしても、A1はデータを入れると、元いれた式が式を入れると、元のデータが消えます。残したいならC1とかに文字列で'=a1+1
とかいれておくのは同ですか。
B1にいれた=A1+1の式も数式バーに出ます。
数式主体(数式のみ)出したいなら、ツール-オプション
-ウインドウオプション-数式にVをいれる
で式がたのセルにセットした分も含めて一覧表示されます。
    • good
    • 0

たくさんあるのなら、


=1+1
などの式をA列に入力して、すべてB列に貼り付けて、
A列だけを範囲指定して、「編集」-「置換」で
「検索する文字列」に =
「置換後の文字列」には何もいれずに、「すべて置換」-OK
でできると思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。
これからもよろしくお願いします。

お礼日時:2003/02/05 09:48

質問がよくわかりません。

データはA1の入れるのですか。
するとA1の計算式は消えてしまいます。=1+2のような数値の四則演算だけなら別ですが。
したがってA1に元から関数式をいれてあっても(例=A1+1)、B1には何も入りません。
B1に=A1とか=A1+1といれておけば、A1の値に1を足したものが入ります。
VBAを使わないとA1に1をいれた時、B1に式をいれずに=A1+1の2をいれることは出来ません。
値をセットするセル側に、関数式をいれておかないとなりません。
こう言う答えでは、だめですか。

この回答への補足

データーはA1だけに入力してA1には式だけを表示させてB1には答えだけを表示させたいのですが。
A1に式を表示させたいのは、B1の答えの根拠を表したいからです。質問の仕方がまずくて申し訳ありません。

補足日時:2003/02/04 18:48
    • good
    • 0

セルB1に「=A1」と入れれば良いのではないですか?

    • good
    • 0
この回答へのお礼

さっそくの回答ありがとうございます。
やってみましたがうまくいきませんでした。
もう少しやってみます。

お礼日時:2003/02/04 19:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!