3つの別々のExcelを1つのExcelに集計

このQ&Aのポイント
  • 会社でバラバラに管理されているExcelデータを1つのExcelに集計する方法を知りたい。
  • 東京、千葉、大阪の3つのExcelデータを集計する仕組みを作りたい。
  • Excel2003とWindows XP SP3の環境で、3つのExcelを集計する方法を教えてほしい。
回答を見る
  • ベストアンサー

3つの別々のExcelを1つのExcelに集計

お世話になります。 現在会社でバラバラで管理されているExcelデータを集計する仕組みを作るように依頼されました。しかし当方VBAは素人なので、どうやってこの依頼を実現したら良いのか全く分からず困っております。 下記に内容を質問させていただきます。 (依頼内容) 下記(1)~(3)の各支店の売上データを1つのExcel(4)に集計したい (使用するデータ) (1)東京.xls 置き場所= \\サーバーIP\東京\東京.xls (2)千葉.xls 置き場所= \\サーバーIP\千葉\千葉.xls (3)大阪.xls 置き場所= \\サーバーIP\大阪\大阪.xls (4)集計.xls 置き場所= 私のデスクトップ 東京、千葉、大阪、の3つのExcelはそれぞれ月毎1~31日までの売上金額が記述されています。3つのExcelのデータの範囲の列はA1~A3固定で同じですが下限はバラバラです。 またこの3つのExcelは同じサーバー上に置いてあります。(パスは異なります) Excelの中身はこのような感じです A1 A2 A3 【日】 【担当者】 【売上金額】 1日 鈴木 100円 2日 田中 1000円 3日 高橋 500円 (やりたいこと) 私のローカルに置いてある上記(4)の集計.xlsを使用して(1)~(3)のExcelのデータを一発で集計したいのです。 例えば集計.xlsの[集計]というボタンを押すと(1)~(3)のExcelの全データを集計.xlsの[[集計結果]というシートにコピペしたいのです。 上記仕組みを実現するためのサンプル等をご教授いただけますと大変嬉しい限りでございます。 自分で出来ないながらもVBAのサンプルも作らずにお聞きするだけで図々しいのは百も承知ですが、会社からは今月中に完成させてくれと言われ、焦っています。どなたか良き方法をご教授いただけませんでしょうか? 環境 Excel2003 Windows XP SP3 サーバーは・・分かりません よろしくお願い致します。

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

  • ベストアンサー
  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.2

Sub Test1() Dim oldWB As Workbook Dim newWB As Workbook, newWS As Integer Set newWB = ActiveWorkbook newWS = newWB.Worksheets.Count Workbooks.Open Filename:="正確なパス+ファイル名" Set oldWB = ActiveWorkbook oldWB.Sheets("コピーするシート名").Copy After:=newWB.Sheets(newWS) oldWB.Close End Sub これを「集計.xls」のThisWorkbookプロシージャあたりに貼り付け、 > パスは異なります と言うことなので、元ファイルの数分、ファイル名・シート名を手作業で打ち直して実行。 マクロの使い方はご自身で調べましょう。 一つのファイルに集約されたら、あとは串刺しで計算させるだけです。 一つのフォルダに集約できるなら Sub Test2() Dim oldPath As String, oldWB As String Dim newWB As Workbook, newWS As Integer Set newWB = ActiveWorkbook oldPath = "正確なパス(¥)まで" oldWB = Dir(oldPath & "*.xls*") Do Until oldWB = "" newWS = newWB.Worksheets.Count Workbooks.Open Filename:=oldPath & oldWB Workbooks(oldWB).Sheets(1).Copy After:=newWB.Sheets(newWS) Workbooks(oldWB).Close False oldWB = Dir() Loop End Sub ただし、集計.xlsとは別の場所にフォルダを作ること、 コピー元のシート名に重複がないことが条件です。

yakkun2338
質問者

お礼

tsubuyukiさん、お礼が遅くなりまして申し訳ございませんでした。 ベストアンサーにしてお礼を忘れておりました・・。 失礼いたしました。 おかげ様で無事に実現することができました。 本当に助かりました(^^)。今後、勉強したいと思います。 ありがとうございました!!

yakkun2338
質問者

補足

tsubuyukiさん、ご連絡いただきましてありがとうございます。 当方の自分勝手な申し出に対して、詳細なロジック、かつご丁寧なご説明を添えていただきまして本当にありがとうございます。 早速試してみます! 取り急ぎお礼申しあげます。

その他の回答 (1)

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.1

最低限度、足りない情報が3つです。 (1)集計結果のレイアウト (2)集計元の「シート名」、集計元それぞれに1枚なのか複数枚あるのか (3)3ファイルからのコピーペーストであれば、手作業でも大差ないと思うがいかがか。 特に(3)、集計元が同じレイアウトであるなら、 デスクトップにあるという「集計.xls」に「東京・千葉・大阪・集計」の4シートを用意、 「東京.xls」ブックを開き、該当シートをコピー、 「集計.xls」の「東京」シートに値を貼り付け(以降、千葉・大阪についても同様)。 「集計」シートにお好みの集計。 マクロを組むよりよほど早いです。 と言うか、他人にマクロを組ませて校閲するよりよほど確実で迅速と思います。 あと1日半しかないんだから、悩むよりまず動きましょう。

yakkun2338
質問者

補足

tsubuyukiさんありがとうございます。 (1)集計結果のレイアウトは各3種類のExcelと同じです (2)[集計結果]というシート1つにコピペします (3)今はとりあえず例で3拠点としていますが実際には10拠点ありますため集計を自動化したいと思っています 複数のExcelを1つのExcelに自動でコピペするやり方をご教授いただければ幸いです。

関連するQ&A

  • 複数のエクセルファイルの集計

    VBAを使って複数のエクセルファイルをあるひとつのファイルにコピーをするにはどうすればよいのですか? アンケート集計をしてます。同じフォルダー(C:\Test)にある回収した1000件分のアンケートを全てData.xlsに集計したいと思っております。具体的にはアンケート表の「1アンケート.xls」のセルS84:S94,S102:S115,S123:S131,S139:S154を]集計表.xls]のA1:AX1に行列を入れ替えて値貼り付けし、「2ンケート.xls」も同じセル番号を、「集計表.xls」のA2:AX2に、・・・・・・(繰り返し)・・・・・「1000アンケート.xls」を「、「集計表.xls」のA1000:AX1000という具合に集計したいと考えております。 似たような質問もあり、自分なりに調べてカスタマイズしてみましたが、VBAを全くやったことない私にはどうしても出来ません。どなたかご教授していただけると幸いです。

  • 複数EXCELを1つにする

    お世話になります。 私のPCのWidonwsタスクスケジューラーを使って昼12:00になったら、ファイルサーバー(\\192.168.XXX.XXX)に保管してある"売上(東京).xls"と"売上(名古屋).xls"という2つのExcelファイルを私のPCの\Cドライブ\TEST\配下に"TEST.xls"というファイルを作成して、このファイルに2つのEXCELファイルを結合したいのです。 結合したデータは東京データの後に名古屋データ(出来ましら見出し行A1がない状態で)が張り付いてくれれば最高です。 当初はbatファイルからcopyコマンドの実施を試みましたが、xlsファイルには無効という事で断念しました。VBAでなら実現可能と聞きましたので、どなたか簡単なロジックをご提示いただけますでしょうか? (環境) WindowsXP SP3 Excel2003 よろしくお願い致します。

  • EXCEL VBA 複数ブックの数字を集計したい

    お世話になります。 複数あるEXCELブックの集計をVBAで実施したく、下記質問させていただきます。 デスクトップに「東京支店」というフォルダがあります。 その中には下記の様な"年月+支店名+(担当者名)"というファイル人数分格納されています。 1310東京支店(田中).xls 1310東京支店(山田).xls 1310東京支店(鈴木).xls 1310東京支店(佐藤).xls 各ブックの中は添付の様なフォーマットになっています。 添付の様なフォーマットのシートが担当企業分だけ(A商店~D商店)あり、企業数は担当者によってバラバラです。 目的は各商品の1ヶ月の売上数量を4週に分けて追っていきたいのです。 各商品の売上数量は"合計"で表示され、内訳として"通常"と"特価"に分けられています。 ここまでは各担当者が手入力します。 ここから先が今回VBAでやりたいこととなります。 上記4つの担当者毎の数字を"1310東京支店(集計)"という集計用のブックに集計してフォーマットは添付の担当者毎のブックと同じです。 集計ブックでは担当者も企業も関係なく、とにかく1シートで東京支店の商品別の"売上数量"とその内訳(通常"と"特価")の合算された数字が一目で確認できるようにしたいのです。 例えば、集計ブックの[東京支店集計]というシートに「集計」というボタンを作成して、それを押したら「東京支店」フォルダ配下の担当者毎のブックの数字を全て拾ってきて 最終的には[東京支店集計]という1シートに添付画像のフォーマットで集計したいのです。 分かりづらい説明で大変恐縮ですがどなたかお知恵をお借りできませんでしょうか? よろしくお願い致します。 環境 WindowsXP SP3 Excel2003

  • エクセル関数のエラーについて

    エクセルで売上集計表を作成して、別のワークシートで配列式を使って集計表を作っています。ところが、売上集計表の"設置場所"を参照する部分で引っ掛かるようで、#N/Aというエラーが表示されます。この"設置場所"の条件部分を外すと、ちゃんと集計してくれます。これはどこがおかしいのでしょうか。 ちなみに、配列式は、以下のないようです。 =SUM(IF(('[統合データ47期.xls]統合データ'!$K$37:$K$1000="小型売上")*('[統合データ47期.xls]統合データ'!$M$37:$M$1000="本体")*('[統合データ47期.xls]統合データ'!$AX$37:$AX$1000=C3),'[統合データ47期.xls]統合データ'!$U$37:$U$1000,0)) $AX$37:$AX$1000=C3の部分が売上集計表の"設置場所"を参照しています。 よろしくおねがいします。

  • EXCEL VBAで指定したブックの保存場所を検索したい。(EXCEL2003)

     こんにちは、チェーン店型の店舗で働いている者です。  私が作ったVBA付のエクセルファイルを複数の店舗で使ってもらおうと考えてます。しかし、そのワークシートの中に他のブック(ここでは『売上集計表.xls』)のセルの値を参照しているセルが含まれており、参照する『売上集計表.xls』の保存場所が店舗によって違うので困っています。 『売上集計表.xls』は会社で作成されたものですので、どの店舗でも同じファイル名、レイアウトのうえ、『売上集計表.xls』という名のEXCELファイルはパソコンの中にひとつしか存在しません。 エクセルを起動したときに、参照するファイルが見つからないとリンクの編集をたずねてくるので、それでも大丈夫なのですが、パソコンに疎い人も多いので出来ればVBAで自動的にリンクを設定できるような仕組みがあればと思い質問させていただきました。

  • ACCESSかEXCELで集計について

    MS AccessとEXCELでの集計をおしえてください。 日付(時間付)、店舗、販売員、区分、商品名(毎日新しいものが計上される)、売上個数のデータが大量にあるとして、日付(時間を除く)毎にそれぞれを集計していきたいのですが、どうすればよいでしょうか? 販売員、商品名が大量にあるため、エクセルではSUMIFなどの関数を使わず一気に集計をしたいのです。 10/1 15:00、大阪、販売員A、イ、商品A、5 10/1 15:05、大阪、販売員A、イ、商品A、10・・・ -------------------------------------------------- 10/1、大阪、販売員A、イ、商品A、15 ・・・としたい AccessとEXCEL、それぞれの方法をおしえていただけませんか。 よろしくお願いいたします。 バージョン:2010 / OS:windows7 アクセスは基本操作(ちょっとアヤシイ・・・)とSQLが若干使える程度です

  • Accessのクエリで月集計を一括集計したい。

    こんにちは。 Accessの基本操作がわかる程度の初心者です。 毎日の売上データが下記のようにあるとして、月毎の合計を一括で集計する方法はないでしょうか? 月別、店別、商品別、担当者別、売上数計、売上金額計 現在は、クエリの売上日にパラメータを入れて、 「2012/5/1」「2012/5/31」と1月分毎に入力し、集計したものを エクセルにきりばりしていますが、とても大変で困っています。 2012/5/1 大阪店 商品A 担当者A 売上数 売上金額 2012/5/3 東京店 商品A 担当者B 売上数 売上金額 2012/5/3 大阪店 商品B 担当者C 売上数 売上金額 2012/6/1 大阪店 商品A 担当者A 売上数 売上金額 2012/6/1 大阪店 商品B 担当者C 売上数 売上金額 2012/6/3 東京店 商品A 担当者D 売上数 売上金額 2012/7/3 大阪店 商品B 担当者B 売上数 売上金額 よろしくおねがいいたします。 ver. : 2007 os : WindowsXP

  • エクセルデータの集計

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

  • フォルダー内の支店ごとのブックを集計するマクロを

     エクセル2010で、1つのフォルダ内にある複数のエクセルファイル(約100支店分)から、日次売上等の集計マクロを作成したいのですが方法がわかりません。 上司からの依頼を受け、ひとり悩んでましたが・・・で皆さんに相談です。ご協力お願いします ■基本条件 ・毎日、支店がフォルダ内の売上情報を入力(更新)し保存する。 ・全店とも中身は同書式同形式ファイル  例)実績報告A店.XLS、実績報告B店.XLS・・・ ■マクロ(集計.XLS)でやりたいこと ・各支店ブックの実績シートから、支店名(A5)・売上A(B5)・売上B(C5)を転記し明細表の作成 ・集計表の作成 マクロど素人の私に、どなたか教えていただけますでしょうか? よろしくお願いします。

  • excel vbaでVlookup的な集計したい

    お世話になります。 デスクトップに[集計]というフォルダ作って、その中に[集計.xls]というファイルがあります(画像参照) さらに[個別]というファイルダ内に[実績A.xls]というファイルがあります。 実際には実績B.xls、実績C.xlsと複数ファイルが存在します。 集計.xlsにボタンを作ってクリックすると下記のような動きを実現したいのです。 [個別]フォルダ内の実績A.xlsファイルを開いて[集計.xls]のA列(支店名)、B列(商品番号)と合致したデータを次のように挿入していきたいのです。 集計.xls  実績A.xls C列  ← D列の値 D列  ← E列の値 E列  ← F列の値 F列  ← G列の値 この作業を実績A.xlsファイルの全シートに対して実施したいのです。(マスターというシートは抜かして左から右へ)。全シートREADし終わったら閉じて次の実績B.xlsファイルを開いて、また同じ作業を繰り返し、[集計.xls]もA2のデータから再びREAD、という動きです。 わかりにくい説明で大変恐縮ですが、業務で求められ困っております・・ どなたかご教授いただけますでしょうか。 何卒よろしくお願い致します。 Excel2013 Windows7

専門家に質問してみよう