• ベストアンサー

エクセルでVBAを使うのかと思うのですが・・・

エクセルである商品の一覧があります。 それぞれの数量合計を求めたいのですが ひとつの商品が複数行にわたって入力されており その合計を出したいのです。  ABCDEF 1 (1)  5 2 (1)  2 3 (1)  4 4 (2)  3   5 (2)  1 6 (2)  8 7 (3)  9 8 (4)  7 9 (4)  7 上記の表で(1)が合計何個、(2)が合計何個といった感じです。Eは個数です。 (1)は5+2+4=11なので別シートの商品名のみの一覧の(1)の横へ11と入力したいのです。 商品数が数百あり、行も数千あるため自動計算したいと思っています。 ちなみに今は行3の下に行の挿入を行い、セル1E~3Eまでを合計し、別のシートの商品一覧にC&P(値のみ)しています。 これではいつまでかかるか気が遠くなってきます。 VBAの出来る方よろしくお願いします。

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

  • ベストアンサー
回答No.1

ピボットテーブルを使ったらどうでしょう。 まずでは、データが入っているA1を選択します。 で、[データ]メニューの[ピボットテーブルとピボットグラフレポート]をクリックします。 [次へ]ボタンを2回押し、[レイアウト]をクリックします。 で、「行(R)」のところへ(1)のタイトルを 「データ(D)」のところへ5のタイトルをドラッグし、「OK]ボタンを押した後、「完了」をクリックしてください。 これでどうでしょうか?

oan
質問者

お礼

ものすごく早い回答ありがとうございます。 出来ました、本当に助かりました。 ピボットテーブルって便利ですね。 今後、活用したいと思います。 ありがとうございました。

その他の回答 (1)

回答No.2

こんにちは。 VBAなんか使わなくても SUMIF関数でできると思いますが・・ シート2の、 たとえばA2セルに品名("(1)"とか)を、B2セルに合計を表示するとして、 B2セルを↓のようにしてください。 ---------------------------------- =SUMIF(Sheet1!A:E,A2,Sheet1!E:E) ---------------------------------- 以下、A3、A4、A5・・に(2)、(3)、(4)・・と入力し、 B3以下は数式をオートフィルでコピーしてください。

oan
質問者

お礼

すばやい回答ありがとうございます。 関数でも出来るのですね、参考になります。 ありがとうございました。

関連するQ&A