• ベストアンサー

エクセル:複数シートをまとめた集計方法

店の売上管理のために以下のような表があります。 ・月ごとにシートを分けて集計(1月~12月のシート) ・各シートは、4列でそれぞれの列は、「都道府県名」「地区名」「店名」「売上」で構成。各店は「都道府県名」「地区名」「店名」の3つの情報で特定 ・行数(店数)は各月でまちまち(売上があった店のみ記載のため)ですが、数千以上は存在 ※従って地道にコピーして重複を消してという作業は非効率になってしまう。。 上記表の集計を1つのシートで次のようにまとめたいと考えています。 ・15列構成。(内訳は「都道府県名」「地区名」「店名」「1月の売上」~「12月の売上」) ・重複した行が無い。例えば1月、4月、12月と売上があった店も1行で管理したい。 以下のような手順を考えましたが、良い手順が思いつきません。そもそも実現可能かもわかっておりません。 他の方法も含めて良い案があれば教えてください。お願いします。 手順1:1月度のシートの「都道府県名」「地区名」「店名」をコピー 手順2:2月以降のシートに関しては、それ以前の月のシートには登場していない「都道府県名」「地区名」「店名」のみ追加でコピー 手順3:IFやVLOOKUP関数などを駆使して、各店舗毎の月間売上を各月のシートの売上値を参照して代入??

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

  • ベストアンサー
noname#64582
noname#64582
回答No.2

関数で比較的簡単に出来ると思いますよ。 >各店は「都道府県名」「地区名」「店名」の3つの情報で特定 まず、店名は一意的ではないのですか。店名だけでは特定できない? 特定できないケースとは、以下のようなパターン。 青森県 青森市 駅前店 と 宮崎県 宮崎市 駅前店  があるとか、 静岡県 静岡市 市役所前店 と 石川県 金沢市 市役所前店 があるなどのケース。 もしこういうパターンなら、各店を一意的に判別できるキー(店番号など)を導入する必要があります。 -------------------------------------------------------------- 支店名が一意的に指定できるなら、 私なら以下のように処理します。 形式は以下を前提。 ・各月のシート名は「1月」「2月」・・・・と形式を統一。 ・「集計」シートの一行目は見出し。「都道府県名」「地区名」「店名」「1月の売上」~「12月の売上」。 A1~O1まで。 【1】「集計」シートの A列からC列に、全国の店名を全て入れる。 【2】D2セル(一番上の店の1月売上のセル)に、 =VLOOKUP($C2,INDIRECT(D$1&"!C2:D65536"),2,0) 【3】その式を縦横に引っ張ります。そしたら全店の月ごとの数字が出てきます。 【4】もし一年間全く売上のない店を省きたいなら、P列にでも合計欄を設けてフィルタリングし、0の行を削除すればいいでしょう。 ※INDIRECT関数によって、各シート名からデータを拾っています。

mirai51
質問者

お礼

INDIRECT関数、凄いですね。素晴らしい。。。 目からうろこでした。 1人で悩んでいた中、初めての投稿で緊張もあったのですが、 本当に助かりました。 質問して良かったです!感謝です!!!

mirai51
質問者

補足

説明が不足してました。すいません。 特定できないケースとは、まさにLOSSIGNORがご指摘頂いたケースです。

その他の回答 (2)

noname#246547
noname#246547
回答No.3

>=VLOOKUP($C2,INDIRECT(D$1&"!C2:D65536"),2,0) へぇ~、こんな関数あったんですね。勉強になります No.2の方法だと、店名だけで一意でないとだめなようですので、 すこし応用して、 「都道府県名」「地区名」「店名」の3つの文字列を結合した文字列が 一意になるのであれば、各月のシートの「都道府県名」「地区名」「店名」「売上」 を、「都道府県名」「地区名」「店名」、「都道府県地区店名」(この列はD。非表示かな)、「売上」 とし、列Dのセル(ここでは2行目を例とする)には、[=A2 & B2 & C2]とし、列AからCの文字列を結合した列を作っておきます。 次に、 >【1】「集計」シートの A列からC列に、全国の店名を全て入れる。 を 【1】「集計」シートの A列からC列に、全国の店名を全て入れ、かつD列に上記と同様の「都道府県地区店名」を作る そうすると、E列が売り上げになるので、ここに VLOOKUP($D2,INDIRECT(E$1&"!D2:E65536"),2,0) とすれば、出来そうです。 だけど、2月以降はじめて売り上げが発生した店がどれなのかは手動で検索になるかなぁ。 でも、集計シートにははじめからすべての店を登録しておけばいいですね。

mirai51
質問者

お礼

ありがとうございます。 No.2の方の回答と合わせて、まさに自分がやりたい事が実現できます! 大変助かりました。

noname#246547
noname#246547
回答No.1

Excelマクロのみで計算するのは無理かな。 このようなケースではExcelのVBAでプログラミングします。

mirai51
質問者

お礼

迅速なご回答ありがとうございました。 これを機にVBAの勉強も本格的にしたいと思います。

関連するQ&A

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

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

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

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

  • EXCELでこんな集計はどうするのでしょうか

    商品管理の表で以下のようになっています。 A1   B1    C1     D1    E1 担当者 分類番号 商品コード 整理番号 以下各月毎の売り上げ そしてこの表は1500行程度あり、B列、C列でソートしています。 この表をB列の分類番号毎、C列の商品コード毎で各月の売上合計を上記の表のシートとは別のシートに集計したいのですが、どのようにしたらよいのでしょうか。シートをコピーして集計するのはできるのですが、そうしたら容量が(サイズが)大きくなりすぎるため、できれば避けたいと思っています。

  • エクセルで各シートの該当項目を集計

    データが入ったシートが全部で12枚あります。 各シートは月ごとの商品の売上データです。 A列に商品コード、B列に商品名、C列に数量、D列に売上金額です。 ただし、各シートに出てくる商品は12枚全て同じではありません。商品により売上がないものはその月のシートには商品名も記載はありません。 これをあらたに13枚目のシートを挿入し、すべての商品の売上合計を出したいのです。 商品コードをキーに各月ごとにVLOOKUPで検索し、無ければ(N/Aエラーなら)0を加算という方法も考えましたが、もっといい方法はないかと質問します。 よろしくお願いします。

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

    よろしくお願いします。 今現在とあるソフトに売上データを入力していて、それをエクセルに打ち出しています。 日付、伝票番号、店名、商品名、金額と出るのですが、これを伝票番号別に売上金額の合計を出しています。(1伝票あたり2~3品の売り上げがあります) ただ、伝票番号のみの集計は出せるのですが、それだと日付や伝票番号が記載されません。 伝票番号や日付、店名なども出せて、伝票番号毎の合計金額が出せるような式があるのでしょうか? 今現在は伝票番号毎に集計をかけて、合計が出た列を別シートに日付や伝票番号をコピーして張り付けています。 エクセル初心者なので、 すごく手間で、もし簡単に出来る方法があれば教えてください。 よろしくお願いします。。。

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

    エクセルで二重集計をしない関数や方法があれば教えてください。 A列には地区名 B列には診察科名が文字列で入力されているとします。たとえば、 A列  B列 北部  眼科 南部  小児科 北部  眼科 北部  産婦人科 という場合、眼科は北部に2つありますが、地区が重複してますので 1という集計を取りたいのですが・・・。 データが1000件程度あるので、関数などで簡単に集計を取る方法があれば教えてください。よろしくお願いします。

  • EXCEL 集計について

    月別に集計しています。 そこで質問です。エクセル得意ではありませんので、できるだけ簡単な方法でお願いします。 (1)日付があるので、月の列”=month(2010/2/12)の列を作成しています。 そして月の列を基準にして月別の合計を出して集計しています。 ここで問題があります。集計は2年分ずつとっています。2011年と2012年がはいっている 場合、この方法で集計をかけると、ぐちゃぐちゃになってしまいます。きちんと2011年の1-12月 2012年の1-12月の各月別の集計をかける方法はありますか? (2)まれに売上が0の月があります。そうするとうまく集計できません。   こういう場合はどうすれば、きちんと集計できますか?? 以上、わかりにくい質問でしたら申し訳ありません。 よろしくお願いいたします。

  • エクセル 複数シートの同一セルを別シートへ集計

    エクセルで複数sheetの同一セルを集計sheetへコピーしてきて一覧にし、集計するという作業を行なっています。 1~20のsheet(sheet数sheet名は変動します)を作り、一番右側に集計sheetがあります。 集計sheetのA5へsheet1のF10、A6へsheet2のF10・・・(内容は文字列) 集計sheetのB5へsheet1のG10、B6へsheet2のG10・・・(内容は数値) とコピーしていき、B30にはB5~B29の合計がSUM関数で入っています。 VBAで、集計sheetから左側のsheetの指定セルを一気に集計sheetへコピーしてくる方法はないでしょうか。 ただし集計sheetから左側のsheet21とsheet22は集計に入れたくないという式も教えて頂きたいです。 お時間のある方、ご教授下さい。 または別の質問で参考になるようなものがあればアドレスを教えて下さい。 説明が下手で申し訳ないですが、どうぞよろしくお願いします。

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

    エクセルで、特定の列に該当する条件に当てはまる数を数えたい時、 どの関数を使えばいいでしょうか。 エクセル得意な方、教えてください。 たとえば、 A列=果物名(もも、りんご、みかん、ぶどう…etc) B列=仕入れた店名(全国各地の店名) C列=仕入れた個数 D列=入荷した日にち を、日ごとに年度でまとめたエクセル表あるとします。 別シートに、 果物ごとに、月別でいくつ仕入れたか、集計したい時にはどの関数を使えばいいでしょうか。 A2、A3、…~果物名 B2行、C2行、…~各月 として、仕入れた数を合計する、という表にしたいです。 (どの店で、という条件は不要です) SUMIFSを使えばいいのかなと思ったのですが、 月別の条件になると、別の関数もいるのかとか、 ただ数を数えるなら、COUNTIFでいいのかとか、色々考えていたら、 どう組み合わせればいいかわからなくなりました…。 オートフィルタやマクロではなく、関数で作りたいのです。 教えてください。 どうぞよろしくお願いします。 ちなみに、エクセルは2010を使っています。

  • エクセル 集計する

    二つ表を添付していますが、使用するのは今日の分だけでお願いします。 月別に集計しています。そこで質問です。 エクセル得意ではありませんので、できるだけ簡単な方法でお願いします。 (1)日付があるので、月の列”=month(2010/2/12)の列を作成しています。 そして月の列を基準にして月別の合計を出して集計しています。 ここで問題があります。集計は2年分ずつとっています。2011年と2012年がはいっている 場合、この方法で集計をかけると、ぐちゃぐちゃになってしまいます。きちんと2011年の1-12月 2012年の1-12月の各月別の集計をかける方法はありますか? (2)まれに売上が0の月があります。そうするとうまく集計できません。   こういう場合はどうすれば、きちんと集計できますか?? 以上、わかりにくい質問でしたら申し訳ありません。 よろしくお願いいたします。 投稿日時 - 2011-01-27 22:33:47

専門家に質問してみよう