• ベストアンサー

エクセルで一つのセルに式入力し、隣のセルに結果を

エクセルで一つのセルに式入力し、隣のセルに結果を返す入力方法で一番簡単な方法があれば教えてください。たとえば一つのセルに3.1×2.5または3.1*2.5入力し答えを返す方法です。できれば(6.80+5.90)×2.60と入力し隣のセルに答えを返してくれるよう加減乗除できるようにしたいのです。うまく言えないのですがよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • lark_0925
  • ベストアンサー率63% (37/58)
回答No.1

Excel4マクロを使う方法もありますが、操作性が良くないので、 VBAでユーザー定義関数を作るのが簡単そうですが・・・。 標準モジュールに Function eval(myvalue As Variant) As Variant   eval = Application.Evaluate(CStr(myvalue)) End Function として、 セルA1に (6.80+5.90)*2.60 と指定してください。 33.02 という結果を返します。 (6.80+5.90)×2.60 この数式でも同じ結果を返します。 試してみて下さい セルB1には、 =eval(a1) と指定してください

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

既に言っておられますが (1)Excel4.0利用法 (2)Evaluate利用 があります。少し深く知りたければ、上記の語句でWEB照会のこと。 (3)普通のVBA法で(Formula利用法) 問題のシートがSheet1とし、式を入れるのをB列限定とし、C列に答えを出します。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 2 Then Exit Sub 'B列限定 x = "=" & Target 'MsgBox x Target.Offset(0, 1).Formula = x End Sub ーー 例データ (1+2)*4 12 2*3+4*3 18 2/4+3*3 9.5 ーーー こういう質問はキワ物で、できるだけエクセルの数式を正面から使うべきです。初心者はこういう発想に行きがちです(時どきこの型の質問が載る)が。 もともと括弧と加減乗除に限っても、表面から取り組むと、逆ポーランド記法とかコンパイラの勉強させられて、大學情報科初年級の難しい課題です。エクセルの問題ではありません。

aikanrun
質問者

お礼

お礼遅くなりました。ありがとうございました。

  • lark_0925
  • ベストアンサー率63% (37/58)
回答No.2

Excel4マクロを使う方法もありますが、操作性が良くないので、 VBAでユーザー定義関数を作るのが簡単そうですが・・・。 標準モジュールに Function eval(myvalue As Variant) As Variant   eval = Application.Evaluate(CStr(myvalue)) End Function として、 セルA1に (6.80+5.90)*2.60 と指定してください。 セルB1には、 =eval(a1) と指定してください 33.02 という結果を返します。 (6.80+5.90)×2.60 この数式でも同じ結果を返します。 試してみて下さい

aikanrun
質問者

お礼

お礼遅くなりました。ありがとうございました。

関連するQ&A

  • Excelで入力するセルに式は入る?

    入力するセルに消費税の掛算をする事は可能でしょうか? 例えば1000と入力したセルが、1050という具合に なるように、式を埋める事は可能でしょうか? ※となりのセルではありません。 可能か不可能か教えて頂ければ幸いです。 又、可能なら簡単に方法もお願い致します。

  • 数値入力後、隣のセルに結果をマクロで表示したい

    エクセルのある列に数値を入力すると、自動的に隣の列に結果(消費税の金額や、対応する勘定科目など)が表示されるようにしたいです。 例えば、B列、あるいは、1行目をタイトル行にすれば、B2より下のB列に数値を入力していくと、隣のC列に結果が表示されます。 もう少し具体的に例示すると、B2セルに100と入力すると、C2セルに、消費税の金額、8が表示されます。 あるいは、B2に100と入力すると、C3に100に対応する勘定科目が表示されます。 もちろん、C2に=B2*8%という式を入力していてもいいのですが、その場合、事前に式を入力する必要があります。 しかし、B列の何行目まで入力するのかわからないので、事前に式を入力せずに、このようなマクロを記入したいと思います。 また、勘定科目名が表示される場合も、通常であれば、vlookup式をC列に代入し、隣のシートの勘定科目とコードの対応表を参照させますが、同様の理由で、式を事前に入力しないようにしたいと思っています。 イベントプロシージャーでするようですが、どのような変数を使って表示するのかよくわかりません。 宜しくお願いします。

  • エクセルで、漢字を入力すると隣のセルに自動でフリガナが出るようにするには?

    エクセルで、あるセルに漢字を入力すると、隣のセルに自動でフリガナが出るようにしたいのですが、何か良い方法はないでしょうか?

  • エクセルで隣のセルに○をつける

    エクセルのシートにおいて, 一つのセルに一つの数値(0~80)を入力します. 一列に複数の数値を入れたとき, 10~20の数値ならその隣のセルに○(丸) 最高値ならその隣のセルに◎(二重丸) をつける方法はありますか? よろしくお願いします.

  • 結果を隣のセルに表示させる方法

    条件式はなんでも良いのですが 結果を条件式入力以外のセル、指定したセルなどに表示する方法はありますか? 例えば =IF(A1>0,"○","×")のような条件式をA2に入力したとして結果はA3セルに表示する。 宜しくお願い致します。

  • エクセルで式を削除して計算結果のみを残す方法は?

    エクセルのマクロで、セルに入力されている式を削除して結果のみを残したいのですが、この方法が良くわかりません。 どなたか教えて頂けないでしょうか? よろしくお願いします。 例. セルの内容が「=SUM(A1:A2)」(結果が3だとする) ↓ セルの内容を「3」にしたい

  • エクセルのセルに入力する式を教えて下さい。○△×

    長文ですみません。 恥ずかしながらエクセルはあまり使ったことがなく、色々調べて、「これかな?」と思う数式等を入力したのですが、全てエラーになってしまい全然分からないので、出来れば具体的に教えていただけるとありがたいです。 (1)1つのシートの中のバラバラの3つのセル(Bx、Dx、Gx)に演算式を入力してあり数値が表示されています。 (2)3つのセル(Bx、Dx、Gx)の数値を比較して、1番大きい数値のセルを選び出し、たとえば、Bxが一番大きい数値の場合は「○」を、Dxが一番大きい数値の場合は「△」を、Gxが一番大きい数値の場合は「×」を、ある一つのセル(たとえばAx)に表示させるには、Axにどのような式を入力すれば良いでしょうか? オートSUMぐらいしか使ったことがないので、全くの初心者にも分かるような言葉で教えてください。 よろしくお願いします。

  • セルの書式設定のユーザー定義でセルに式を入力したい

    エクセル2007を使っています。 「セルの書式設定」の「ユーザー定義」で、 例えば「赤」とセルに入力しただけで、セルに「赤色」と表示される方法はわかるのですが(@"色")、 A1セルに「赤」と入力されているとして、 隣のB1セルを上記のようにセルの書式設定で「@"色"」と設定して、 B1セルに「=A1」と入力しても 「=A1色」と表示されてしまいます。 これを「赤色」とB1セルに表示させたいのですが、どうしたらいいのでしょうか? つまり、セルには式を入力して、尚且つ書式設定もしたいと思っています。 宜しくお願いします。

  • エクセルで2と入力したら次のセルは0.75と表示させるには

    エクセルであるセルに「1」と入力したらその隣のセルは「1」、「2」と入力したらその隣のセルは「0.75」、「3」と入力したら・・・・というように あるセルに入力する数字が1~5で、それによって、次のセルに表示される数字が決まってくる、というようなことはできないのでしょうか? わかりにくい質問ですみません。 仕事が進まなくて悩み中です。 誰か教えてください~。

  • エクセルの特定のセルに式が表示される

    エクセルで表を作ったところ、一つだけ式が表示されるセルが出現しました。関数はSUMしか使っていません。直前までは計算結果の数値が出ていました。しかし、セルをクリックしたところ(計算式の範囲を確認するためクリックしました)、式が表示されてしまいました。式はあっています。なぜ、式がそのセルに表示されているのかわかりません。次行のセルをコピーすると、答えの数値が現れ、元に戻りました。原因はなんでしょうか?

専門家に質問してみよう