• ベストアンサー

EXCELの集計で悩んでいます

EXCEL2003で、 ・商品ID ・商品名 ・支店 ・在庫数 ・在庫金額 ・販売開始日 を商品IDごとに在庫数と在庫金額の集計を行いました。 行数は約1万、集計行は約1千あります。 ここまでは問題なく出来たのですが、 集計行には、商品ID集計として、在庫数と在庫金額の合計しかなく、 集計行のみにした場合、商品名と販売開始日が表示されません。 集計行に、商品名と販売開始日を追記するマクロを書きたいのですが (関数でもかまいません)、どなたかお知恵をお借りできませんでしょうか。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.1

方法はいくつかありますが簡単なサンプルをひとつ。   見出し: A1~F1 データ: 2行以降 A列に「ID番号 計」と表示されてるはずなので、 その「計」という文字を検索し ヒットしたら、そのひとつ上の行の「商品名」と「販売日」を ヒットした行の該当列に表示すればいいですね。   '----------------------------------------- Sub Test()  Dim KeiCell As Range  Dim myRange As Range  Set myRange = Range(Cells(1, "A"), Cells(Rows.Count, "A").End(xlUp))    Set KeiCell = myRange.Find("計", , xlValues, xlPart)    If KeiCell Is Nothing Then Exit Sub  Do   KeiCell.Offset(0, 1).Value = KeiCell.Offset(-1, 1).Value   KeiCell.Offset(0, 5).Value = KeiCell.Offset(-1, 5).Value   Set KeiCell = myRange.Find("計", KeiCell)  Loop While KeiCell.Value <> "総計" End Sub '------------------------------------- 但し、A列の最終行には【総計】という文字があること。 集計コマンドを実行すると必ず最後に【総計】が表示されますので 問題はないと思いますが。。 以上。  

bbjyana
質問者

お礼

このたびはご回答ありがとうございました。 無事集計行に表示させることが出来ました。 また、いい勉強になりました。 重ねて御礼申し上げます。 ありがとうございました。

その他の回答 (3)

  • SePapa
  • ベストアンサー率50% (47/94)
回答No.4

こんにちは。 集計とはエクセル標準でついている集計機能のことなのであれば マクロなしでも以下の5ステップで容易に対応は可能かと思います。 1)まずは一覧を商品ID昇順、販売開始日昇順で並びかえします。 2)商品名(列B)の横に商品ID(列A)と商品名を連結する列Cを追加し、  各セルには以下のような関数(文字の連結)を指定する。  ・2行目の場合の例  =CONCATENATE(A2," ",B2)   ※後で、この列で集計することで、集計行に商品名も印字されます。 3)販売開始日(列G)の横に集計行表示用の販売開始日(列H)を追加し  その列の各セルには以下の関数を指定する。  ・2行目の場合の例  =IF(A1<>A2,G2,"")   ※1行目の商品ID(A列)と2行目が同じか比較し、    違うのであればIDが切り替わったとみなし同じ行の販売開始日(G列)の値を表示する。    それ以外は空白とする。 4)集計の設定で、集計グループは商品ID+商品名の列(列C)とする。  集計するフィールドは在庫数、在庫金額に加え、  集計行用の販売開始日列(列H)も集計する。 5)集計行の販売開始日のセルの書式設定を日付に変更する。 結果、集計行のみ表示した場合、商品ID以外に商品名も 表示されるようになり、販売開始日も表示されます。 販売開始日も集計してしまう、というのがポイントでしょうか。 ピポットテーブルの方が早いかもしれませんが、 ご参考まで。    

bbjyana
質問者

お礼

お忙しいところ、お時間を割いていただきまして 誠にありがとうございました。 今後また、お伺いすることもあると思いますが、 その際はどうぞよろしくお願いいたします。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.3

ピボットテーブルで試してみては Excel(エクセル)実用編:家計簿の作成(ピボットテーブルを使う) http://www.eurus.dti.ne.jp/~yoneyama/Excel/jituyou/kake-pib.htm

bbjyana
質問者

お礼

このたびは、ご回答ありがとうございました。 結果、ピボットテーブルは利用しなかったのですが、 勉強のいい機会になりました。 今後もどうぞよろしくお願いいたします。

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.2

ピボットテーブルはどうでしょう?

bbjyana
質問者

お礼

このたびはアドバイスありがとうございました。 これを機会に、もっと勉強しようと思います。 今度ともどうぞよろしくお願いいたします。

関連するQ&A