• ベストアンサー

複数のワークシートの共通のセル

初心者です。教えてください エクセル(Office 2003)で、50枚のワークシートがあります。 これらのワークシートのすべてから、共通のセル(たとえばA3)の数値を抽出して、別のワークシートに一覧を作ることというのは可能なのでしょうか。 よろしくご教授ください。

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

  • ベストアンサー
  • Ocafe
  • ベストアンサー率50% (1/2)
回答No.2

いわゆる”串刺し計算”を使ったらいかがでしょうか。 例:A3シート1~50までの合計を求める場合は 1.結果を求めたいシート(51)のA3セルを選択 2.SUM関数(Σ)を選択。A3セルは=SUM()となっていることを確認 3.シート1の見出しをクリック 4.shiftキーを押しながらシート1~シート50までの見出しを選択 5.enterキーを押す 6.シート51に戻すとA3セルの数字は合計の数字になっているはず

airJ
質問者

お礼

ありがとうございます。この方法でOKです! こんな方法があるとは知りませんでした。 大変参考になりました。

その他の回答 (2)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

   A    B 1  A3 2 Sheet1  =INDIRECT(A2&"!"&$A$1) 3 Sheet2 4 Sheet3 5 Sheet4 :  : :  : 50 Sheet49 51 Sheet50 シート名が上のように、Sheet1、Sheet2・・・となっているとします。 A1セルに、一覧を作るセル座標を入力しておきます。(例えば、A3) A2セルに、『Sheet1』と入力し、A2セルのフィルハンドル(セルの右下の小さいな■)を下方向にドラッグしてSheet50までの連番を発生させます。 B2セルに、『=INDIRECT(A2&"!"&$A$1)』と入力し、下方向にコピーします。 これで一覧ができたはずです。A1の文字列を変更すると、別のセルの一覧に変わります。 シート名が連番等になっていなければ、一覧を作成するシートで下のマクロを実行すれば、シートの一覧表を作ります。(面倒でなければ、手入力でシート名の一覧を作ってください。) その一覧を使って、上記の方法で指定セルの一覧を作ってください。 なお、シートはワークシートのみを対象にしています。 Sub SheetName()   Dim ws As Worksheet   Dim cnt As Integer   For Each ws In Worksheets     Range("C1").Offset(cnt, 0) = ws.Name     cnt = cnt + 1   Next End Sub ツール→マクロ→Visual Basic Editor でVBE画面に移り、挿入→標準モジュール で標準モジュールを挿入します。出てきたコードウインドウに上記マクロをコピーして貼り付けます。

airJ
質問者

お礼

ありがとうございます。 すごいです! これは勉強になります。どうもありがとうございます。 この方法もスマートでいいですね!

  • rin01
  • ベストアンサー率43% (33/76)
回答No.1

こんばんは~♪ 回答ではないんですが~。。。 50枚のシート名は、どんな風でしょうか? Sheet1 Sheet2・・・ 1月 2月・・・・ の様に連続していますか? それとも、規則性の無いシート名でしょうか? それから、 >別のワークシートに一覧を作る とは、どんな一覧表でしょうか? 。。。Ms.Rin~♪♪

airJ
質問者

お礼

ありがとうございます。

airJ
質問者

補足

ありがとうございます。 Sheet1から50までの連番です。 各ワークシートのA50の値が ずらっと列に並んだものなどを想定しています。

関連するQ&A