• ベストアンサー

抽出したデータを他のシートにコピーし集計したい

初心者ですがよろしくお願いします。 シート1の1列目に商品コード゛、2列目に部署コード、3列目に金額が記入されています。 商品コード、部署コード両方が同じ行毎にシート2に集計し、合計金額を計算させ任意の(或いは集計表のすぐ下の)セルに入力させるにはどうすればいいでしょうか? 商品コード、部署コード両方が同じ集まりはたくさん10程度できますが同じシートに横に並べて集計させたいです。  よろしくお願いします。

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

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

#イミフメイです: >同じシートに横に並べて集計させたいです。 マクロを使うには,次の通りにします。 準備: シート1のA:C列に元ネタを準備する 言わずもがなですが,1行目にタイトル行として2行目からデータを記入する シート2に集計する 手順: ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける sub macro1()  dim r as long  worksheets("Sheet2").range("A:C").clearcontents  worksheets("Sheet1").select  r = range("A65536").end(xlup).row ’抽出する  range("A1:B" & r).advancedfilter _   action:=xlfiltercopy, _   criteriarange:=range("A1:B" & r), _   copytorange:=worksheets("Sheet2").range("A1:B1"), _   unique:=true ’集計する  worksheets("Sheet2").select  range("C2:C" & range("A65536").end(xlup).row).formula = "=SUMPRODUCT((Sheet1!A$1:A$" & r & "=A2)*(Sheet1!B$1:B$" & r & "=B2), Sheet1!C$1:C$" & r & ")" end sub ファイルメニューから終了してエクセルに戻る ALT+F8を押してマクロを実行する。 #元リストが5000行を超えるような場合は,(マクロは止めて)ピボットテーブルレポートを使います。

nagattyu4761
質問者

お礼

 ご教授ありがとうございます。 おかげさまで目的が達成できました。 どうもありがとうございました。

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! 横からお邪魔します。 No.1さんの補足に >質問内容をマクロにて実施したいです とありましたので、一例です。 同一SheetではなくSheet2に表示するようにしてみました。 Sheet1のSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 Sub test() 'この行から Dim i, k As Long Dim ws As Worksheet Set ws = Worksheets(2) Application.ScreenUpdating = False ws.Cells.ClearContents With ws.Cells(1, 1) .Value = Cells(1, 1) .Offset(1) = Cells(1, 2) .Offset(2) = "合計" End With Columns(1).Insert For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row Cells(i, 1) = Cells(i, 2) & "_" & Cells(i, 3) Next i For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row If WorksheetFunction.CountIf(Range(Cells(2, 1), Cells(i, 1)), Cells(i, 1)) = 1 Then With ws.Cells(1, Columns.Count).End(xlToLeft).Offset(, 1) .Value = Cells(i, 2) .Offset(1) = Cells(i, 3) End With End If Next i k = ws.Cells(1, Columns.Count).End(xlToLeft).Column For i = 2 To k ws.Cells(3, i) = WorksheetFunction.SumIf(Columns(1), ws.Cells(1, i) & "_" & ws.Cells(2, i), Columns(4)) Next i Columns(1).Delete Application.ScreenUpdating = True End Sub 'この行まで ※ 同一Sheetに表示したい場合はこれをコピー&ペーストしてください。 ※ もしコード順に表示したい場合は元データを並び替えておく必要があります。 参考になりますかね?m(_ _)m

nagattyu4761
質問者

お礼

  ご教授ありがとうございます。 希望のとおりだったのですが、 僕には難しすぎて自分でまったく手を加えることができず 今回は使えませんでした。「 もっと勉強します。 どうもありがとうございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 集計表は縦並びになりますが如何でしょうか。 (1)シート2データをコピー (2)4列目に=A2&B2を入力→下方向にコピー (3)シート2を並び替え(4列を最優先) (4)データ→集計(又は小計)機能から計算方法は「合計」、集計フィルードは「金額列」→OK

nagattyu4761
質問者

補足

  ご教授ありがとうございます。 重要な内容を書き忘れました。 質問内容をマクロにて実施したいです。 よろしくお願いします。

関連するQ&A

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

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

  • 複数シートに振り分けたデータをそれぞれ集計したい

    こんにちは。 商品コード 名称  金額      業者 100    PC1  10,000  ア 110    PC2  10,000  ア 200    PC3  20,000  イ 300    PC4  30,000  イ 上記のようなデータがシート1にあるとして、業者毎に他のシートにデータを転送するまでは何とか無事にマクロを組むことが出来ました。 この後、業者毎に分けたそれぞれのシートの最終行で金額の集計をしたいのです。 例えばシート2の業者アのデータであれば↓ 商品コード 名称  金額      業者 100    PC1  10,000  ア 110    PC2  10,000  ア 総計          20,000   同じようにシート3の業者イのデータ、シート4の業者ウのデータ・・・を集計したいのですが、どの様なマクロを組めばそれぞれのシートの最終行で集計が表示されるのでしょうか? ちなみに、商品数、業者数とも変動するため、固定値が入れられません。 本やインターネット等でいろいろ調べてみたのですが、分かりませんでした。 お分かりになる方がいらっしゃいましたら、どうかご教示ください。 宜しくお願い致します。

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

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

  • Excel2003 データの集計

    お世話になります。 表題の件で 質問が御座います。 今、添付画像の左の表から 右の表に集計している所です。 ・セルA1の「田中さん/毛布」は1つのセルに入力されています。 ・金額は「数値」で入力されています。 ・名前と一緒に入力されている品名は何が入ってるか分かりません。(色々な物が想定されます) ・A列には おそらく 千数百人の方々がいらっしゃいます。 この左の表を元に右のように「その人の合計金額」を集計したいのですが 何か便利な方法はないでしょうか? 現状ではフィルタを掛け「田中さんを含む」で抽出し、別シートに「田中さん」と入力して その隣に「=SUM」で合計地道にを入れております。 まだ半分も終わってないようなので気が遠くなってまいりました。。。 1つのセルに2種類の情報が入っている為「=SUMIF」も使えません。。 どうにかして簡単に集計する方法は無いでしょうか? どこか別のセルに「大久保さん」とか入れたら その隣に「大久保さんを含むB列の合計が出る」ような? どなたか良いお知恵が御座いましたら宜しくお願い致します。 説明が不十分であれば補足致しますので何なりとお申し付けください。 何卒宜しくお願い致します。

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

    現在1月から12月まで各月毎のシートと集計表があります。 そのシート内の集計表は  A  ・   B     ・ C ・ D ・ E ・・・・・・・・BB 1担当・顧客ナンバー・日付・苗字・名前・・・・・・・・ 2田中 3佐藤 4小川 5田中 6田中 7佐藤 8井上 ・ 150位まで(行については月により変動あり) と各列と行にデータが入力されてます。 担当者は12名で元になるデータ表には活動順に担当者名が入力されてます。 やりたい事は (1)各担当別の月別集計と年間集計シート作成 月毎にシートを作成でなく、あくまで担当者毎の月毎集計と12か月の年間合計転記を同一シートにする事は可能でしょうか。(個人成績表の為) またその時担当別にシート作成が出来るとうれしいです。 (2)全担当者の月集計一覧シート 一つのシートに全担当者の月別集計(1月から12月)を一覧にしたいのですが、各担当者の月別合計欄を転記の認識なのですが、他にいい方法もありますか? (3)全担当者の年間集計一覧シート (2)の合計を転記の認識です。他にありますか? 以上3点を作成したいと思ってます。 (1)が出来れば何とかなるような気はしますが、どなたかご教授お願い致します。 項目はA~BBまで横一列にあり 担当者の入力も横一列なのでvlookupでも考えましたが、マクロで何とか出来るなら挑戦してみようかと思ってます。 集計表自体他のブックからのリンクやなんやらで20M位ファイルサイズがあり、今回の(1)(2)(3)は新規ブックに作成したいと思います。

  • Excelでシート間のデータの抽出方法

    1つのブックに集計用のシートと、A店、B店、C店という各店舗別の売上シートがあります。 Sheet集計用のA1にA店のコード(A店は001、B店は002というようなコード)を入れると、Sheet集計用のB列の上期売上、C列の下期売上にSheetA店のB列の上期売上、C列の下期売上のデータが入るようにすることは可能でしょうか? Sheet集計用のA1のコード変更することによってデータを引っ張ってくるシートが変わる様にしたいということなんですが、Excelでどのようにすればいいかわかりません。 各店舗のシートのA1のセルにも、その店舗のコードが入力されています。

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

    お世話になります。 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でもなんでも構いません。 宜しくお願いします。

  • 日付と商品名の2つの条件で集計

    A列に商品名(2~10行)、B列に金額(2~10行)、C列に日付(2~10行)の表で日付範囲条件と商品名の条件の両方満足する行の金額を集計したいのですが方法を教えて下さい。日付の集計はSUM,DATE関数で、商品名のみの集計はSUMIF関数で求めることができますが両方の条件式がわかりません。よろしくお願いします。

  • Excelの集計結果だけをコピー貼り付けしたい

    Excelのデータ>集計で表の合計を出すまではできました。合計欄を見るとSUBTOTAL関数で集計されています。この合計欄だけを別の表に貼り付けたいのですが、どうしたらよいのでしょうか。貼り付けようとすると集計されていない元のデータも出てきて、これでは折角集計しても集計部分だけの加工ができなく困っています。例では以下のとおりです。よろしく教えてください。 コード     数値 1       2 1       3 2       3  2       4  の表を集計すると コード     数値 1データの合計 5 2データの合計 7 となり、この2行分だけを別の表にコピーしたいのですが、貼り付けると コード     数値 1       2 1       3 1データの合計 5 2       3  2       4 2データの合計 7 となってしまい、集計行だけを貼り付けることができない。

  • EXCELでコード別の数量・金額を集計したい。

    EXCELで次のような表があります。  A列:社外向け商品コード  B列:社内向け商品コード  C列:商品名  D列:数量  E列:金額  F列:発注日 (1)これを商品コード別(A・B・Cは一対)に数量と金額を集計。 (2)さらに、この表が5社分あるので、次のような表にまとめたい。  A列:社外向け商品コード  B列:社内向け商品コード  C列:商品名  D列:●社数量合計  E列:●社金額合計  F列:×社数量合計  G列:×社金額合計  H列:△社数量合計  I列:△社金額合計    ・    ・  というように5社分の数量・金額を並べて表示したい。 上記のように集計する方法はありますでしょうか? 宜しくお願い致します。  

専門家に質問してみよう