• 締切済み

エクセル 計算式と答え

エクセルで計算書を作成しています。成果物に計算式とその解の表記が必要です。 現在は計算式表記のセルにも解のセルにも"="をつけるかつけないかの違いだけで同じ内容を入力していますがナンセンスに感じています。 他のセルに表記さらている計算式を計算するマクロでいいものがあれば教えてください。 データも納品物であるので先方のPC環境に影響しないようアドイン関数は使用したくありません。 四則演算ができればよいのですが出来るものな"π"(パイ)を"PI()"と認識できたらなおよいです。 よろしくお願いします。

noname#192339
noname#192339

みんなの回答

noname#35109
noname#35109
回答No.3

#2でーす。 >> 私の質問がまちがっておりました。申し訳ありません。 いえいえ,私も間違ったことというか言い違いはしょっちゅうします。気にされないでください。 うーん,しかし難しい。 #1さんのおっしゃっているように, B列に「=数式」を入力して,それをA列にコピー。 A列の "=" を "" に置換。 "π" を "PI()" に置換。 くらいしか思い浮かびません。 結局,関数では何もひらめきませんでした。

noname#35109
noname#35109
回答No.2

これでよろしいでしょうか。 --------------------------- Sub test()   Dim Tmp As Range   For Each Tmp In Selection.Cells    If Tmp <> "" Then     Tmp.Offset(0, 1) = "=" & Tmp     Tmp.Offset(0, 1).Replace What:="π", Replacement:="PI()"    End If   Next End Sub --------------------------- 汎用性を高めるために,特定の行や列は指定していません。 使い方は, 「数式にしたい("="をつけたい)セルを選択」→「マクロ実行」 これだけです。 選択した右隣のセルに,「 "=" がついたもの」つまり「計算結果」が表示されます。 セルは列(縦)方向にであれば,複数選択可です。つまり範囲で選択できます。 右隣ではない部分に計算結果を出したい場合は Tmp.Offset(0, 1) の0や1を替えてください。 ( )内は,(行,列) になっています。つまり選択セルからの相対座標です。 一応,空白セルは無視するようにはしてますが, 環境によっては,ひょっとしたら, 列や行全体を選択してマクロを実行した場合,空白行まで判別しようとするため, マクロが止まらなくなることがあるかもしれません。 一応,こちらではそのようなことは起こりませんでした。 もしマクロが止まらなくなった場合はあわてず「Esc」キーを押してください。 マクロの実行は止まります。 (開発環境 Windows2000 Excel2002)

noname#192339
質問者

お礼

さっそくの回答ありがとうございました。 しかしながら私の質問がまちがっておりました。申し訳ありません。求めていたものはマクロではなく、ユーザー関数でした。つまりA1に"="なしの計算式を表記しB1に"=****(A1)"で解を表記させるというものです。 お願いしづらくなってしまいましたが機会があればお教えください。

  • hakutyan
  • ベストアンサー率44% (23/52)
回答No.1

質問内容がよく分からないので、間違ってたらすみません。 検索置換で、"="を飛ばすことではいけないのでしょうか?

noname#192339
質問者

お礼

さっそくの回答ありがとうございました。 私の質問のしかたが間違っておりました。申し訳ありません。A1に計算式を表示しB1に解を表示させるようなB1で使う関数がほしかったのです。 機会があればまたお願いいたします。

関連するQ&A

  • 【エクセル】あるセルのみ自動再計算させない方法

    はじめて質問させて頂きます。 RAND関数は再計算されるたびに新しい乱数が発生します。 同シート内にRAND関数とその他関数(四則演算等)が混在しているとき、その他関数は自動計算されRAND関数だけは手動再計算(F9でなくてもいいです)で実行されるようなことは可能でしょうか? マクロは使いたくないです。(っていうか、マクロは解りません。) 宜しくお願い致します。

  • エクセルでアドイン

    今日 某会社の先方からアドインを使って処理したら効率があがるといわれました。 アドインはマクロと聞きましたが、関数やそれを組み込めといわれても何がなんだかさっぱりです。 どなたか教えていただけないでしょうか?

  • Excelで文字列の数式の結果を表示するには?

    過去ログ等調べたのですが、ぴったりくるものがなかったので質問させてください。 Excelで文字列として数式を入力して、 別のセルで計算結果を小数1桁でroundして表示させたいです。 数式は四則演算と( )です。 ファイルを共有しているので、アドインは使いたくないのですが、何かいい方法はあるでしょうか? よろしくお願いします。

  • 計算式で任意のセルを指定できるようにする

    うまく説明できるか自身ないですが…。 Excel2000で、ある計算式(変換式というべきか?)を作りました。 とりあえず、セルA1に数字を入力すると、セルA2に結果が出るように作成しています。(四則演算や、VLOOKUPを使った文字列操作などを複数のセルを介して行い結果を出しています) やりたいことは、最初のターゲットを任意のセルを指定できるようにしたい(計算式を関数のように使いたい)のですが、そんなことは可能でしょうか。

  • エクセルの使い方

    エクセル2003を使用しています。 一つのセルに単純な四則演算の計算式を入れてその計算式を表示し、 その右隣の計算結果を表示する方法があるのでしょうか!! 1つ1つのセルに数字を入れてその数字の計算結果を他のセルに表現するのは解っているのですが!! 宜しくお願い致します。

  • 電卓による一度の計算で解を出す方法を教えて下さい

    シャープの電卓を使用しています。 四則演算キーやメモリーキー等を組み合わせて、 一度の計算で解(225)を出す方法を知りたいです。 (300,000*1,600)-(1,000*435,000) / (4*300,000)-(1,000)^2 宜しくお願い致します。

  • エクセル

    エクセルで数個のセルの四則計算をします。 その値が40以上の場合40で返す数式を 四則計算と同数式内でできますか? その際使う関数を教えてください><; 宜しくお願いします。

  • エクセル表計算

    <エクセル表計算の表示> 表計算表を作成後、セルC・D・E・に任意の数値を入力後セルF・G・に「四則演算」の計算結果をアウトプットしたいんです。 セルF・G・に数式を入力すると「#DIV/0!」が表示されます。 「#DIV/0!」が表示されていても計算結果は手計算で検算も間違いありません。が数値入力前に「#DIV/0!」の表示がどうも頂けません。「#DIV/0!」を表示しないで良い方法をどなたかご教授下さいます様宜しくお願いいたします。

  • 日数 時分秒の求め方

    プログラムで、関数をつかわずに、 3589.28時間を、 日 月:時:秒 で表記したいのですが、どのように計算すればいいでしょうか? 四則演算は使えるとします。 変数の利用もOKです。 関数を使わないと考えると。。。できないです。。。 よろしくお願い致します。

  • 初等関数の計算時間

    C言語である計算を一億回したときの計算時間について調べています。 sinやcosなどの初等関数の計算は、足し算や引き算などの四則演算に比べ、計算時間がかかるのは何故ですか?