![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
あまりEXCELには詳しくないので、詳細に教えて下さると助かります。
以下の表から製品名毎に表を作成したいのですが何かいい方法はないでしょうか。
シート1のデータ↓
製品名 受注納期 回答納期 顧客注番 受注数量 発注数量 メモ
製品A 4/5 4/1 123456 100 1
製品B 4/6 4/2 200 2
製品C 4/7 4/3 123458 300 200
製品B 4/8 4/4 123459 400
製品B 4/9 4/5 500 300 3
製品C 4/10 4/6 123461 600
製品D 4/11 4/7 123462 700
結果としてシート2に下記の様に自動抽出できるようにしたいです。データは定期的に更新するのでフィルタオプションでは対応しきれずに…できれば元データを更新するたびに表が自動更新される様にしたいです。
シート2への抽出結果↓
製品名 受注納期 回答納期 顧客注番 受注数量 発注数量 メモ
製品A 4/5 4/1 123456 100 1
製品名 受注納期 回答納期 顧客注番 受注数量 発注数量 メモ
製品B 4/6 4/2 200 2
製品B 4/8 4/4 123459 400
製品B 4/9 4/5 500 300 3
製品名 受注納期 回答納期 顧客注番 受注数量 発注数量 メモ
製品C 4/7 4/3 123461 300 200
製品C・・・・・・
の様に抽出したい場合はどのような関数を使用すれば良いでしょうか。
マクロVBAに関しての知識が少ないので、そちらを使用する場合、より詳細にお教えいただけると大変助かります。
IF関数やCOUNTIF関数を使用して表の作成を試みようと思いましたが、製品の数が多いため対応しきれずに困っております。
宜しくお願い致します。
No.3
- 回答日時:
抽出結果は、すべてシート2へ表示して良いのですよね?商品名別にシートを分ける必要が無いのであれば、こんなのでもできますよ。
処理概要は以下の通りです。①シート1をシート2へ、まるまるコピーする。
②シート2を商品名でソートする。
③最終行から上に向かって商品名を見ていき、ブレークしたところに見出し行と空行を挿入する。
(ご参考)
このサブプロシジャをSheet2のWorksheet_Activate()イベントプロシジャからCallするようにすれば、自動で再抽出ができます。(シート2をアクティブにするたびに起動されるので、ちょっと鬱陶しいかもしれませんが…)
Sub Sample()
Dim LastRow As Long
Dim I As Long
Sheets("Sheet1").Cells.Copy Destination:=Sheets("Sheet2").Range("A1")
LastRow = Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row
With Sheets("Sheet2").Sort
.SortFields.Clear
.SortFields.Add Key:=Range("A2:A" & LastRow)
.SetRange Range("A1:G" & LastRow)
.Header = xlYes
.Apply
End With
With Sheets("Sheet2")
For I = LastRow To 3 Step -1
If .Cells(I, "A") <> .Cells(I - 1, "A") Then
.Rows(1).Copy
.Rows(I).Insert Shift:=xlDown
.Rows(I).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End If
Next
End With
End Sub
回答ありがとうございます。
お二人とも凄いですね…。
私も自分でこんなのが作れるように勉強しなきゃです…;
ママチャリさんの作ってくれたものも試してみましたが、こちらは表の区切りの空欄にも頚腺が引かれてしまって製品ごとの区切りが無く、見づらくなってしまいました。
でも、そこを改善すればこちらも使えそうです。
ありがとうございます!
No.1
- 回答日時:
こんにちは!
VBAになりますが一例です。
Alt+F11キー → メニュー → 挿入 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)
マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub Sample1() 'この行から//
Dim i As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.Clear
With Worksheets("Sheet1")
.Range("A:A").AdvancedFilter Action:=xlFilterCopy, copytorange:=wS.Range("A1"), unique:=True
For i = 2 To wS.Cells(Rows.Count, "A").End(xlUp).Row
.Range("A1").AutoFilter field:=1, Criteria1:=wS.Cells(i, "A")
.Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy wS.Cells(Rows.Count, "B").End(xlUp).Offset(2)
Next i
wS.Range("A:A").Delete
wS.Rows(1 & ":" & 2).Delete
wS.Columns.AutoFit
.AutoFilterMode = False
End With
End Sub 'この行まで//
※ 関数でないので元データの変更があるたびにマクロを実行する必要があります。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- 簿記検定・漢字検定・秘書検定 直接材料費 ¥1.000.000 直接労務費 ¥1.500.000 変動製造間接費 ¥300.000 2 2022/11/25 00:27
- Excel(エクセル) Excelで在庫表(クエリ、ピボット) 2 2022/04/11 17:11
- 経営情報システム 在庫管理のこの問題が分かりません。どなたか解説お願いします。 0 2022/04/18 16:02
- 数学 在庫管理のこの問題が分かりません。どなたか解説お願いします 4 2022/04/18 22:19
- 数学 在庫管理のこの問題が分かりません。どなたか解説お願いします 2 2022/04/18 22:21
- その他(ビジネススキル・経営ノウハウ) 在庫管理のこの問題が分かりません。どなたか解説お願いします 2 2022/04/18 18:35
- Excel(エクセル) エクセルで重複データから重複を削除して指定の列に抽出したい 11 2022/05/11 11:26
- その他(ビジネススキル・経営ノウハウ) クラウドファウンディングによる新製品の販売支援要求。「あれ?この商品、もう完成品じゃね?」という疑問 2 2022/08/22 12:32
- Excel(エクセル) VBA でvlookup エラーなどは削除したい 8 2022/12/30 04:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでエクセルシートを更新...
-
excelで、セル内に文字が入力さ...
-
エクセルの担当者別にシートを...
-
「エクセル2007」のシートの行...
-
「24日の0時」って・・・
-
パソコンで購入したデーターが...
-
回覧板の日付について質問です...
-
エクセルで日付別にシートを分...
-
「時間」、「期日」、「日付」...
-
UWSCで全角(ひらがな、カタカ...
-
下の画像はアンドロイドタブレ...
-
ストリートビューの過去ってど...
-
エクセルで漢字を数字に変換す...
-
Excel VBAでオートフィルタ後...
-
コンピューターで2進法が採用...
-
日付の大小の表現
-
Excelでテキストボックスやオー...
-
エクセルのチェックボックスを...
-
ウィンドウ枠の固定ができない
-
ATOKのポップアップを消したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでエクセルシートを更新...
-
excelで、セル内に文字が入力さ...
-
エクセルのシートを同時に行削...
-
【エクセル】シートのロックで...
-
表示倍率を変更させない方法
-
エクセルの担当者別にシートを...
-
エクセルで、2つのシートにある...
-
エクセルで別シート、または別...
-
エクセルのマクロ。 お世話にな...
-
エクセルVBAでデータ検索について
-
同一セルに入力規則のリストと...
-
エクセルシートの統合
-
STAT VIEWが使えない!!!
-
旬ごとの集計方法
-
ファイナンシャルプランナーの...
-
エクセル◎○の人は、一つ昇格し...
-
エクセルVBAで65536レコードを...
-
教えてください!エクセルのシ...
-
エクセルで、作った年間カレン...
-
シートを串刺しで抽出したいの...
おすすめ情報