
エクセルの同じワークブック内に下記データがあります。
この二つのデータを整理してまとめたいと思っていますがVBA等でどのようにすれば出来るでしょうか?
整理したいデータは2行目からです。
ややこしくてなかなか伝わらないかもしれませんが、都度補足致しますのでよろしくお願い致します。
ワークシート名「JUTYU」
A列、B列、C列、D列、E列、F列、G列、H列、I列、J列、K列、L列、M列、・・・
日付1、*、品名1、*、*、受注数量、*、*、*、コード1、*、品名2、コード2、・・・
ワークシート名「JISSEKI」
A列、B列、C列、D列、E列、F列、G列、H列、・・・
日付2、品名1、*、*、品名2、コード1、*、実績数量、・・・
↓これをワークシート「まとめ」にこのようにまとめたい
A列、B列、C列、D列、E列、F列、G列、H列、・・・
1行目 【空白】、【空白】、【空白】、【空白】、【空白】、【空白】、年、【空白】・・・、年・・・
2行目 コード1、 コード2、【空白】、 品名1、 品名2、 区分、1月、2月・・・、1月、・・・
3行目 データ、 データ、【空白】、 データ、 データ、 受注、上記年月にあう「日付1」の「受注数量」のデータを入れる。その月の数量がなければ空白・・・・
4行目 【空白】、【空白】、【空白】、【空白】、【空白】、 実績、上記年月にあう「日付2」の「実績数量」のデータを入れる。その月の数量がなければ空白
5行目 【空白】、【空白】、【空白】、【空白】、【空白】、 内示、全部空白・・・
6行目 【空白】、【空白】、【空白】、【空白】、【空白】、 見込み、全部空白・・・
7行目 【空白】、【空白】、【空白】、【空白】、【空白】、 合計、3行目~5行目のSUM・・・
3行目~7行目を一グループとし、8行目以降は同じデータごとに繰り返し
※「データ」は、2行目に合う上記ワークシート情報のデータを持ってくる。
※上記ワークシートで同じデータ同士でまとめたい。
(品名1、品名2が両ワークシートで全て共通であれば一グループにデータをまとめる。なお、品名1と品名2が共通であれば、おのずとコード1も共通になります。)
※コード1、コード2、品名1、品名2の優先順に昇順でまとめる。
※ただし、当月が2018年9月の場合、
ワークシート「JUTYU」は2018年8月以前のデータは無視する
ワークシート「JISSEKI」は2018年9月以降のデータは無視する
※データのまとめは前年の1月~。それ以前のデータは無視する。例えば今が2018年9月であれば、2017年1月~でまとめる。←これは後で変えれるようにしたいです。


No.11ベストアンサー
- 回答日時:

No.9
- 回答日時:
>JUTYUとJISSEKIで共通の品名1、品名2の組み合わせがあれば、それも一つにまとめたいです。
もし、以下のように、JUTYUに以下の様に、品名1、品名2の組み合わせがおなじものが、複数あった場合、
JISSEIKIのデータはどちらにまとめるのですか。
例)JUTYU コード1:1001、コード2:1012、品名1:AAAA、品名2:BBBBB、日付:2018年10月、台数:100
JUTYU コード1:1001、コード2:1013、品名1:AAAA、品名2:BBBBB、日付:2018年10月、台数:100
JUTYU コード1:1001、コード2:1014、品名1:AAAA、品名2:BBBBB、日付:2018年10月、台数:100
JISSEKI コード1:1001、品名1:AAAA、品名2:BBBBB、日付:2018年9月、台数:200台
↓
提示された例のようにコード1012にまとめてよいのですか。
2018年
コード1 コード2 品名1 品名2 区分 1月・・・9月 10月
1001 1012 AAAA BBBBB 受注 100
実績 200
それとも、コード1013のほうにもまとめて良いのですか。
2018年
コード1 コード2 品名1 品名2 区分 1月・・・9月 10月
1001 1013 AAAA BBBBB 受注 100
実績 200
それとも、このようなケースは考慮しなくて良いのですか。
申し訳ございません。
挙げて頂いたケースは考慮頂かなくて問題ありません。
(理由:同じ品名1でコード2が分かれるパターンは存在しません。)

No.8
- 回答日時:
下記URLにアップしました。
標準モジュールに登録してください。https://ideone.com/zzsDpf
集計開始年のB1は数値を入力してください。(シリアル日付ではありません)
処理年月のD1はシリアル日付で入力してください。(文字列ではありません)
ありがとうございます!
申し訳ございません。コード1、コード2、品名1、品名2の関係で漏れていました。
JUTYUとJISSEKIで共通の品名1、品名2の組み合わせがあれば、それも一つにまとめたいです。
例)JUTYU コード1:1001、コード2:1012、品名1:AAAA、品名2:BBBBB、日付:2018年10月、台数:100
JISSEKI コード1:1001、品名1:AAAA、品名2:BBBBB、日付:2018年9月、台数:200台
↓
2018年
コード1 コード2 品名1 品名2 区分 1月・・・9月 10月
1001 1012 AAAA BBBBB 受注 100
実績 200

No.7
- 回答日時:
補足ありがとうございました。
以下の仕様で、問題ないでしょうか。
1.集計開始年は「まとめ」シートのB1に記入するものとします。(添付図参照の黄色部分)
集計開始年の1月がG列に割り当てられます。
2.処理年月は「まとめ」シートのD1に記入するものとします。 (添付図参照の黄色部分)
3.「まとめ」シートの1行目と2行目は見出しの為、更新しません。マクロは3行目以降を設定します。
4.罫線は5行ごとに引きますが、最大の列が不明の為、2行目の最大列に合わせて、1列~最大列まで引きます。
5.「まとめ」シートのデータのソートは、以下のオーダーとなります。
第1キー:コード1
第2キー:コード2
第3キー:品名1
第4キー:品名2
JISSEKIシートにはコード2がありませんので空白になります。
従って、コード2が空白でないグループ(添付図の赤線で囲んだグループ)は、受注の数量が設定され、実績の数量が設定されることはありません。
コード2が空白のグループ(添付図の赤線で囲んだグループ)は、実績の数量が設定されます。又、JUTYUシートでコード2が空白の場合の受注の数量が設定されます。


No.6
- 回答日時:
補足要求です。
①当月が2018年9月の場合の例が、提示されていますが、
当月が9月であると、どうやって判断するのでしょうか。
マクロ実行時の日付(CPU時間)から、その月を算出は可能ですが、
9月の処理を10月になってから行いたいということはないのでしょうか。
それであれば、一例ですが、添付図のように「まとめ」シートのD1に処理年月を記入しておき、
その年月をもとに処理をしたほうが良いと考えますがいかがでしょうか。
②JISSEKIシートとJUTYUシートのデータ件数はおよそ何件でしょうか。
③コード1、コード2、品名1、品名2との関係はどのようになっていますか。
通常は、品名1にコードを割り振ったものがコード1、品名2にコードを割り振ったものがコード2であり、
コード1と品名1は1:1の関係
コード2と品名2は1:1の関係と考えられます。
ところが、あなたの
「品名1と品名2が共通であれば、おのずとコード1も共通になります。」を読むと、
コード1と(品名1+品名2)が1:1の関係のように見えます。
つまり、(品名1+品名2)にコードを割り振ったものがコード1のように見えます。
すると、コード2はいったい何なのでしょうか。
コード1、コード2、品名1、品名2との関係がよくわかりません。
④当月がが2018年9月の場合、
>データのまとめは前年の1月~。それ以前のデータは無視する。
>例えば今が2018年9月であれば、2017年1月~でまとめる。←これは後で変えれるようにしたいです。
とのことですが、そうすると
2017年1月~2018年12月でまとめるのではないでしょうか。
提示された画像では、G列~R列は2017年1月~12月分なのでしょうか。
そして、画像には表示されていませんが、S列~AD列が2018年1月~12月分なのでしょうか。
又、「←これは後で変えれるようにしたいです。」の意味はどのようなことでしょうか。
例えば、この例では、前年から集計しているが、何か設定を変えると、
前前年の2016年1月~2018年12月まで集計できるようにしたいというようなことでしょうか?
それであれば、集計の開始年(今回は2017年)をどこかのセルに記述しておくべきと考えますがいかがでしょうか。

No.5
- 回答日時:
JUTYU
のワークシートO列後ろにJISSEKI
のJUTYUに無い項目を貼り付け
日付を年月のみのもの追加
コード1 コード2
の3通りの組み合せ組み合わせを
関数で1つのセルに表示
その後、ピポッドテーブル
使用してみては。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAで重複データを合算したい(時間) 1 2022/12/08 23:06
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
- Excel(エクセル) スプレットシートでA1~G1にデータが入っていて、 それを1列ずつ空けて表示する関数がわかる方いまし 4 2022/08/25 09:39
- Visual Basic(VBA) EXCEL VBAでA列にある空白行より下の行すべてを削除する方法を教えてください。 3 2023/02/17 07:02
- Visual Basic(VBA) エラーコード1004 6 2022/06/09 14:12
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Excel(エクセル) 特定文字(数字)で行挿入、挿入された行で合計したい 2 2023/03/13 14:30
- Excel(エクセル) 【条件付き書式】countifsで複数条件を満たしたセルを赤くする方法 2 2023/02/09 23:53
- Excel(エクセル) データ入力規則リスト 空白を無視 3 2022/07/13 15:11
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】並び替えの範囲が、...
-
Excel2017 フィルタ昇順並びがA...
-
Excelで並び替え後にア行...
-
文字列を比較し、相違するフォ...
-
エクセルで行の高さ及び列幅の...
-
【Excel】数式の参照範囲を可変...
-
【Excel VBA】指定した行の最大...
-
EXCELで日付を比べ3か月以内の...
-
基準日以前のデータを範囲を指...
-
エクセル関数について
-
オートフィルタ後のデータから...
-
エクセル VBA 行間隔を飛ばした...
-
Excelで複数列のデータを1列に...
-
エクセル関数のSUMPRODUCTにつ...
-
データの整理(VBA)
-
EXCELの関数で大なり記号を複数...
-
excel / ピポッド 日数を出したい
-
VBA 配列で型がエラーになります。
-
時間の重複チェック
-
プルダウンに【なし、平均、デ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel2017 フィルタ昇順並びがA...
-
エクセルで行の高さ及び列幅の...
-
Excelで並び替え後にア行...
-
【Excel VBA】指定した行の最大...
-
エクセルの時刻のカウントが出...
-
オートフィルタ後のデータから...
-
急ぎ!色のついたセルを非表示...
-
EXCELで日付を比べ3か月以内の...
-
基準日以前のデータを範囲を指...
-
エクセル VBA 行間隔を飛ばした...
-
excel / ピポッド 日数を出したい
-
プルダウンに【なし、平均、デ...
-
マクロで行の高さを設定したい
-
エクセル関数について
-
文字列を比較し、相違するフォ...
-
EXCEL 最終行のデータを他のセ...
-
VBA 複数行の検索及び抽出
-
検索条件に合うセルの個数を数...
-
VBA 配列で型がエラーになります。
-
行の一番右のデータセルと同じ...
おすすめ情報
文字数の関係でご質問順に⇒で記載します。
⇒融通利かせるようにご提案のシートに記載でお願い致します。
⇒JISSEKI:MAX10000件ぐらい
JUTYU:MAX5000件ぐらいです。
⇒ややこしくてすみません。大きく2種類(コード、品名)の意味で表現しました。
・コード⇒最初の納品先(コード1)、エンドユーザー(コード2)
・品名⇒部品記号(品名1)、部品名(品名2)
⇒開始年月は2017年1月~で問題ありませんが、その先は2018年12月以降になる可能性があります。(JUTYUシートは今後の見込みデータなので、2019年のデータとかもあります。日付データがある年までの12月まででデータを集計したいと思っています。)
⇒ご提案のように、どこかのセルに集計開始年を記入で集計したいです。
もう一つ漏れていました。
合計のところはSUM関数にしたいです(区分:受注と実績以外の区分のところは手入力で数値を入れる為)。SUM関数なので、受注と実績に数値が無い列は0表示されてしまいますが、それは問題ありません。