• ベストアンサー

エクセルデータの集計

複数のエクセルファイルにあるデータ集計をしたいのですが、どなたか教えてください。 集計したいデータは、日次や週次の販売データで、各回違うエクセルファイルにあります(例 『日時売上060707』『日時売上060708』など)。 それぞれののシート≪各参照したいシート名は同一です≫の特定セル(A1など)の値を引っ張れればOKです。 ファイルを開いて関数をあてればできるのはわかるのですが、複数ファイルを選択して一気に計算してしまう方法はないでしょうか?

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

  • ベストアンサー
  • TTak
  • ベストアンサー率52% (206/389)
回答No.3

> コード(?)で設定できそうでしょうか? 複数のファイル(シート)のデータをフィールド名と順序を固定したまま、シートに展開させることはマクロで比較的簡単にできます。 縦の並べ変えは、キーがしっかりしているほど操作しやすいです(例えば営業所別集計なら営業所コードなどがあれが区分しやすい)。 キーが無ければ事業所名でオートフィルタをかけるか、ピボット集計を使うと良いでしょう。これらはEXCELの標準の機能ですので、当然、マクロで自動化もできます。

badjob
質問者

お礼

ありがとうございました。 頑張ってみます。

その他の回答 (2)

  • TK1961
  • ベストアンサー率35% (16/45)
回答No.2

 VBA(マクロ)を活用すれば出来ます。 ファイルの選択は、マクロ内からしか出来ませんが。 (エクスプローラ上で、対象のエクセルのブックを反転させて、それをそのまま実行させる、とかのやり方は不可能、ということ)

badjob
質問者

お礼

てがかりが掴めました。ありがとうございます。

  • TTak
  • ベストアンサー率52% (206/389)
回答No.1

マクロを使えば一気に開いて集計できます。ファイル名に規則性もあり、フォーマットも統一されているようなので、コードも簡単と思われます。 マクロを使わない場合は、集計用のファイルを作って、それにリンク込みの参照式と計算式を入れておき、ファイル名が異なるものを集計する場合は、[編集]>[リンクの編集]>[リンク元の変更]で地道にいくしかないかもしれません。

badjob
質問者

補足

フォーマットは統一されていて、横(列)の項目は売上、粗利、原価 など各シートで順序の変更はないです。 縦(行)の並びは、毎日・毎週の売上高の高い営業所順に並んでいたりしますので、集計後生成されるシートには、「同一名の各シートのA列を参照して同一名称の項目を集計して多い順に並べる」という風にしなければいけません。 コード(?)で設定できそうでしょうか?

関連するQ&A

  • エクセルのデータ集計について

    エクセルのデータ集計について質問です。現在windowsxp・office2007を使用しています。 エクセルの1ファイルに10シート、シート全てにデータが入力されており、このファイルが20弱あります。 ここから必要な数値を参照して、集計ファイルに集計しているのですが全て手作業で非効率的です。 何度か関数を使用して効率化を図ったのですが、どうも意図した結果は出ませんでした。(COUNTIF・COUNTIFS関数と、「統合」機能を使用しました) 調べてみたところ「マクロ」機能を使うと効率化できるかも、と思ったのですが、どのようなマクロを組めば良いのか、また、マクロ機能を使用しない場合どういった関数を使用すれば簡単にまとめられるのかご教授いただければと思います。

  • エクセル。複数のシートを使っての複雑な集計のやり方

    エクセル。複数のシートを使っての複雑な集計のやり方を教えていただきたいです。 縦は上から150期から155期まで、横は4月から3月まで(12カ月)でそれぞれ売り上げ額が入っています。 その下には各月の粗利益%が入っています。このような表が入った計10シートが同じファイル内にあることとします。 この10シートの集計をしたいのです。 私はよくわからなくって、すべてひとつひとつシートを選んではクリックしながらとても長い数式を入れていました。これでもできたのですが、 いろいろネットで調べたら、サム関数を使ってシートを一気に選択して(コントロールを押しながらシートを選択して)コピー出来る事を知りました。 それはなんとなくわかったのですが、売り上げの下にある、「粗利益〇%」の集計もしたいのですが、いまいち簡単なやり方がわかりません。 粗利益の合計を出すには→各月の売り上げ×その月の粗利益を、売り上げで割ると出るので、 それを地道に、たとえば155期4月の粗利益の集計を出す場合は、(1)シートの4月の売り上げ×粗利益+(2)シートの4月の売り上げ×粗利益+・・・(とこれが10シート続きます)これを、(1)シートの4月売上+(2)シートの4月売上+・・・で割るという数式になります。 10シートなので、相当長い数式になってしまいます。 これができたら他にひとつひとつコピーしていくというかんじでした。 上記のようなサム関数などでシートをまとめて集計するようなやり方ってないのでしょうか? 掛けたものを足してそれをまた割ってという場合は、簡単に集計するのは難しいのでしょうか? もっと簡単なやり方があったら教えていただきたいです。 わかりにくくすみませんが、わかる方、教えていただきたいです。

  • エクセルで別のシートのデータを5行おきに参照して集計したい

    エクセルで別のシートのデータを5行おきに参照して集計したい 別のシート(sheet1)のデータを5行おき(C5・C10・C15~)を参照して、別のシート(sheet2)の表(D1・E1・F1~)に順番に書き込たいのです。どなたか教えてください。宣しくお願い致します。 投稿日時 - 2006-02-21 13:11:45 通報する エクセルで別のシートのデータを5行おきに参照して集計したい 別のシート(sheet1)のデータを5行おき

  • エクセルでの集計について教えてください。

    こんにちは。 エクセルでの集計について教えてください。 下のように日毎の売上をエクセルで管理しています。 日付     売上金額  売上件数 2008/04/01  100000   100 2008/04/02  120000   200 2008/04/03  150000   180 2008/04/04  200000   130 2008/04/05  100000   100   : 2008/05/01  200000   100 2008/05/02  500000   650 2008/05/03  140000   200 このまま1年間分ひとつのシートで管理しようと思っていて、 別シートに月ごとの管理シートを作りたいと思っています。 月ごとの集計をする場合、合計するのはsumif関数を 使用してできたのですが、平均値がなかなか出せません。 出したいデータはその月のその日までの平均値です。 例えば上の5月3日までの売上が記入してある場合は、 5月全体の平均ではなく5月3日までの平均です。 averageif関数を使用すればすぐ出ると思うのですが、 エクセル2000なのでありません。 なにか良い方法があったら教えてください。 よろしくお願いします。

  • エクセルの集計について教えてください

    エクセルの集計について教えてください 添付のように、A列からは入力用 A列 日付(複数月にまたがる) B列 金額 C列 項目 E列からは集計用として E列 項目 F列からは月ごとに集計できるような表を作りました 集計用は、また別途ほかのシートで参照して使用する予定です A列には、今後も次々データを足していく予定です 月単位でデータを抽出したのち、項目ごとに合計を算出したいのですが、どの関数を組み合わせればいいのかわかりません。 エクセルはほぼ初心者です ピボットテーブルを使用してもよいのですが、ほかのシートで参照できる方法を教えてください よろしくお願いします

  • エクセル2007 集計について

    エクセルである月の集計を複数のセルの合計を別のシートに出したいのですが、ある月とは、2007/1とか年月を打ち込み その行のセルを別シートに集計させます。 そういったデータベース的な使い方は、エクセル2007ではできますか?

  • エクセル関数を使用したデータ集計について

    関数の質問です。 仕事でデータ集計をしており、 あるデータを他のシートに集計できる関数はありますでしょうか。 具体的には、 添付画像のような Aの表に、Bのデータを、Cのルールを 用いて、集計したいです。 Vlookupとsumifsを用いろうとしましたが、うまくいきませんでした。 B-2のデータをvlookにして、 sumifsの式のデータ範囲の中にいれましたが、うまくできません。 補足 B-2の列をvlookで他の列に集計せずに、関数のみでBのシートからいきなりAの集計表に集計したいです。 (理由は、数字をあちこちに貼り付けると、その照合をしなくてはならないため、あちこちには貼りたくないのです) 関数は一つのセルの中に複数組み合わせるのは、もちろん問題ありません。 よろしくお願いいたします。

  • エクセルで毎日来るデータの集計

    メールで名前に日付の付いたエクセルファイルが毎日入ってきます。 たとえば、XXX061127.xlsというファイル名です。 これを、特定のフォルダに保存して、昨日と一昨日の日付のデータ を比較して集計する作業をしています。 そのとき、集計作業用のエクセルファイルを開けるだけで、昨日と 一昨日の日付のついたエクセルファイルを自動的に読み込んで、 集計作業をするような関数はありませんか? またマクロで組むにはどうしたらいいでしょうか? ただし、営業日ベースなので祝日などを飛ばすことが簡単に出来ない なら、日付は、特定のセルに 昨日 061124 一昨日 061122 と入力して、それを使って特定のファイルを読み込むことでもかまいません。ファイルを参照する箇所が非常に多いので1つ1つ手で直していては時間がかるので省力化する方法が知りたいのです。

  • エクセルの集計について

    エクセルの集計について エクセルでのデータ集計でこのパターンが多いのですが、手作業でやると非常に稼動がかかりなんとか関数を使ってできないかと思いますが、考えても思い浮かびませんでした。 どなたかお知恵をお貸しください。 添付ファイルの「Sheet1」のA列の順番を入れ替えて「Sheet2」のようにしたいです。 (実際はもっと項目が多く、A列の項目も「Sheet1」と「Sheet2」は完全一致ではありません) できるかわかりませんが、「Sheet1」のA列から「Sheet2」のA列の項目を検索し、その行の数値を 「Sheet2」に入力するという関数があれば教えていただきたいです。 「Sheet1」は毎月データが変わるので、新しいデータをコピー&ペーストすれば「Sheet2」が完成するように関数を設定しておきたいです。 添付ファイルが1つしか設定できないようなので、「Sheet1」「Sheet2」を仮想的に1つのシートにさせていただきました。 うまくやりたいことが説明できているか不安ですが、よろしくお願いします。

  • エクセル シート間の集計について

    エクセル(2007)で複数のシートを集計したいです。 行には顧客名、列には売上げやコストなどの数字が入っています。 1月~12月のシートがあり、集計シートにはその合計数字が入るようにします。 月によって顧客名が増えたり減ったりするので、各シートの同じセルに同じ顧客名があるわけではありません。 こういう場合、集計することができるのでしょうか? どのような手順でやればよいのでしょうか?