• ベストアンサー
  • すぐに回答を!

エクセルで、シートごとの計算結果を別の表にする方法

同じ形式のデータシートが100枚ぐらいあり、このシート上で計算をした結果が10個ほどあります。この結果の一覧表(100×10)を作り、グラフを作成する必要があります。 このとき、一覧表の先頭のセルにシート名とセルの番号を計算式としていれて、つまんで引っ張り100までカウントアップして計算式を入力させたいのですが、うまくいきません。いちいち入力するのは邪魔くさいので、いい方法があれば教えてください。 VBAはよく分かりませんが、解決するならやってみますのでよろしくお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数782
  • ありがとう数5

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

  • ベストアンサー
  • 回答No.3
  • ARC
  • ベストアンサー率46% (643/1383)

>B1=INDIRECT("'Data" & $A1 & "'!A$1") >C1=INDIRECT("'Data" & $A1 & "'!B$1") >と入力して横に引っ張ってみましたがカウントアップしてくれません。 B1の中身を変えるだけでは、横に引っ張る事は出来ません(「"'!A$1"」の部分が文字列として扱われているため)。 ちょっと工夫が必要ですね。 以下のようにしてみてください。 1:B1にA、C1にB、D1にC…と入力 2:A2に1、A3に2、A4に3…と入力 3:B2に =INDIRECT("'Data" & $A2 & "'!" & B$1 & "1") と入力 4:B2のセルを適当な範囲に複写 A列で、取得するシートの番号を指定、1行目で、取得する列を指定です。 取得する行は、INDIRECT… の末尾の『"1")』の部分ですね。 少しInDirect()の括弧の中身を説明してみますね。 Indirect関数は、セルのアドレスを文字列として、括弧の中に書くと、そのアドレスのセルの内容を返します。 =Indirect("A1") と書けば、A1のセルの中身を返しますし、 =Indirect("SHEET2!A1") と書けば、「SHEET2」と言う名前のシートのA1のセルの値を返します。 シート名!セルアドレス は、他のいろんな場所でも使えるんですが、シートの名称にスペースが含まれる場合は、シート名をシングルコーテーションで囲んで、「'Data Sheet'!A1」のように記述する必要があります。 $マークについては、ヘルプの「セルとセル範囲の参照について」の中の「相対参照と絶対参照」に載っています。 イルカ君か冴子先生に「セルとセル範囲の参照について」と聞いてみてください。 (簡単にいうと、「引っ張るときにどのような動作をするか」です。 「A1」のAの前に$が付いてると($A1)、横に引っ張ってもAの部分は変化しません。 同様に1の前に$があると(A$1)、縦に引っ張っても1の部分が変化しません。 $A$1だと、縦に引っ張っても横に引っ張っても、変化なしです。) あと、式中の「&」は文字列を結合する演算子です。 1 + 1 = 2 と同様、 "A" & "1" = "A1" になります。 "SHEET" & A1 なら、SHEET という文字列と、A1のセルの中身を結合したものになります。(A1 に 1が入力されていれば、SHEET1 という文字列になる。) 一度、=INDIRECT("'Data" & $A2 & "'!" & B$1 & "1") のかわりに、 = "'Data" & $A2 & "'!" & B$1 & "1" として、試してみてください。 連続するシートの簡単な名づけ方は、聞いた事がありません。(多分無いと思います。) マクロを使えば、自動処理で名付けることが出来ると思うんですが、それだと「簡単」とは言えませんね(^^:。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ARC先生ありがとうございました! ばっちりですぅ!!  大変詳しい説明でよく分かりました。(シート名!セルアドレス)のことも理解でき、これからもっと活用できそうです。 あとA、B、C...は連続コピーできないんですね?これができたら言うことなしですが... ちなみに冴子先生とはちょっと、ウマが合わないようです。 またよろしくお願いします。 邪魔くさがりのbantamでした。

関連するQ&A

  • EXCELでシートのデータを別のシートに反映させていく方法はありますか??

    データの一覧表を作って ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・  大分類 小分類  月日  内容 A B C D E… 1     2 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ と入力済みなのですが、別のシートにこのデータを使って、大分類ごとのシートを作り、また、そのシート内で月ごとにデータを管理したいのですができますでしょうか??下記のような一覧表を作り印刷できるようにしたいんです。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 大分類 小分類 月日 内容 A B C D E…   ・   ・   ・ 合 計 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ よろしくお願いします。

  • EXCELで全てのシートを参照した一覧表の作成方法

    色々な情報を入力したSheetが50枚あり、 あまり手間のかからない方法で、 この50枚の中で、ある特定のセルの情報だけを参照させて一覧にした表を作成したいと思っています。 具体的には、Sheet名が”一覧表”というシートを作成し、 この”一覧表”シートの B1 セルには Sheet1 の A1 セルの値を表示させ、 次いで、同”一覧表”シートの B2 セルには Sheet2 の A1 セルの値を、 次いで、同”一覧表”シートの B3 セルには Sheet3 の A1 セルの値を、                       ・                       ・                       ・ 最後に、同”一覧表”シートの B50 セルには Sheet50 の A1 セルの値を、 といった形で、一覧表を作成したいです。 ご教示いただけますでしょうか。 よろしくお願いいたします。

  • エクセルのシート名の表示

    シートが100枚以上あるエクセルのブック「顧客台帳」があります。 他に一覧表というシートがあります。 シート名のタブはせいぜい2~30枚程度しか一度に見られず、見えないものはスクロールするしかないのですが、一覧表のシートのタブだけは常に見えるようにしたいのです。可能でしょうか。

その他の回答 (3)

  • 回答No.4
  • ARC
  • ベストアンサー率46% (643/1383)

>あとA、B、C...は連続コピーできないんですね?これができたら言うことなしですが... あれ?、手元の機械では出来ますが… っと、これは一度「ユーザー設定リスト」で設定しないといけないみたいですね。 [ツール]-[オプション]-[ユーザー設定リスト]で、設定してやれば、次から連続コピーできるようになります。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございました。 ちょっと戸惑いましたけどできました。前から[ユーザー設定リスト]はなんだろうと思ってました。 でも、ここで打ち間違えたら、やっぱりだめですよね。 さぁこれで仕事がはかどりそう!です。

  • 回答No.2
  • ARC
  • ベストアンサー率46% (643/1383)

シートの名前が[Data1]~[Data100]で、各シートのZ1のセルに計算結果が入っているとします。 1:集計を行うシートのA1のセルに1を入力 2:同様に、A2に2,A3に3…A100に100と入力(連続データを作成) 3:B1に =INDIRECT("'Data" & $A1 & "'!Z1") と入力 4:B1のセルをコピーし、B1:B100の範囲に貼り付け としてみてください。 3:のInDirect関数の中身を、適当に替えてやれば、他のセルの中身も取り出すことが出来ます。 この説明で分かりにくければ、補足をお願いします。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございました!!!何とかできそうです!!! あと少し欲を言わしてもらうと(^^;) 各シートの計算結果のセルZ1が、A1~Z1の場合の、B1への入力式を教えていただきたいと思います。 B1=INDIRECT("'Data" & $A1 & "'!A$1") C1=INDIRECT("'Data" & $A1 & "'!B$1") と入力して横に引っ張ってみましたがカウントアップしてくれません。 (たぶん基本的に分かってないと思うんですがとにかくやってみました) B1のセルの入力式だけで横に引っ張って、下に引っ張ると表が出来上がるようにしたいんですが....(^^; できるんでしょうか? さらに、連続シート名のつけ方の早い方法とかあるんでしょうか? さらにさらに、(!)とか(’)とか($)とかの使い方はHELPで参照できるんでしょうか? たくさん聞いてすみませんが、よろしくお願いします。

  • 回答No.1

エクセルにはいわゆる普通のコピー&ペーストの操作のほかに、リンク貼り付けというのができます。 シート1のA1~C4の内容をそのままシート2の任意の場所にコピーするんですが、このとき単純なコピーではなくシート1を参照するようにリンク状態でコピーされます。 当然シート1が変化したら、それに伴ってコピー先のシート2も変化します。 貼り付けの時に「形式を選択して貼り付け」を選ぶとダイアログが出てきて「リンク貼り付け」ボタンがあります。 「OK」ボタンだとそのまま貼り付けと鳴ってしまいますので「リンク貼り付け」を選んでください。 多少面倒ですが、一気には作れそうも無いので・・・

共感・感謝の気持ちを伝えよう!

関連する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

  • EXCEL VBAで複数シート内のセルをまとめて表を作成

    EXCELマクロ(VBA)を教えてください。 なやんでいることは、 目的:シート1からシート5までの表の値をシート6に一覧表を作成させる。 ・シート1からシート5まで シート内の表からセル値をコピーしてマクロで(ボタンか何かで)シート6にシート1からシート5のセル値を貼り付けていくような動作をさせられるようなプログラムをつくりたいです。    表(一覧)を作成させたいので わかる方プログラミングを教えてください。よろしくお願いします。

  • Excelのブック内のシート名を順番に表示させる

    類似の質問を探していろいろ試してみたのですがどうしてもうまくいかなくて・・・教えてください。 ブック内にシートが複数枚あるとします。 最初の1枚目のシートは一覧表となっておりそのシートのセルA1から順にA2、A3…と下に表が続いています。 セルA1には2枚目のシート名が自動的に入力される セルA2には3枚目のシート名が自動的に入力される というようにブック内にあるシート名を順番に セルに表示入力できる方法はありますか? ちなみにVBAはほとんど触ったことはありません。 よろしくお願いします。

  • エクセル:データをシートに飛ばす方法

    データが入力された一覧表から、ある条件にあてはまるデータだけ、別のシート(または別のブック)に飛ばしたいのですが、どうすればいいでしょうか? また飛ばした方のシートでも、元の一覧表と同じフォーマットの一覧表に降順に飛ぶように設定したいのですが可能でしょうか?

  • エクセルの計算式の入力について

    エクセルの知識が殆ど無いものです。 数字の入力で誤って計算式を消してしまいました。 シート1に金額一覧表があり、シート2以降にそれぞれ金額が反映されるように なっています。数式バーには『=月払!C…』とあり、…にシート1の金額のセル位置 の数字が入ります。シート2とシート5の計算式を元に戻すには どうしたらよいのでしょうか?直接数式バーに手打ちで入力してもよいのでしょうか? 教えてください、よろしくお願い致します。

  • エクセルでリストに対応するデータを別シートの表

    エクセルでリストに対応するデータを別シートの表に参照したいです。 「表シート」のB2にリストを作って、 (リストは「一覧表シート」のA,B,Cが入力されているセルを参照しています。) Aを選択すると101の下の段(B11)に、 「一覧表シート」のAの列101の111が入力されるようにしたいです。 Bを選択すると222、Cを選択すると333が入力できるようにしたいです。 この「表シート」の表がややこしいのですが、 建物の部屋番号に対応しているため、3階2階1階という順になっています。 関数で対応できるものでしょうか? 分かりにくい表ですが、よろしくお願いします。

  • エクセルで作成した表から明細を作成したいのですが何かいい方法はないしょうか

    縦軸に店舗名、横軸に日付をとり、セルにそれぞれの店舗のその日付毎の請求書番号と請求金額(別のセルです)を入力しています。 一ヶ月の表から店舗毎別シートで縦軸に日付をとり、横軸に請求書番号と請求金額をとって一覧表を作りたい訳です。 その時日付は請求書が無い日は詰めて一覧表にしたいのです。 文字列検索関数を使ったらうまくいくんじゃないかと考えたのですが どうもうまい具合にいきません。 ご存知の方がおられたら是非教えてください。 下図のようなものを作りたいのです。     A     B   C       請求書No.  金額 1   2/2   3422    32,989 2   2/7   3567    12,333 3   2/10   3877    34,234 4  2/14   3889    22,567 5  2/18   3922    56,444 

  • 別々のエクセルシートから、一覧表を作るには?

    マイクロソフトエクセルで、複数のシートに入力してあるデータ(名前、年齢、職業など)を1つのシートにまとめて、一覧表を作成するには、どのようにすればいいのでしょうか?

  • Excel、複数シート同セルを別シートで列に表示するいい方法教えてください

    Excelで、複数シートの同セルに数値又は、文字が入力されているものを別シートの列に表示(反映)させるいい方法を教えてください。 ・sheet1は、一覧表(sheet名):纏めるsheet ・sheet2~は、各物件名(sheet名) となっています。 例) sheet2~sheet4のA1セルに数値、B2に文字が入力されていたとします。 それを、sheet1(一覧表)のB2、B3、B4とC2、C3、C4にそれぞれ表示させたい。以下参照。    A    B   C 1 物件名  件数 有・無 2 北海道  10   有 3 青森   15   無 4 岩手   20   無 ・sheet1(一覧表)には項目、物件名は入力済です。  データのみ反映させたい。 ・sheetは、左から順番に並んでます。  (北海道、青森、岩手の順に) ・集計するわけではないので、最終行には合計とかはいりません。 ------------------------------------------------------------- また、できるかどうかわかりませんが、 sheet1(一覧表)を修正したらそれぞれの物件(sheet2~)も修正される。というような、画期的なこともできるのでしょうか? こちらは、上記が出来た上でのことなので、出来なければ出来ないで構いません。 どうぞ、よろしくお願いいたします。

  • エクセルで表の何番目に同じデータがあるか

    セルB5~B15のセルには上から「みかん」「りんご」「バナナ」・・・と品名の一覧表がすでに入力されています。 エクセルでセルA1「りんご」と入力すると、セルA2に「2」(B列のデータの上から2番目)を表示させるにはどのような方法があるのでしょうか? 実際のデータはもっと多いのでIF関数のネストでは限界があるようで困っています。 また、入力するのも品名の一覧も数字ではなく文字列データのままで処理したいのです。 ちなみにEXCEL2003です。よろしくお願いします。