[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『重複データの合計』(WWF)
A列に商品名 B列に個数 がある表で A列の商品名が多数重複しています(1000行) 商品名は その都度 取込みデータで 毎回違います 重複している商品は すべての合計数を 重複していない商品は その横の数を C,D列 もしくは 別シートに出したのですが いろいろHPを調べてみましたが いまいち わかりません どなたかよろしくお願いします
A B 1 あ 2 2 あ 5 3 い 1 4 う 2 5 う 3 6 う 1 7 え 5
↓↓このようにしたいです C D 1 あ 7 2 い 1 3 う 6 4 え 5
お望みの姿とはちょっと違うけど、1行目をタイトル行にしてデータ->集計。 (2007以降ならデータタブの小計) ここで集計して、レベル2で折りたたむ。
あるいは同じく、1行目をタイトル行にして、Sheet2を選んで、フィルタオプション。 SHeet1のA列を重複を無視してSheet2のA列に。で、Sheet2のB列にSUMIF関数を。
(ぶらっと)
VABでの一案。アップされたサンプル通り、1行目からデータ。C,D列に集計
Sub Sample() Dim c As Range Dim dic As Object
Set dic = CreateObject("Scripting.Dictionary")
With Sheets("Sheet1") For Each c In .Range("A1", .Range("A" & .Rows.Count).End(xlUp)) dic(c.Value) = dic(c.Value) + Val(c.Offset(, 1).Value) Next .Columns("C:D").ClearContents .Range("C1").Resize(dic.Count).Value = WorksheetFunction.Transpose(dic.keys) .Range("D1").Resize(dic.Count).Value = WorksheetFunction.Transpose(dic.items) End With
End Sub
(ぶらっと)
VBA別案。フィルターオプション。↑と同様、1行目からデータ。結果はC,D列。
Sub Sample2() Application.ScreenUpdating = False With Sheets("Sheet1") .Columns("C:D").ClearContents .Rows(1).Insert Shift:=xlDown 'フィルターオプション用 タイトル行 挿入 .Range("A1:B1") = Array("A", "B") .Columns("A:A").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range("C1"), Unique:=True .Rows(1).Delete 'フィルターオプション用 タイトル行 削除 With .Range("C1", .Range("C" & .Rows.Count).End(xlUp)).Offset(, 1) .Formula = "=SUMIF(A:A,C1,B:B)" .Value = .Value End With End With Application.ScreenUpdating = True End Sub
(ぶらっと)
取り込んだデータにタイトル行が有るなら ピボットテーブルを使って集計してみるのはどうでしょう。
(HANA)
(WWF)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.