• ベストアンサー

【エクセル】シート一括計算について

AとB2つのファイルがあり、それぞれに同じ形式で数値が入力されています。 もう1つ同じ形式のファイルCを作り、各セル・シートごとにA+Bの数値をCに表示したいです。 ただし、100シート近くあるため、1シートずつ計算式を設定していくと 膨大な時間がかかるので、作業グループで処理したいと思いましたが、 作業グループではシートまでは自動選択できませんでした。 効率よく計算する方法はありませんでしょうか。 バージョンは2010です。 どうぞよろしくお願いいたします。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

以下の様な手順でいかがでしょう。 操作はExcel2003で書いていますが、大きくは違わないはずです。 1.ブックA、ブックB、ブックCを開いておきます。 2.ブックAの全シートを選択して、[Ctrl]+[A]で全選択してコピー。 3.ブックCの先頭シートのA1を選択して右クリックメニューから「形式を選択して貼り付け」で、貼り付け:値 で、<OK> 4.次にブックBを全シートを選択して、[Ctrl]+[A]で全選択してコピー。 5.ブックCの先頭シートのA1を選択して右クリックメニューから「形式を選択して貼り付け」で、貼り付け:値、演算:加算 で、<OK>

harukanasanon
質問者

お礼

形式を選択して貼り付けは盲点でした! ブックAをコピーして、ブックBを加算で貼り付けたら一発でした! ありがとうございました。

その他の回答 (2)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

訂正と補足です。 集計用ブックの各シートのK1セルに入力する数式を提示していませんでした。 シート名を取得する関数は以下のようになります。 =RIGHT(CELL("filename",K1),LEN(CELL("filename",K1))-FIND("]",CELL("filename",K1))) ただし、集計用ブックは名前を付けて保存している必要があります。 また、ブック名によっては、シート名部分までを「’」で囲まないと正しく表示できない場合もあります。 実際に他ブックのセルを参照する数式を入力してみて、どのような数式になるか調べて、適宜INDIRECT関数の数式を訂正してみてください。

harukanasanon
質問者

お礼

ありがとうございました。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

例えば、ブックCの各シートの名前がブックAとBのシート名と同じで、同じ位置のセルの集計をしたいなら以下のような数式で表示できます。 まずブックCを作業グループにして、空白セル(例えばK1セル)に以下の数式を入力します同じ数式を入力して、各シートのシート名を取得しておきます。 次に、作業グループで集計セルに以下の式を入力して、必要範囲をオートフィルコピーします(dpのシートのどのセルにも同じ数式で対応できます)。 =INDIRECT("[ブックA.xls]"&$K$1&"!"&ADDRESS(ROW(),COLUMN()))+INDIRECT("[ブックB.xls]"&$K$1&"!"&ADDRESS(ROW(),COLUMN())) ただし、INDIRECT関数は、参照するブックAとブックBを両方開いておかないと計算できませんので注意してください。

harukanasanon
質問者

お礼

今回はブック毎にシート名が異なるので、この方法は使えませんが、非常に参考になります。 ありがとうございました。

関連するQ&A

  • Excel 計算式を別シートで計算表示させる

    所定のSheetにある数値を別SheetにてVLOOKUP等で数値表示させる事はできます。 Sheet1のセルにある計算式をSheet2のセルより数値ではなくSheet1計算式を使って計算して数値表示させたい。 よろしくお願いします。 Sheet1 A B C D 2 3 5 10 D1に=A1+B1+C1の計算式 Sheet1 A B C D 1 2 5 8 D1にSheet1=A1+B1+C1の計算式を使って表示

  • エクセルでファイル名やシート名をセルに入力して計算式に反映させたい。

    100のシートが存在するデータ専用のファイルが10個あります。 そしてそれらをリンクしながら計算する専用ファイルがあります。 ='C:\data\[001.xls]001 (17)'!A1*B1*C1+D1 というような感じで何千もの計算式がそのファイルにはあるんですが、各ファイルの各シート毎に計算をしなければなりません。 ファイル用セルに002、シート用セルに003と打てば ='C:\data\[002.xls]003 (17)'!A1*B1*C1+D1 というような感じですべての計算式が変更になるなんてことは不可能でしょうか? また不可能でしたらこのように膨大な量のデータを扱う場合のコツといいますか効率がいい方法があったら是非教えてください。 どうか、どうかよろしくお願いします。

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

    エクセル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の計算式内の文字列の一括置換は出来ますか

     Excelで、計算式の命令内の文字列を置換する方法はあるでしょうか。例えば、あるワークシートのセルで別のファイルやワークシートのセルを参照して計算している時、ほとんど同じ計算式で参照先だけを変えたい場合です。計算結果のワークシートのA列で、  A1=sum('G:\北海道'!A1:A100)  A2=sum('G:\北海道'!B1:B100)  A3=sum('G:\北海道'!C1:C100)・・・ となっているとします。つまり、北海道.xlsというシートの1から100までの列範囲の和を計算しているとして、B列には同様の青森県.xlsからの同じセル範囲の同じ計算、C列には岩手県.xlsからの同じ計算、D列には・・・というように、計算式が全く同様で、参照元のファイル名だけを変えたい場合です。  もう一つ、類似のものとして、計算結果のワークシートで、  A2=sum('G:\北海道'!B1:B100)  A3=sum('G:\北海道'!C1:C100)  A4=sum('G:\北海道'!D1:D100)・・・・ というように、計算式内の行や列を表す記号や数値を置換することは可能でしょうか。  同じような作業は出来るだけ簡単な操作でできる、というのが良いソフトのイメージなのですが、私が現在知る範囲では1つ1つ式を書き換えています。特にリンク貼り付けでやると、計算結果のワークシートでうまくコピーができません(上記では、北海道をB1で青森県に変えておいてそれをB2以下にコピーすると上手く行かない)。  宜しくお願い致します。

  • エクセルでの一括計算方法がありましたら教えてください

    エクセルでの一括計算方法がありましたら教えてください A2~A60の1列に数値が入っています。 B2~B60の1列にも数値が入っています。     A2について、「A2+B2、A2+B3、・・・・、A2+B60」と計算し、     結果をCの一列C2、C3、・・・・、C60に表示     A3についても同様に「A3+B2、A3+B3、・・・・、A3+B60」と計算し、     結果をDの一列D2、D3、・・・・、D60に表示 以下同様にA60まで行いたいのですが、簡単に計算できる方法はあるでしょうか? セルごとに関数を入れる以外に方法があれば と思って質問しました。 ご存知の方がいらっしゃいましたら ご指導 よろしくお願いします。

  • Excelの計算

    あるセルに「数値の入力があった時」だけ隣のセルで、上のセルの数値との計算を行わせたいのですが、どのように記述したらよいのでしょうか? <事例> 「A2」のセルか「B2」のセルのいずれかに数値の入力があったら、「C1+A1-B2」の計算結果を「C2」に出力する。 初心者の質問ですみません。

  • エクセル 計算式も入っていないのに 別シートの同一セルに連動 入力されてしまう

    WIN XP SP2 office2003 です。 エクセル計算式の直接入力 VBA(一切使用せず) 条件付書式 以下の状況は、以上での見落とし等々ではありません。 状況 1ファイル10シート以上に渡るかなり重たいもので 人員名簿を作成しました。 最初のシートを皮切りに、VBAを使わず関数や式のみを駆使し ソート等々を行い様々な表を作るものです。 既に完成し1年以上も使用しております。 その中で、あるリストを自動生成しており 該当者を抜き出し  1人目~ 30人目  シートA 31人目~ 60人目  シートB 61人目~ 90人目  シートC 91人目~120人目  シートD というようにリストの各ページを 1シートずつ分けております。 その中で、数値を入力するだけのセル 例えばシートCのセルJ23に「5000」といれると A・B・DのシートのJ23にも勝手に「5000」が 入ってしまい、またA・B・C・DのどこかのJ23で 削除すると他の3シートのJ23も全部削除される。 といったことが、時折り発生します。 最初に書いたとおり、計算式等々はそれらのセルに一切 ありません。 なにより!! とりあえずは完成したエクセルファイルですので 式等々は変更は加えていませんし。 今の今まで、正常に動いていたものが突然そのように バグり出すのです。 一度、例えばJ23にバグが発生すると、その他のセルにも 同様のことが発生しだします。 シートAのJ24は空白だったのいn シートBのJ24に何かを入れてしまった瞬間 A・C・Dにもそれが及び、もう数値を削除しても何をしても それがA・B・C・Dに同じ値を示してしまいづおしようもなく なるのです。 バグ後 触っていないセルは、他シートが全部同じ値になる ということは起こりません。 触ったとたんに全部に影響します。 保存して一端終了しても、PC再起動しても直りません。 もし、かろうじてバグ前の状態から保存をしていなければ キャンセルして、全てをやり直せば戻ります。 あやまって、計算式を削除したどうのといった単純なミスは 絶対にありません。 とにかく突然起こります。 いったいどういう状態なのでしょうか? 非常に困り果てています。 半年に1回くらい発生します。 バグその際に、特殊な数値や文字など決して入力しているわけ ではありません。 再計算途中に何かいらぬことをしたということもありません。 本当に突然バグります。 ちなみにファイルサイズはバカでかく5M弱です。 再計算に1回10~15秒ほど掛かります。

  • EXCELの計算式に詳しい方お願いします

    EXCELの計算式で、一つのセルに式を入れて隣へドラッグして いくと式がコピーされますよね、そのことでお聞きしたいです。 例えばSheet1の表に、Sheet2上の数値を引っ張ってきたいとき、 Sheet1のセルA1に(=Sheet2!A1)を指定すると、横にドラッグすれば Sheet1のセルB1は(=Sheet2!B1)になるとおもいます。 でもそれを(=Sheet2!C1)にしたいのです。つまり引っ張る値を一つ 飛ばしにしていくということです。 これは一括でできるのでしょうか?伝わりにくかったらすみません。 初歩的なことだと思いますが、どなたかご存知の方お願いいたします。

  • エクセルで計算できない・・・

    初歩的な質問で申し訳ありませんが、困っておりますので教えて下さい。 エクセルで、計算式がフィルハンドルで効かなくなりました。 例えば、セルA1に「1」、セルA2に「2」、セルA3に「3」と入力し セルB1に「4」、セルB2に「5」、セルB3に「6」と入力します。 次にセルC1に「=SUM(A1:B1)」の計算式を入れると「5」と計算されますが、その後セルC1からセルC3までフィルハンドルを使うとセルC2、セルC3にも同じ計算がされて、セルC2「7」、セルC3「9」となるはずですが…セルC2、セルC3とも、セルC1と同じ「5」になってしまいます。 その場合も、セルC2には「=SUM(A2:B2)」、セルC3には「=SUM(A3:B3)」と、求めたい計算式は入っています。 今まで何ともなく使っていたエクセルのファイルがおかしいのです。 新規作成したエクセルファイルは何ともありません。 なぜこのような症状が出るのでしょう? 未熟者ですので解り易く教えていただけると助かります。 宜しくお願いいたします。

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

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

専門家に質問してみよう