
ID 数量 名称 コード 要因
11768 20 レモン 黄色 AB
11770 50 レモン 黄色 AB
11780 10 パイン 黄色 AB
11784 20 りんご 赤 BC
11785 60 りんご 赤 XX
11787 20 りんご 赤 ZZ
11786 20 りんご 赤 YY
11788 20 りんご 赤 YY
11789 20 りんご 赤 YY
11791 30 りんご 赤 YY
11793 20 パプリカ 赤 YY
このようなデータがありまして、名称+コード+要因で単位で一致している物を重複データとして下記のように加算したいと思っています。
名称 コード 数量 要因
レモン 黄色 70 AB
パイン 黄色 10 AB
りんご 赤 20 BC
りんご 赤 60 XX
りんご 赤 20 ZZ
りんご 赤 90 YY
パプリカ 赤 20 YY
ネットを見て、エクセルVBAでマクロを書いていたのですが、が、加算すること出来ませんでした。
CreateObject("Scripting.Dictionary")を使用してしまうと重複データを割り出す事は出来ませんでした。
名称 コード 数量 要因
レモン 黄色 20 AB
パイン 黄色 10 AB
りんご 赤 20 BC
りんご 赤 60 XX
りんご 赤 20 ZZ
りんご 赤 20 YY
パプリカ 赤 20 YY
このように名称+コード+要因で最初に見付かったものだけを抽出してしまいました。
これのデータに対し、真ん中の表のように加算も行いたいのですが、エクセルvbaで可能でしょうか?
お力添えをお願いします。
No.2ベストアンサー
- 回答日時:
No.1です。
> sum As Integer,
これはいらなかったですね。
⇒使うの忘れてました。
No.1
- 回答日時:
シート1のA1を起点とした表から集計してシート2のA1以降に書き出すものです。
違っていたらごめんなさい。
Sub megu()
Dim myDic As Object
Dim r As Range
Dim sum As Integer, st As String
Set myDic = CreateObject("Scripting.Dictionary")
With Worksheets("Sheet1")
For Each r In .Range("C2", .Cells(Rows.Count, "C").End(xlUp))
st = Join(WorksheetFunction.Index(r.Range("A1:C1").Value, 1, 0), "_")
If Not myDic.Exists(st) Then _
myDic.Add st, Array(r.Value, r.Range("B1").Value, _
WorksheetFunction.SumIfs(.Range("B:B"), .Range("C:C"), r.Value, .Range("D:D"), r.Range("B1").Value, .Range("E:E"), r.Range("C1").Value), _
r.Range("C1").Value)
Next
End With
With Worksheets("Sheet2")
.Cells.ClearContents
.Range("A1:D1").Value = Array("名称", "コード", "数量", "要因")
.Range("A2").Resize(myDic.Count, 4).Value = Application.Transpose(Application.Transpose(myDic.Items))
End With
Set myDic = Nothing
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 7 エクセルで重複データから抽出したい 2 2022/05/18 23:31
- PostgreSQL postgreSQL カラムの全ての値を取得したい 3 2022/10/07 12:33
- 高校 数学A組み合わせの考え方 3 2022/04/19 09:05
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Photoshop(フォトショップ) (Scratch Jr)「黄色いアイコン」の名前 1 2022/12/06 07:44
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
- Excel(エクセル) Excelの関数詳しい方お願いします。 13 2023/01/18 21:11
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Visual Basic(VBA) VBA 連続する名前ごとに集計 3 2022/05/21 18:24
このQ&Aを見た人はこんなQ&Aも見ています
-
いちばん失敗した人決定戦
あなたの「告白」での大失敗を教えてください。
-
【お題】動物のキャッチフレーズ
【お題】「百獣の王 ライオン」「実は動物界最強 カバ」は分かるけど、それはちょっとピンと来ないなと思った動物のキャッチフレーズ
-
性格いい人が優勝
できるだけ性格いい人になって回答をお願いします。
-
単二電池
あなたの家に何本ありますか?
-
あなたが好きな本屋さんを教えてください
どのくらいの規模間で、どのような本が並んでいるか、どのような雰囲気なのかなどなど...
-
VBAで重複データを合算したい
Excel(エクセル)
-
VBAで重複する項目を1つにまとめて金額を合計したい
Excel(エクセル)
-
重複行を削除して数値を合算したい(合算列が多い)
Excel(エクセル)
-
-
4
重複データの合算(VBA)
Visual Basic(VBA)
-
5
重複するIDのデータを1行にまとめるvbaのコード
Access(アクセス)
-
6
VBAで重複データを合算したい(時間)
Excel(エクセル)
-
7
vba 重複データ合算
Visual Basic(VBA)
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
VBAで文字列を数値に変換したい
Excel(エクセル)
-
10
Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでのフラグの立て方
-
相手に物を譲る時、金額が発生...
-
アップルパイの下側の生地
-
アップルパイは温かいか冷たいか
-
パイの焼き方
-
アップルパイの食べ頃を教えて ...
-
海外の人がりんごを皮ごと食べ...
-
「りんご5つをください」と「...
-
冷凍パイシートってどこに売っ...
-
「だまされたと思って」
-
硬くて甘くないリンゴの美味し...
-
うさぎの形にりんごを切り始め...
-
シャトレーゼのアップルパイは3...
-
1.1は自然数ですか?
-
アップルパイの底がサックリ焼...
-
紅玉は煮崩れしにくい?
-
シナモンの甘みの成分は何と呼...
-
簡単な質問で申し訳ないのです...
-
4.8ミリグラムは小さじどのくら...
-
りんごとお米を家族に送りたい...
おすすめ情報