- 締切済み
エクセルのデータ抽出lで困っています
集計方法で悩んでいます。 日にち毎に売れた項目だけを抜き出して表にまとめたいのですがうまく行きません。 集計ではその日に売れなかった品目は除きたい。 売れた品目と個数をそれぞれ書きたい。 の2点をどうしたらできるのか押していただけると助かります。 尚エクセルのバージョンは2003です。 元データ A B C D 1 品目 1日 2日 3日 ・・・ 2 りんご 10 5 3 みかん 20 10 4 バナナ 5 8 5 キウイ 15 集計結果 1日 2日 3日 りんご 10 みかん 10 りんご 5 みかん 20 バナナ 5 バナナ 8 キウイ 15 その日に売れなかった品目は除きたい。 売れた品目と個数をそれぞれ書きたい。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- nag0720
- ベストアンサー率58% (1093/1860)
EXCEL関数でもできるかもしれませんが、面倒なのでマクロを組んでみました。 Sub 集計() Dim i As Integer Dim j As Integer Dim k As Integer Dim Sheet1 As Worksheet Dim Sheet2 As Worksheet Set Sheet1 = Sheets("Sheet1") Set Sheet2 = Sheets("Sheet2") Sheet2.Cells.ClearContents For j = 2 To 4 ' 日付の繰り返し Sheet2.Cells(1, j * 2 - 3).Value = Sheet1.Cells(1, j).Value For i = 2 To 5 ' 品目の繰り返し If Sheet1.Cells(i, j).Value > 0 Then k = 2 Do While Sheet2.Cells(k, j * 2 - 3).Value <> "" And Sheet2.Cells(k, j * 2 - 3).Value <> Sheet1.Cells(i, 1).Value k = k + 1 Loop Sheet2.Cells(k, j * 2 - 3).Value = Sheet1.Cells(i, 1).Value Sheet2.Cells(k, j * 2 - 2).Value = Sheet1.Cells(i, j).Value End If Next i Next j End Sub シート名やFor文の最終値は適切な値に変えてください。
お礼
nag0720様 お礼が遅くなってすみません。 マクロは使ってみたことが無かったので敷居が高かったのですが、頑張って試して見ます。 有難うございました。