エクセルで集計表を作成する方法

このQ&Aのポイント
  • エクセルで集計元表から商品毎に集計表を作成する方法を解説します。
  • 集計元表から商品名、日付、支店を判別し、セルに売上数を収める手段についてのヒントをお伝えします。
  • セル関数やVBAなど、様々な方法で集計表を作成することができます。
回答を見る
  • ベストアンサー

エクセルで集計をしたいのです

お世話になります。 Accessからエクスポートした表があります。 (集計元表) [商品名]|[支店名]|[日付]|[売上数]| 商品A|支店1|2011/08/01|6| 商品A|支店1|2011/08/05|2| 商品A|支店2|2011/08/01|3| 商品B|支店1|2011/08/01|9| 商品B|支店2|2011/08/01|1| … これを以下のように、商品毎に表にしたいのです。 (集計表:商品A) 商品A|8/1|8/2|8/3|8/4|8/5|合計| 支店1| 6 | 0 | 0 | 0 | 2 | 8 | 支店2| 3 | 0 | 0 | 0 | 0 | 3 | 合計 | 9 | 0 | 0 | 0 | 2 | 11 | (集計表:商品B) 商品A|8/1|8/2|8/3|8/4|8/5|合計| 支店1| 9 | 0 | 0 | 0 | 0 | 9 | 支店2| 1 | 0 | 0 | 0 | 0 | 1 | 合計 | 10 | 0 | 0 | 0 | 0 | 10 | 合計の行/列は最後にsumしますが、集計元表から 集計表カドの商品名、日付、支店を判別してセルに売上数を収める 手段のヒントを頂ければ幸いです。 セル関数でもVBAでもなんでも構いません。 宜しくお願いします。

  • kon_t
  • お礼率51% (17/33)

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.6

アクセスで処理する エクセルの操作で処理 エクセル関数で処理 エクセルVBAで処理 エクセルなどピボットテーブル などあるだろう。 ーー 体裁について色々事情や好みがあろうが ピボットでやるのが一番簡単。 ーー 合計 / 売上数 商品名 支店名 合計 商品A 支店1 8 支店2 3 商品A 合計 11 商品B 支店1 9 支店2 3 支店4 3 商品B 合計 15 総計 26 のようなの。 ーー (メニューの)データー集計でやると 商品名 支店名 日付 売上数 総計 26 商品A 合計 11 商品A 支店1 2011/8/1 6 商品A 支店1 2011/8/5 2 商品A 支店2 2011/8/1 3 商品B 合計 15 商品B 支店1 2011/8/1 9 商品B 支店2 2011/8/1 1 商品B 支店2 2011/8/2 2 商品B 支店4 2011/8/3 3 これも手軽で速い。 ーーー どちらかというと、関数より商品+支店+日付でソートしておいて、VBAで表を作るほうが考えやすい。 ーー 関数なら 商品A|8/1|8/2|8/3|8/4|8/5|合計| 支店1| 支店2| 合計 | の「それぞれの商品版の見出し」に当たるものを手作業で作っておいて、計数を該当セルに、3条件の加算で関数(SUMPRODUCTかSUMIFS)で出せば良い。(<=エクセルバージョンを書いて質問のこと) しかし上記見出しに当たるものを作るのが、商品数や支店数が多いと多少手間がかかる。 計数の無い支店を行から省くなどだとさらに面倒。(VBAなら出現したものだけ表示が普通に出来る) ーー こんなとこに質問でまる投げしないで、アクセスにデータがあるなら、クエリやレポートを勉強したら。

その他の回答 (6)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.7

商品名や支店名、日付までも自動で表示させるようにするためには、シート1の集計元表にはいくつかの作業列を設けることが必要です。 元の集計表がA1セルに商品名、B1セルに支店名、C1セルに日付、D1セルに売上数の項目名が有り、各データがそれぞれの下行にあるとします。その際にA列が第一優先での並べ替えがあり、B列が第二優先での並び替えが行われているものとします。 そこでE2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",IF(COUNTIF(A$2:A2,A2)=1,MAX(E$1:E1)+1,INDEX(E$1:E1,MATCH(A2,A:A,0)))) F2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(B2="","",IF(COUNTIF(B$2:B2,B2)=1,MAX(F$1:F1)+1,INDEX(F$1:F1,MATCH(B2,B:B,0)))) G2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(E2="","",IF(COUNTIF(A$2:A2,A2)=1,MAX(G$1:G1)+5,IF(AND(E2=E1,F2<>F1),MAX(G$1:G1)+1,""))) H2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(G2="","",IF(COUNTIF(G:G,G2-1)=0,G2-2,"")) I2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",A2&B2&C2) そこでお求めの商品名ごとの集計ですがシート2に作成するとしてA3セルには次の式を入力して下方にオートフィルドラッグします。 =IF(OR(ROW(A3)<3,ROW(A3)>MAX(Sheet1!$G:$G)+1),"",IF(COUNTIF(Sheet1!$H:$H,ROW(A3))>0,"集計表",IF(OFFSET(A3,-1,0)="集計表","",IF(COUNTIF(Sheet1!$G:$G,ROW(A3))>0,INDEX(Sheet1!$B:$B,MATCH(ROW(A3),Sheet1!$G:$G,0)),IF(OR(OFFSET(A3,2,0)="集計表",ROW(A3)=MAX(Sheet1!$G:$G)+1),"合計",""))))) B3セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。 =IF(ROW(A3)<3,"",IF(AND($A3="集計表",COLUMN(A3)=1),INDEX(Sheet1!$A:$A,MATCH(ROW(A3),Sheet1!$H:$H,0)),IF(AND(OFFSET($A3,-1,0)="集計表",COLUMN(A3)<MAX(Sheet1!$C:$C)-MIN(Sheet1!$C:$C)+2),TEXT(MIN(Sheet1!$C:$C)+COLUMN(A3)-1,"m/dd"),IF(AND(OFFSET($A3,-1,0)="集計表",COLUMN(A3)=MAX(Sheet1!$C:$C)-MIN(Sheet1!$C:$C)+2),"合計",IF(OR(AND($A3="合計",B$4="合計"),AND(B$4="合計",COUNTIF(Sheet1!$G:$G,ROW(A3))>0)),SUM(A3:$B3),IF(ISERROR(IF(COUNTIF(Sheet1!$G:$G,ROW(A3))>0,INDEX(Sheet1!$D:$D,MATCH(INDEX(Sheet1!$A:$A,MATCH(ROW(A3),Sheet1!$H:$H,1))&$A3&DATEVALUE(INDEX($4:$4,COLUMN(A3)+1)),Sheet1!$I:$I,0)))),"",IF(COUNTIF(Sheet1!$G:$G,ROW(A3))>0,INDEX(Sheet1!$D:$D,MATCH(INDEX(Sheet1!$A:$A,MATCH(ROW(A3),Sheet1!$H:$H,1))&$A3&DATEVALUE(INDEX($4:$4,COLUMN(A3)+1)),Sheet1!$I:$I,0)),IF(AND($A3="合計",COLUMN(A3)<MAX(Sheet1!$C:$C)-MIN(Sheet1!$C:$C)+2),SUM(INDEX(B:B,INDEX(Sheet1!$G:$G,MATCH(ROW(A3),Sheet1!$H:$H,1))):OFFSET(B3,-1,0)),"")))))))) これでお望みの表がシート2に表示されます。

noname#204879
noname#204879
回答No.5

添付図参照 G2: =SUMPRODUCT(($A$2:$A$1000=$F$1)*($B$2:$B$1000=$F2)*($C$2:$C$1000=G$1),$D$2:$D$1000)

  • nana76
  • ベストアンサー率28% (168/583)
回答No.4

#2・3です。 度々申し訳ありません。 集計元表と、集計表をゴチャゴチャに見てました。 やっぱりピボットテーブルで大丈夫そうですね。 集計表のデザインに関しては、ピボットで集計してからあとで修正を入れても良いですし、数が知りたいだけならピボットを作ればそれでOKかと・・・。 セル関数でも計算できますけど、計算式がゴチャゴチャ複数のセルに入るよりは、スッキリして良いのかなぁ?という気はします。 「行」→商品名・支店名 「列」→日付 「データ」→売上数(合計にして下さい) これでOKだと思います。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

>Accessからエクスポートした表があります わざわざエクスポートせず,アクセスのDBから直接データを吸い上げてエクセルのピボットテーブルレポートを作成します。 例: http://www.microsoft.com/japan/office/previous/xp/suminaka/access/sousa2002/2/sousa2_2_10_honbun.htm #ご利用のエクセルのバージョンが不明ですが,たいがいどのバージョンでも同じように操作します ピボットテーブルレポートは,ページに商品,列に支店,行に日付,データ(Σ)に数値を配置します。 聞けば出来ると思ってたけど「実は手抜きで説明してませんでした」があって出来ないときは,具体的なデータやヤリタイ事を添えて改めて質問を投稿し直してください。

  • nana76
  • ベストアンサー率28% (168/583)
回答No.2

ピボットテーブルで出来ないですか?

  • tony3303
  • ベストアンサー率27% (346/1262)
回答No.1

セルの元票の位置を書きたいセル内に入れればそこに自動的に同じ数字か入りますが、同じシート内でないと出来ないと思います。

関連するQ&A

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

    レジに打ちこまれた売上データをもとに、1ケ月の売上一覧表を作成しています。 一目で売れ線がわかるように売上数の良い順位をつけています。 例) 順位  商品名  数量  単価  売上 1位    楓    100    10   1,000 2位    紅葉    30    5    150              30   10    300       計      60         450 3位    A      40   10    400       B      40   10    400 5位    銀杏    30   10    300 総合計        270          2,550 上記の元データは商品毎の売上数が自動集計されない日時明細なので、先ず、商品名毎に並び変え、売れた数量を集計させます。ここまではエクセルで行っていますが、その後、数量合計を1行に記し、不要行を削除するのを手作業で行っています。その後で数量合計の多い順に並び変えをし(旧価格・新価格があるものもあるので、売上順位としては数量は合算、しかし新価格が何ケで旧価格が何ケと表示)、仕上げに順位を加えるのも手作業で行っています。 月によってデータが膨大なことがあり、手作業での限界がきています。 どなたか良い方法をお教え頂けないでしょうか。

  • エクセル集計でビットの立っているものだけを集計したい!

    エクセルで物品費の集計表がこういった形であります。 (日付)(物品名)(受払有無)(物品費)   2/1  A    1     ¥500  2/10 A          ¥1000  2/27 A    1     ¥2000     と連日データ打ち込みをした表Aがあり、下段に集計欄(表B)があります。それで 1.「受払有無」に「1」が立っている 2.表Aと表Bの「物品名」が一致しているもの の集計を取り出したいのですが、sumifですると「受払有無」の「1」も「ブランク」も含まれた物品費の合計が出てきてしまうのです。 (物品名)(合計)   A   \2500 といった具合に出したいのですが・・・かなり説明不足かもしれませんが、知恵を貸してください。よろしくお願いいたします。  

  • EXCEL集計の方法で。。

    こんにちは。 EXCELの集計方法で質問なのですが、例えば、 A店、B店、C店、における1か月分の商品別売り上げ表があるとします(下記のような表) 店 日  物   個数 A店 10/1 トマト  2個 B店 10/1 キャベツ 1個 A店 10/1 キャベツ 1個 C店 10/2 トマト  3個 B店 10/4 キャベツ 4個 A店 10/4 きゅうり 1個 A店 10/4 キャベツ 2個 これを集計し、店別でしかも商品別の売り上げ個数を求めるのはどのようにしたら良いでしょうか?? 集計でグループ基準を店、集計方法を合計、集計するフィールドを個数にしてすると、下記のような問題が生じてしまします。 (1)同じ売り上げ日の同じ店の売り上げはTOTALされる。 (2)集計部分(太字の部分)に商品名が出てこない できれば、アウトライン2を使用して、集計結果を以下のようにしたいのです。 A店  トマト  2個 B店  キャベツ 5個 A店  キャベツ 3個 C店  トマト  3個 A店  きゅうり 1個    どなたか、お分かりになるかたいらっしゃいますでしょうか??長々と書いてしまいましたが、どうぞ よろしくお願い致します。

  • Excelでの集計

    Aさん用ブック、Bさん用ブック、Cさん用ブック…と人数分+集計用のブックがあるとします。 それぞれのブックには共通の形式で下のようなシートが12枚、つまり1年分あります。   1月    1日  2日  3日…31日 合計    商品1   1              SUM式   商品2        1    1    SUM式   商品3   1              SUM式    …   商品30            2    SUM式   合計   SUM式………       SUM式      集計用のブック(形式は個人用と同じです)で日ごと・月ごとに全員の合計を取りたいのですが、 単純に「(商品数(約30)×毎日)×毎月」×人数でリンクを貼ると、ものすごい容量になってしまいます。 しかも、項目が多い割に殆んどが空欄なので、はっきり言ってムダです。 (1)集計用ブックの容量を出来るだけ軽くしたい(現在、個人用ブックは約130KBです)。 (2)リンク式(集計用の計算式)を出来るだけ単純にしたい。 (3)合計がゼロの欄は「0」を表示しない(「計算しない」ってのは矛盾してますよね?)。 こんな都合のいいことが、Excelで出来ますか?

  • エクセル 項目別の集計の出し方

    エクセルの利用方法でお聞きしたいのですが、 例えば、 商品名 価格  A   100  A   100  A   100  B   500  B   500 といった場合、Aの価格合計、Bの価格合計を商品名別に集計したい場合、どのようにしたらよいでしょうか? 商品別にSUMで合計しようにも商品名が膨大で困っています。 使っているのは、XPでoffice2003です。  どうぞよろしくお願いします。

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

    エクセルでの集計について質問です。 【4月】 (営業A)              (営業B) A     B       C      D       E      F 会社名  品名   売上金額  会社名  品名   売上金額 ○○   ××   ¥10,000   □□   △△   ¥50,000 □□   ■■   ¥30,000   ★★   ○○   ¥20,000 ○○   ☆☆☆  ¥50,000   ○○   ???  ¥30,000 上記のように1枚のシートに営業さんごとに分けて月別の売上表を作っています。 最後のシートに個人ごとの年間売上げ表を作りたいのですが、 【年間合計】      (営業A)   (営業B) A      B      C       会社名  売上金額  売上金額 ○○   ¥60,000  ¥30,000 □□   ¥30,000  ¥50,000 ★★   ¥0     ¥20,000 上記のように会社名ごとに年間合計を作る場合にはどのような方法がありますでしょうか?(年間合計に品名は必要ありません) SUMIFを入力してみたら、ものすごく式が長くなってしまいました… 他に方法がありましたら宜しくお願いします。

  • エクセルで条件抽出して集計

    教えてください! 日付   月  科目  金額 2006/1/1 1  売上高 5000 2006/1/2 1  売上高 1000 2006/1/3 1  仕入高 2000 2006/1/4 1  消耗品 3000 2006/1/5 1  仕入高 1000  2006/2/1 2  仕入高 1000 2006/2/2 2  売上高 5000 ・・・ という表から、seet2に下記のような表を作成し セルA1 に 1 と入力すると 科目    金額 売上高 (1月の合計値) 仕入高 (1月の合計値) 消耗品 (1月の合計値) セルA1 に 2 と入力すると 2月の集計 に変わる 3と入力すれば、3月の集計に変わる というふうに、セルA1に入力した数値(月)に対応するよう、 月を抽出して、合計値を出すには、seet2の (○月の合計値)の部分には、 どのような関数を入れればいいのでしょうか? ちなみにピボットテーブルを作成しようとすると「リストがないから作れない」 と表示されてしまうので、関数で解決したいです。 切実にお願いします。

  • 集計方法を教えてください。

    複数シートのデータを集計用に作成したシートにデータをコピーしたい。 シート1(支店A)  2008/03/31 ノート 100  2008/04/20 乾電池 200 シート2(支店B)  2007/10/31 乾電池 200  2008/01/06 鉛筆  100 シート3(集計表) (品名) (営業所)(数量) (日付)  乾電池  支店A  200  2008/04/20       支店B  200  2007/10/31  鉛筆   支店B  100  2008/01/06  ノート  支店A  100  2008/03/31 ※集計表には、品名と営業所名のみが記載されているため「数量」と「日付」のみをコピーしたい よろしくお願いします。

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

    エクセルで下記のような表があります。 商品コード  商品名   A店(個) B店(個) 12      いちご   3      2 66      バナナ   6      20 12      いちご   55      4 55      メロン   12      9 66      バナナ   100      15 12      いちご   99       38              ↓ 商品コード  商品名   A店(個) B店(個) 12      いちご 合計             157    44 55      メロン 合計             12      9             66       バナナ    合計             106    35 集計表を使って、商品ごとにA店とB店の個数合計を出すのですが、 個数合計が出た行のみを、一括で書式を変えるにはどうしたらよいでしょうか? 商品は、100種類くらいあって、すべてのデーターの数は、3000くらいあります。 合計の列だけを抽出して、ドラックしてコピーしても、その間にあるすべての列が変更されてしまうので。 エクセルは、あまり詳しくないので、詳しいかたどうぞよろしくお願いします。

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

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

専門家に質問してみよう