エクセルでリストから出荷日を拾って表に自動で展開されるようなものを作成したいのですが、
複雑で悩んでいます。
品名 出荷日 数
メロン 3/15 10
バナナ 3/18 30
キウイ 3/20 5
上記のような表を、下記のような表に作り変えたいのですがどのようにマクロを組んだらできるのでしょうか?
出荷日
品名 ~3/13 3/14 3/15 3/16 3/17 3/18 3/19 3/20~
メロン 10
バナナ 30
キウイ 5
品名と日付が合う場所を探して数欄を自動入力するようにしたいです。
申し訳ありません。
お力をお貸しください。
No.1ベストアンサー
- 回答日時:
こんばんは!
関数ではダメですか?
↓の画像では元データ(Sheet1)をSheet2に表示するようにしています。
Sheet1に作業用の列を設けます。
作業列E2セルに
=IF(COUNTA(A2:B2),A2&"_"&B2,"")
という数式を入れ、これ以上データはない!という位まで下へフィル&コピーしておきます。
そしてSheet2のB3セルに
=IFERROR(INDEX(Sheet1!$C:$C,MATCH($A3&"_"&B$2,Sheet1!$E:$E,0)),"")
という数式を入れ、列・行方向にフィルハンドルでコピー!
これで画像のような感じになります。
※ 当然VBAでも可能ですが、今回の質問は関数の方が簡単だと思います。
※ VBAでやる場合、各Sheetの配置が1行・1列でも違えば全く意図しない結果になりますので、
質問文でも行・列の配置が回答者に判るように示された方が良いと思います。m(_ _)m
tom04様
関数,VBA共に回答をありがとうございます。
今回は追記などが簡単そうな関数を使用し表を作るようにしました。
回答者様にわかりやすいような質問の仕方についても勉強していきます。
ありがとうございました。
No.3
- 回答日時:
ピボットテーブルでご希望のシートが出来ると思いますが
試されましたでしょうか。
一度、ピボットテーブルの設定をしてしまえば
次からは、更新を実行するだけですが。
No.2
- 回答日時:
No.1です。
タイトルが「・・・マクロを使用して作りたい」となっていますので、
VBAでもやってみました。
前回アップした画像の配置通りとします。
尚、Sheet2のA列「品名」は重複なしに表示するようにしていますので、
A列は何も入力しなくても大丈夫です。
ただ、Sheet2の2行目はシリアル値をあらかじめ入力しておいてください。
標準モジュールです。
Sub Sample1()
Dim i As Long, lastRow As Long
Dim c As Range, r As Range
Dim wS As Worksheet
Set wS = Worksheets("Sheet2")
lastRow = wS.Cells(Rows.Count, "A").End(xlUp).Row
If lastRow > 2 Then
wS.Rows(3 & ":" & lastRow).ClearContents
End If
With Worksheets("Sheet1")
.Range("A:A").AdvancedFilter Action:=xlFilterCopy, copytorange:=wS.Range("A2"), unique:=True
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
Set c = wS.Range("A:A").Find(what:=.Cells(i, "A"), LookIn:=xlValues, lookat:=xlWhole)
Set r = wS.Rows(2).Find(what:=DateValue(.Cells(i, "B")), LookIn:=xlFormulas, lookat:=xlWhole)
wS.Cells(c.Row, r.Column) = .Cells(i, "C")
Next i
End With
End Sub
※ Sheet1のデータ変更があるたびにマクロを実行する必要があります。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Sheet1の出荷日と品名が並んだ表からSheet2の品名別出荷日別の個数一覧表を作っています。 オ 3 2022/12/01 23:54
- Excel(エクセル) Excelで在庫表(クエリ、ピボット) 2 2022/04/11 17:11
- Excel(エクセル) エクセルでのVBA 2 2022/08/03 06:48
- Visual Basic(VBA) EXCEL関数LOOKUPとFILTERについての質問です 1 2022/12/21 05:53
- Excel(エクセル) エクセルについて 8 2023/02/11 07:36
- その他(プログラミング・Web制作) パイソンでのプログラミングについて 3 2022/08/11 20:31
- Visual Basic(VBA) 【マクロ】表への繰り返し転記について 1 2022/11/19 16:30
- Excel(エクセル) エクセルの表について 3 2023/04/14 18:00
- Visual Basic(VBA) VBAコードで質問があります 2 2022/10/20 15:27
- Visual Basic(VBA) vbaマクロについて 次のようなマクロを組みたいです。 自分は初心者なので全くわかりません。 詳しく 8 2023/05/18 18:38
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラミング
-
Excelのマクロについて教えてく...
-
VBA 別ブックからコピペしたい...
-
Excelのマクロについて教えてく...
-
エクセルVBAコードで教えて下さ...
-
Outlookの「受信日時」「件名」...
-
VBAコードについて教えてくださ...
-
vba アクティブシートの名前変...
-
ユーザーフォームに別シートか...
-
ExcelVBA シート名を複数セルか...
-
ExcelのVBAコードについて教え...
-
Outlookの「受信日時」「送信者...
-
エクセルのマクロについて教え...
-
FileCopy時のエラー
-
エクセルのマクロについて教え...
-
Excelのマクロについて教えてく...
-
VBA listBoxから
-
【ExcelVBA】インデックスが有...
-
エクセルVBAの配列について
-
配列のペースト出力結果の書式...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで大量のファイルをシート名...
-
VBA レジストリの値の読み方に...
-
Excelのマクロについて教えてく...
-
ユーザーフォームに別シートか...
-
VBAの計算で@が出てしまう件
-
エクセルVBAについて
-
Vba 実数および実数タイプの変...
-
【ExcelVBA】値を変更しながら...
-
VBA一覧取得 再投稿
-
VBA指定行削除
-
エクセルVBAについて
-
VBA ユーザーフォーム ボタンク...
-
VBA 何かしら文字が入っていたら
-
エクセルについて
-
2つのマクロでチェックボックス...
-
【マクロ】1つのマクロの中に...
-
ExcelのVBAコードについて教え...
-
VB.net(VB)で、フォームにExcel...
-
Vba SelStart、SelLen教えてく...
-
Excel-VBAのmsgBox()の不思議
おすすめ情報