プロが教える店舗&オフィスのセキュリティ対策術

画像のように同じシートにある、C列からG列にある項目をV列からZ列に
K列からO列にある項目をAB列からAF列に
品名コード、生産者コード、品名が一致しているものに対して
項目をまとめて、品名を昇順にして注文数の合計を反映させたいです。


データは何行になるかわかりません
最終行の基準はC列、K列
先頭行は4行目から始まります。

お詳しい方宜しくお願いいたします。

「重複データをまとめて合計を合算する」の質問画像

質問者からの補足コメント

  • ご質問ありがとうございます。
    データは打ち込んでいるものではありません。
    品名は例としてひらがな、漢字で書きましたが、実際数字とアルファベットの羅列です。
    宜しくお願いいたします。

    No.1の回答に寄せられた補足コメントです。 補足日時:2022/10/26 05:41

A 回答 (4件)

こんばんは



内容的には、エクセルの機能の「コピペ」と「重複の削除」、「並び替え」でほとんどできると思いますので、範囲の取得とその調整さえできれば、ほぼ「マクロの記録」でも作成可能な内容と思います。


>品名コード、生産者コード、品名が一致しているものに対して~~
推測するところ、「品名コード」と「品名」は対応しているように思えるので、両方とも比較する必要があるのかは疑問ですが・・
また、上記3項目が同じでも価格が異なるものが存在する場合(ご例示ではそのようなものはなさそうですが)、無視してもよいものと解釈しました。

以下、ご参考までに。
※ タイトルのコピーや事前クリアは行っていません。
※ 罫線も追加していませんので、上記と併せて必要であれば追加してください。

Sub Q_13202534()
Dim d, i As Long, n As Long, j As Long
Dim r As Range, f1 As String

d = Array(3, 22, 11, 28)
Const f = "=IF(RC[-2]="""","""",SUM" & _
"IFS(@4,@1,RC[-3],@2,RC[-2],@3,RC[-1]))"

For i = 0 To 2 Step 2
Set r = Cells(5, d(i))
n = Cells(Rows.Count, r.Column).End(xlUp).Row - 4
If n > 0 Then
Set r = r.Resize(n, 5)

f1 = f
For j = 1 To 4
f1 = Replace(f1, "@" & j, r.Columns(j).Address(1, 1, xlR1C1))
Next j

r.Copy Cells(5, d(i + 1))
Set r = Cells(5, d(i + 1)).Resize(n, 5)
r.RemoveDuplicates Columns:=Array(1, 2, 3), Header:=xlNo
r.Sort Key1:=r.Columns(3), Header:=xlNo
r.Columns(4).FormulaR1C1 = f1
r.Value = r.Value
End If
Next i
End Sub
    • good
    • 14
この回答へのお礼

ご連絡遅くなり申し訳ありません。
おかげさまで無事に解決できました。ありがとうございました。

お礼日時:2022/11/02 08:05

1個の表ごとにやる+品名コードでの注文数量の合計で良ければ、データタブの中の統合で一発です。



他のデータは元表からVLOOKUPとかで引っ張ってこられると思いますから後で成型するのもさほど手間はかからないとは思いますけど。
    • good
    • 15
この回答へのお礼

実際にやってみたらできました、ありがとうございました!

お礼日時:2022/11/02 08:07

No.1です。



回答が付いたみたいですからもしそこで解決できるのであればスル~してください。

>重複データをまとめて合計を合算する

と言うタイトルからG及びO列の『単価』はわかるのですが、Z及びAF列の単価ってのが気になります。
上図の『注文数量』×『単価』を基に個別の『小計』とかにならないのかなと。
若しくは列を追加して3項目を並べるみたいな。

あるいはその部分は既に出来ているので省かれたのかな?
    • good
    • 1
この回答へのお礼

めぐみん_さん、いつもありがとうございます。解決できました。

お礼日時:2022/11/02 08:08

>品名を昇順にして



平仮名・カタカナ・漢字を有効とするのなら、このデータは直接シートに打ち込んでいるのでしょうか?
要するに『ふりがな情報』が存在しないとこのようには並び変わらないですね。
又は品名に対したIDコードの列でもなければ。
『品名コード』とは別の『並び替えに有効なコード』です。

と初級者レベルなジジィは寝ぼけた回答をしています。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!