- 締切済み
Excel上、データを行毎にサマリーしたい
無知ですみません、どなたかエクセル関数、マクロを駆使した効率のいいやり方をご教授下さい。 エクセル上で、以下のようなリスト【サマリー前】について、数量が一致する行をサマリーして【サマリー後】のような形で集計したいのですが、いい手法が思い浮かばずに困っています。 数量の集計だけならピポットテーブルでも事足りると思うのですが、どうしてもは以下のようなリスト形式にまとめたいのです。 地道に1行1行手で集計しようとすると数万行あるため、ミスが怖くてできません。 何卒、よろしくお願い致します。 ■サマリー前 品名 業者 住所 数量 アイス 業者1 東京都渋谷区 1個 アイス 業者1 東京都渋谷区 2個 チョコ 業者2 千葉県市川市 3個 チョコ 業者2 千葉県市川市 2個 アイス 業者2 千葉県市川市 4個 アイス 業者2 千葉県市川市 1個 ↓ ■サマリー後 品名 業者 住所 数量 アイス 業者1 東京都渋谷区 3個 チョコ 業者2 千葉県市川市 5個 アイス 業者2 千葉県市川市 5個
- mo25858
- お礼率20% (5/25)
- Excel(エクセル)
- 回答数5
- ありがとう数2
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- HohoPapa
- ベストアンサー率65% (454/690)
>エクセル関数、マクロを駆使した効率のいいやり方 添付画像を例に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)
添付図参照 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)
数量の右側セルをEカラムと仮定して、 =A2&"-"&B2&"-"&C2 という式を入力して、オートフィルで最終行まで適用してください。 あとはeセルを対象に集計機能を使えば目的が達成できます。 https://forest.watch.impress.co.jp/docs/serial/exceltips/1078038.html
- oboroxx
- ベストアンサー率40% (317/792)
エクセルではVBAを使わないと無理な気がします。 お手軽な方法は、Accessにそのテーブルをインポートしてしまえば、Accessのグループ化で簡単にできますよ。
- msMike
- ベストアンサー率20% (363/1773)
》 サマリーしたい サマリーするとは日本語でどういう意味ですか?
関連する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(エクセル)
- ピボットテーブル集計について
お世話になります。 下記のような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
- ベストアンサー
- その他MS Office製品
- Excelの集計について教えてください。
Excelの集計について教えてください。 集計すると、集計合計が挿入されますが、その行に全ての項目名を表示する方法はありませんか? (例) 担当 顧客名 品名 単価 数量 ◎◎◎ ・・・・ NNNN 500 5 ◎◎◎ ・・・・ NNNN 500 58 ・・・・;合計 1000 63 で表示されますが、担当名・品名 など全ての項目名を合計行に表示して 集計する方法はありませんか? 宜しくお願い致します。
- 締切済み
- オフィス系ソフト