• ベストアンサー

別のシートの計算式を利用したい

関数や数式が入力されているセルを別のシートで=Sheet1!A1のように指定 するとそのセルに表示されている計算結果が表示されますが そのセルに入力されている数式自体を他のシートで利用するにはどうしたらいいのでしょうか? 例 Sheet1のA1に=A2+A3とすると Sheet2のA1にも=A2+A3(Sheet2のA2+A3としたい)となり Sheet1のA1の式を変更するとSheet2のA1の式も連動して変更して欲しい

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

  • ベストアンサー
  • izmlz
  • ベストアンサー率55% (67/120)
回答No.1

Sheet1とSheet2の両者を選択してから数式を変更するのはいかがでしょうか。

参考URL:
http://www2.odn.ne.jp/excel/waza/sheet.html#SEC7
siinaka
質問者

お礼

そのやり方でやりたいことができそうです。 ありがとうございました。

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

#01さんがご紹介されている「作業グループ」を利用するのが良いと思います。それ以外の方法ならマクロを使うしかないでしょう。 質問文にあるとおりのマクロなら以下のようになります。このマクロを「Sheet1のシート名タブ右クリック」→「コードの表示」で開く画面に貼り付けてください。(VBE画面は閉じてしまって構いません) Sheet1に戻ってA1セルの式を変更すると、Sheet2にも同じ式が入ります Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then '変更されたセルがA1なら  Sheets("Sheet2").Range("A1").Formula = Target.Formula ’数式を転記する End If End Sub でも実際のシートはこんなに簡単ではないのではないでしょうか。 これはVBAを勉強してご自身で挑戦してみてください。 まあ対象となるセルが2つ、3つならIf~End Ifを対象セル数分だけコピーしてアドレスを変更すれば動きます。

siinaka
質問者

お礼

作業グループでやってみようと思います。 ありがとうございました。

関連するQ&A

  • VBA 別シートの計算表

    Excelについて。 シートAに、計算表があります。 セルa1に入力した値によって、いくつかのExcel関数を利用して、 セルb1に結果を出力しています。 いつも、手入力でセルa1に値を入力して結果を求めていますが。 今度、シートBに膨大な入力するための数値があるので、VBAで自動化できないかと考えています。 今回の質問は、VBAで記述する際に、シートAの入力セルa1に、シートBの入力値を1つずつ代入していき、結果のセルb1をシートBの入力値の隣に出力していこうと考えています。 シートAのa1に入力値を代入して、すぐに結果b1の値を結果出力セルに代入していいのでしょうか? 計算表(シートA)での計算を時間をおく必要があるのでしょうか?=一旦、他のセルを選択するなど。 よろしくお願いします。 ・計算表での計算時間は、1秒未満です。 ・計算表の計算過程もVBAで書けば済む話ですが、プログラミングには疎いので、計算表をそのまま利用したいと考えています。=入力の代入だけVBAで書いていきたいと思います。 ・その他、アドバイスなどいただければ幸いです。 よろしくお願いします。 Excel2010

  • セルに計算結果でなく、関数式が表示される

    エクセルの関数が入っているセルに、昨日から関数式自体が表示されるようになり、計算結果がでてきません。上部のバーにある「関数の引数」ウィザードボタンfxをクリックすると、ウィンドウには計算数値が表示されています。ちなみに関数は単純に別シートのセルを参照させて足し算するだけです。別なシートに、関数式をコピーしてみましたが、ひとつのセルはできても、次のセルに連動させようとすると(セル右下に表示される太十字をひっぱっる)また、結果でなく、関数式が表示されるようになってしまいます。どうしたら解決できるでしょうか?

  • エクセル 違うシートに計算式がある場合

    エクセル2000を使っています。 下記の計算をしたいのですが、方法を教えてください。 1.Sheet1 A1とB1に計算したい元の数値が記入されています。 例えば、A1=1 B1=2 2. Sheet2 のA1とB1に数値が入る事としてC1に計算結果が出るものとします。 3. Sheet1のC1にSheet2のC1の内容を表示したい。 4. Sheet1 A2、A3・・・・・、B2、B3・・・・・に入力した後で、C2、C3・・・・・・に Sheet2のC1で計算させた結果を自動的に入力したい。 別の言い方をすれば、Sheet2 のA1・B1が関数の入力するところにあたり Sheet2のC1が関数の出力(というか、計算結果)にあたります。 Sheet1からSheet2を関数のように使いたいのです。 Sheet1 ____ A_____B_______C 1___1_____2______3 2___2_____3______5 3___5_____8______13 4___9_____1______10 5___4_____5______ 9 Sheet2 ____A_____B_____C 1________________ =A1+B1 2_____________________ こんなイメージです。 Sheet2で計算の入力に対応するセルがA1・B1 計算結果が書いてあるのがC1 実際は、大きな表を参照しながら計算するので、色々計算した結果(途中計算は他のセルも使います)がC1に表されます。 以上、よろしくお願いします。

  • Excel シート間の連動を簡単にできませんか?

    こんばんは。 例えばですが Sheet1,Sheet2,Sheet3 というシートを作ったとします。 このときに, 4枚目のシートには,それぞれを一覧にして表示したいと思います。 どういうことかといいますと Sheet1~3はそれぞれ同じフォームです。 例えば番号がA1に1,2,3とそれぞれ入っていて A2に名前を・・・Aさん,Bさん,Cさんと書くとします。 このときに,4枚目のシート(仮に「一覧」というシート名にします)では A1に1,B1に2,C3に3 A2にAさん,B2にBさん,C2にCさんというように 各シートの同じ場所のデータを表示させたいのです。 ここで私が知っている方法としては 一覧シートのA1の部分で「=Sheet1!$A$1」などと入力する 又はシートをクリックする形で連動表示させる方法があります。 ただ,この方法ですと 連動する回数だけ関数を入れなければなりませんよね。 例えば今回の場合はそれぞれのシートごと(Sheet1)の情報が 縦列につながっているので ひとつのシートから1個連動させたらあとはコピーしていけば 順番に連動はされると思います。 ただ,この方法では,もし連動させたいセルが離れている場所の場合, ドラッグするだけでは全然違う情報が連動されています。 各シートから一覧シートに引っ張ってくるセルの場所は同じですが それが全部順番につながっているわけではありません。 結局,一覧シートでSheet1を上手にひとつずつクリックで連動させたあと, 連動させた範囲を選択して,右にドラッグすると 同じようにSheet1の連動になってしまいます。(セルの場所は良いのですが) なので,連動の式の「Sheet1!」の1の部分を2に変えることで とりあえずSheet2の連動に変化させている状態なのですが もっと簡単な方法はないのでしょうか。 連動してくるシート名自体をセル参照させることはできないのでしょうか。 やはり連動してくるシートの名前自体を式で指定することはできないのでしょうか。 大変分かりづらい説明で申し訳ございませんが 補足はしっかりさせていただきますので どうかよろしくお願いいたします。

  • 別シートで利用している関数を使って、関数の一部分だけを変更したいのです

    別シートで利用している関数を使って、関数の一部分だけを変更したいのですが、 どのようにすればできるのかわかりません。教えてください。 (イメージ) Sheet1 A1セル: 1 ←Aとする A2セル: 2 ←Bとする A3セル: 3 ←Cとする B1セル: =SUM(A1:A3) Sheet2 A1セル: 4 ←Dとする A2セル: 5 ←Eとする A3セル: 8 ←Fとする。 やりたいこと Sheet2_C1セルに、Sheet1_B1セル「 =SUM(A1:A3) 」 (意味:A+B+C)の関数をコピーして、その関数のA1(意味:A) 部分をSheet2_A1のDに変更したい。 ∴Sheet2_C1セルには、( =(D+B+C) )という計算式になり、結果である数値(9)を表示させたい。 (実際には、IF文でちょっとややこしいのですが、イメージはこんな感じです) 現象 (1)Sheet2_C1で「 =SUM( 」としてSheet1_B1をダブルクリック。 Sheet2_C1に、 「 =SUM(Sheet1!B1) 」と表示される。 こうなると、どうやって関数を変更することができるのでしょうか? 関数については、ほとんど皆無に等しい知識しかなく、やればやるほど混乱しています。 質問の説明が悪くて理解しづらいかもしれませんが、ご教示いただけると助かります。 よろしくお願いします。

  • EXELで任意のセルのみ数式表示したい

    計算式の入ったワークシートで、ある特定のセルのみ計算値ではなく、 入力された式を表示したいのですが、できるのでしょうか? A1に+3+5と入力したら、A1の表示は+3+5で、 B1にA1*3と入力したら24となるようにしたいのです。 (A1はあくまでも数値で8という値を持ったまま、表示のみを式にしたい) lOTUSではセル表示を「式」にすれば簡単にできたのですが、Excelでのやり方がわかりません。 ・ツール→オプション→数式では、ワークシートすべてが式になってしまいます。 ・数式表示関数もあるようですが、それだと表示セルが別になってしまいます。

  • 数式の計算結果により表示されたセルを数える関数を教えてください

    Excel2003です。 「=COUNTA(範囲)」で文字や数値、式などのデータが入力されているセルを数えることができますが 数式の計算結果により表示された文字や数値の入ったセル(数式の計算結果で空白のセルを数えない)を数える関数を教えてください  

  • あるシートのあるセルに文字列を入力したときに、別のシートの指定したセルにチェックをいれるには

    あるシートのセルに日付が入力(1/5など)されると、 別のシートの指定したセルに「-」から「○」がつくようにしたいのですが、 どのような関数を使用して、どんな数式になるのか分かりません。 どなたかご存知であれば教えてください。

  • VBAの計算式で値を検出し別シートに貼り付ける

    例でA.xls sheet1に添付のデータがありB.xls sheet1のB列に検索値がありC列に記載のとおりの計算式が入力されています。関数入力はC2セルにの計算式を入力しそれを元にオートフィルでC3以降入力しているが膨大な計算式になりExcelを開いたりするのに処理に時間がかかりすぎる為セルに計算式をいれるのではなくVBAで計算式を入力しオートフィルみたいに連続した計算の値のみを入力したいのですがコードが解る方宜しくお願いします。

  • 別シートのセル値を表示する方法

    どんな計算式(関数が)良いかわからずご教授ください 例)AシートのA1セルに計算式を設定してBシートのあるセル値を表示したい Bシートのあるセル値とは。。。 2行目(固定)にある一番右端にある値(ここでいえば◆。5、6列には入っていないので4列目となる) ◆がなければ3列目の×を表示したい。(可変) セル 1行目 1 2 3 4 5 6 2行目 ○△×◆ よろしくお願いします。

専門家に質問してみよう