• ベストアンサー

エクセルの合計方法

エクセルに関して質問です。 一つのセルに、例えば1 + 1という式が入ってしまっている場合、答を違うセルに出したいのですが、なにか方法はありますでしょうか? いちいち、今は1をBのセル、もう一つのセルをCのセルと入れないといけません。 SUMを使用しようとしても、一つのセルの中にあるので使用できません。 宜しくお願いします。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

No.3です。 補足の件について・・・ 前回の方法はVBAですが 「ユーザー定義関数」ですので、Excelに入っている関数以外に自分自身が使いやすい関数を作る! と考えてもらえば良いと思います。 (VBAをワークシート関数と同じような使い方ができるようにする) EvaluateメソッドはVBAで使用可能な関数となりますので、それを利用しただけです。 > 今後他のものにも応用できるのでしょうか? そのBookのみ有効なユーザー定義関数になります。 すなわち別Bookでは利用できませんので新しいブックでは同様の下準備が必要になります。 ※ 今回の質問に合わせた「ユーザー定義関数」ですので、その都度使いやすいユーザー定義関数を作るコトは可能です。m(_ _)m

suns
質問者

お礼

ありがとうございます!

その他の回答 (4)

回答No.4

>一つのセルに「1+1」という式が入っている場合・・・ セルB1に =VALUE(LEFT(A1,FIND("+",A1)-1))+VALUE(RIGHT(A1,LEN(A1)-FIND("+",A1))) の長ったらしい式を入れるという方法もあります。 ^^; 画像を添付しますので・・・。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんにちは! 横からお邪魔します。 No.1さんの二番煎じになりますが、 ユーザー定義関数を使用する方法です。 Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに ↓のコードをコピー&ペーストしてみてください。 Function 計算(セル As String) 'この行から 計算 = Evaluate(セル) End Function 'この行まで 次にExcel画面に戻ります。 仮にA列にデータがあり、B列に表示させるとします。 ※ A列セルの表示形式は「文字列」としておきます。 (万一 5/4 のような計算式がある場合、Excel的には5月4日というシリアル値として認識してしまうため) A1セル以降にデータがあるとすると、 B1セルを選択 → 数式バーの左にある「fx」をクリック → 「関数の分類」で「ユーザー定義」を選択この中に「計算」というものがありますので、それを選択した状態でOK 「関数の引数」ダイアログボックスが表示されますので、 A1セルを選択しOK これをフィルハンドルで下へコピーしてみてください。 ※ 空白セルや四則計算以外の文字列はエラーとなります。m(_ _)m

suns
質問者

補足

できました。ありがとうございます!!! すーーーごっく助かりました。 ただFunction 計算(セル As String) 'この行から 計算 = Evaluate(セル) End Function の式はVBAだと思いますが、 もし可能ならこの式がどういう意味なのか解説してもらっていいですか? 今後他のものにも応用できるのでしょうか? よろしくお願いします。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

>できませんでした。 再掲: >ご利用のエクセルのバージョンに応じた方法で「名前の定義」を開始 あなたがご利用のエクセルのバージョンが不明ですと指摘しているのですが、気が付かなかったようですね。 例えば添付図を参考に操作してください。 ご相談ではソフト名は元より、普段あなたがご利用のソフトのバージョンまで、キチンと明記して投稿する事を憶えて下さい。 #もっともこんな風に指摘すると、そんなうるさいことを言うならもういいですって、ぷいっと閉じ逃げして居なくなっちゃう方でしたね。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

手順: B1セルを選択する(必ず行う) ご利用のエクセルのバージョンに応じた方法で名前の定義を開始  名前 myFormula  参照範囲 =EVALUATE(!A1) と登録する 任意のセルに 1+1 と記入する その「右隣のセル」に =myformula と記入すると計算結果が現れる。

suns
質問者

補足

ご回答ありがとうございます。 しかしできませんでした。 >名前 myFormula 保存するときのファイル名ですか? >参照範囲 =EVALUATE(!A1) B1に入力すると、この関数は間違っていますとメッセージがでます。 宜しくお願いします。

関連するQ&A