• 締切済み

Excel上、データを行毎にサマリーしたい

無知ですみません、どなたかエクセル関数、マクロを駆使した効率のいいやり方をご教授下さい。 エクセル上で、以下のようなリスト【サマリー前】について、数量が一致する行をサマリーして【サマリー後】のような形で集計したいのですが、いい手法が思い浮かばずに困っています。 数量の集計だけならピポットテーブルでも事足りると思うのですが、どうしてもは以下のようなリスト形式にまとめたいのです。 地道に1行1行手で集計しようとすると数万行あるため、ミスが怖くてできません。 何卒、よろしくお願い致します。 ■サマリー前 品名   業者   住所      数量 アイス  業者1  東京都渋谷区  1個 アイス  業者1  東京都渋谷区  2個 チョコ  業者2  千葉県市川市  3個 チョコ  業者2  千葉県市川市  2個 アイス  業者2  千葉県市川市  4個 アイス  業者2  千葉県市川市  1個 ↓ ■サマリー後 品名   業者   住所      数量 アイス  業者1  東京都渋谷区  3個 チョコ  業者2  千葉県市川市  5個 アイス  業者2  千葉県市川市  5個

みんなの回答

  • HohoPapa
  • ベストアンサー率65% (454/690)
回答No.5

>エクセル関数、マクロを駆使した効率のいいやり方 添付画像を例にVBAのコード(マクロ)をポストします。 よかったら挑戦してみてください。 なお、業者が同じで住所が異なる場合は 別行に集計されます。 Option Explicit Sub Sample()    Dim cn As Object  Dim rs As Object  Dim SQL As String  Dim shF As String  Dim shT As Worksheet    '入出力シートを定義  shF = "FROM [Sheet1$A1:Z65000]"  Set shT = ThisWorkbook.Sheets("Sheet2") '集計先シート    'DBを定義、設定  Set cn = CreateObject("ADODB.Connection")  Set rs = CreateObject("ADODB.Recordset")  cn.Provider = "Microsoft.ACE.OLEDB.12.0"  cn.Properties("Extended Properties") = "Excel 12.0;HDR=Yes;IMEX=1"  cn.Open ThisWorkbook.FullName  'SQL文を組立、実行  SQL = "Select [商品],[業者],[住所],Sum([数量]) as 数量" & vbCrLf  SQL = SQL & shF & vbCrLf  SQL = SQL & "GROUP BY [商品],[業者],[住所]" & vbCrLf  rs.Open SQL, cn  '出力先をクリアーして結果セットを格納  shT.Cells.ClearContents  shT.Cells(1, 1).Value = "商品"  shT.Cells(1, 2).Value = "業者"  shT.Cells(1, 3).Value = "住所"  shT.Cells(1, 4).Value = "数量"  shT.Cells(2, 1).CopyFromRecordset rs   '後処理  rs.Close  Set rs = Nothing  cn.Close  Set cn = Nothing End Sub

  • msMike
  • ベストアンサー率20% (363/1773)
回答No.4

添付図参照 Sheet1 の範囲 A1:D1000 を選択 ⇒ Alt+MC ⇒ “上端行”以外のチェック外し ⇒ [OK] ⇒ 列範囲 A:C を選択 ⇒ Ctrl+C ⇒ Sheet2 のセル A1 を選択 ⇒ Ctrl+V ⇒ Sheet2 の列範囲 A:C が選択状態のままで、Alt+AM ⇒ [OK] ⇒ [OK] ⇒ Sheet1 のセル D1 を選択 ⇒ Ctrl+C ⇒ Sheet2 のセル D1 を選択 ⇒ Ctrl+V ⇒ 次式を入力した Sheet2 のセル D2 のフィルハンドルを「エイヤッ!」とダブル クリック =SUMPRODUCT((品名=A2)*(業者=B2)*(住所=C2)*数量)

  • unokwave
  • ベストアンサー率58% (966/1654)
回答No.3

数量の右側セルをEカラムと仮定して、 =A2&"-"&B2&"-"&C2 という式を入力して、オートフィルで最終行まで適用してください。 あとはeセルを対象に集計機能を使えば目的が達成できます。 https://forest.watch.impress.co.jp/docs/serial/exceltips/1078038.html

  • oboroxx
  • ベストアンサー率40% (317/792)
回答No.2

エクセルではVBAを使わないと無理な気がします。 お手軽な方法は、Accessにそのテーブルをインポートしてしまえば、Accessのグループ化で簡単にできますよ。

  • msMike
  • ベストアンサー率20% (363/1773)
回答No.1

》 サマリーしたい サマリーするとは日本語でどういう意味ですか?

関連するQ&A

  • accessでグループ化して集計する方法

    ACCESS2000を使っています。 たとえば、こんなテーブルがあるとします。 |都道府県|市区|区分| |東京都|目黒区|A| |東京都|板橋区|A| |東京都|板橋区|B| |東京都|その他|B| |東京都|その他|C| |千葉県|市川市|A| |千葉県|千葉市|C| |千葉県|その他|A| これを |東京都|目黒区|1| |東京都|板橋区|2| |東京都|その他|2| |千葉県|市川市|1| |千葉県|千葉市|1| |千葉県|その他|3| のように、|区分|に何か入っていたら1カウントして集計したいのですが、どうすればいいでしょうか? 集計クエリで、|都道府県|と|市区|でグループ化したのですが、 |東京都|目黒区|1| |東京都|板橋区|2| |東京都|その他|5| |千葉県|市川市|1| |千葉県|千葉市|1| |千葉県|その他|5| となってしまいます。 |その他|の部分が、どちらも全て合算されてしまいます。 それぞれに出すにはどうしたらいいのでしょうか?

  • Access で重複データを削除

    Access2010を使用しています。フィールドが2個あります。【都道府県名フールド】【市区町村名フィールド】です。 都道府県フールドには、重複データが有ります。【東京都 品川区】【 東京都 大田区】【千葉県 市川市】【千葉県 船橋市】・・・・】このような重複データがある時に、エクセルの【データ 重複の削除】の様な結果が欲しい。実行後は【東京都 品川区】【千葉県 市川市】です。*エクセルの重複の削除は最初の行が残ると有りました。簡単な方法をお願い致します。現在実施している方法はアクセスで、エクセルでエクスポートして、【データ データの削除】を実施しています。 ※OKWAVEより補足:「ひかりTVのサービスやISPぷらら」についての質問です。

  • EXCEL で複数行を1単位としてソートかけたいのですが

    EXCEL で複数行を1単位としてソートかけたいのですが ご存知の方教えてください。 例えば 第8号   安部なつみ   東京都○○区   090-1234-5678 第3号   井川遥   千葉県ちば市○○町   080-1234-5678 第4号   上戸綾   群馬県○○市   090-9876-5432 こんな感じで 4行1単位のデータを号でソートできませんか? よろしくお願いします

  • 千葉県市川市のメリット

    8月に市川市に引越しする事にしました。 現在東京都に住んでいますが、初めて引越しで都内を出ます。 祖父母は東京都で老人のためバスのただ券をもらっていました。 渋谷区からは敬老の日に1万円のお祝いをもらっていました。 千葉県及び市川市では老人の為のサービスって何かあるのでしょうか? 祖父母はその事ばかりが気がかりのようです。(笑) 毎年の楽しみだった事と、バスに乗る機会が多い事で 気になっているようです。 他にも、知っているとお得な情報を教えてください!!

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

    エクセルで、【1.元データ】のようなデータがシート毎に5,000社ほどあります。このデータを各市区町村ごとに集計を取りたいのです。 【1.元データ】 A社 ┃ 東京都品川区戸越 B社 ┃ 東京都新宿区下落合 C社 ┃ 東京都新宿区新宿 D社 ┃ 埼玉県川口市柳崎 E社 ┃ 神奈川県川崎市中原区丸子通 そこで、ピボットテーブルを使って集計したかったのですが、同じセルの中に番地までデータが入っていて【2.集計後のイメージ】のような意図している集計が出来なかったです。 【2.集計後のイメージ】 品川区 ┃ 1 新宿区 ┃ 2 川口市 ┃ 1 川崎市 ┃ 1 これを解決するにはどういう集計の仕方をすればいいでしょうか? 現在はエクセル上で住所データで並べ替えをして数えて集計をしているのですが、時間がかかってしまうため、何かいい方法はありませんか?

  • 市川市のゴミ袋って破れやすくない?

    こんばんは。 市川市のゴミ袋って東京都のゴミ袋に比べて強度が弱いと思うんですがみなさんどう思いますか? あと東京都はどの区も同じゴミ袋なのに、なぜ千葉県だけ市によってゴミ袋を分けているのでしょうか? ちなみに浦安市はまだ黒のゴミ袋で出していました。 そう思う方いませんか?

  • 市川市のゴミ袋って破れやすくない? 

    こんばんは。 市川市のゴミ袋って東京都のゴミ袋に比べて強度が弱いと思うんですがみなさんどう思いますか? あと東京都はどの区も同じゴミ袋なのに、なぜ千葉県だけ市によってゴミ袋を分けているのでしょうか? ちなみに浦安市はまだ黒のゴミ袋で出していました。 そう思う方いませんか?

  • Excel 住所分け

    都道府県列に 東京都渋谷区神宮前1-13-23 ●●●ハウス 東京都世田谷区南烏山5丁目11-3 千葉県柏市若柴178番地4柏葉キャンパス6F と入ってますそれを 都道府県 市区郡 以降の住所(町名・番地) ビル名 と分けたいです。↑は最初から入ってます。 番地とビル名の間はスペースあったりなかったり 番地の表示も色々です。 F列     G列         H列         I列        都道府県  市区郡   以降の住所(町名・番地)   ビル名 東京都   渋谷区   神宮前1-13-23        ●●●ハウス 東京都   世田谷区  南烏山5丁目11-3 千葉県   柏市    若柴178番地4         柏葉キャンパス6F

  • ピボットテーブル集計について

    お世話になります。 下記のようなEXCELがあります。 品名にはスナック、チョコ、パンの3種類がありまして、店舗毎に集計しているので同商品名でそれぞれの数量、金額が入力されています。(下記のEXCELの部分です) これをピボットテーブルを使って下記の(ピボット処理後)のように集計したいのですが、やり方をご教授いただけませんでしょうか。 環境:Windows XP(Pro) Excel2003 (EXCEL) 【品名】 【数量】 【金額】 スナック     1   100   チョコ      4    200   パン       4    400 スナック     3     300 チョコ      2    100 パン       1    100 スナック     1    100 チョコ      4    200 パン       2    200 スナック     3    300 チョコ       1    50 パン       2     200 (ピボット処理後)         列【数量】 【金額】 行【品名】 スナック       8    800 チョコ        11    550 パン         9    900

  • Excelの集計について教えてください。

    Excelの集計について教えてください。 集計すると、集計合計が挿入されますが、その行に全ての項目名を表示する方法はありませんか? (例) 担当 顧客名  品名 単価   数量 ◎◎◎ ・・・・ NNNN 500    5 ◎◎◎ ・・・・ NNNN  500    58   ・・・・;合計  1000   63 で表示されますが、担当名・品名 など全ての項目名を合計行に表示して 集計する方法はありませんか? 宜しくお願い致します。

専門家に質問してみよう