• 締切済み

Excelのデータ集計

添付画像のように月別に商品売上ランキングトップ10を集計した表があります。 この表のそれぞれの商品が合計何回出現したかを商品ごとに集計したいと思っています。 その方法について教えていただきたく質問させていただきました。 ピボットテーブルを使えば集計ができるかなと思ったのですが上手く集計できません。 画像の範囲で言えば、 Aは3回出てきている、Bは2回出てきている、・・・・ という形で出現回数をカウントし、どの商品がどれだけランキングに出現しているかを調べたいと思っております。 問題は、添付画像では3ヶ月分しか出てきておりませんが、 これからもずっとデータは毎月末に更新されます。 そのデータが更新されれば、カウントした商品別の出現数も自動でカウントし直したいと考えています。 このような集計をしたい場合に最適な方法を教えていただければ幸いです。 どうぞよろしくお願いいたします。

みんなの回答

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.6

>この表のそれぞれの商品が合計何回出現したかを商品ごとに集計したいと思っています。 商品マスター(全商品の一覧表)は用意されていますよね? B列の16行目から下へすべての商品名が入力されているものとしてC列の16行目から下へ出現数をカウントするとすれば次の数式で良いと思います。 C16=COUNTIF($A$3:$L$12,B16) 但し、ベスト10の一覧表が$A$3:$I$12に入力されているものとします。(I、K、L列については予備の空欄です) C16セルをしてへ必要数コピーします。 出現数が多い順に並び替えをするには対象範囲を選択して「並べ替えとフィルター」を使うことで降順に並べ替えれb良いでしょう。 尚、出現数が0の行を表示しないときは条件付き書式でフォントの色を白にすれば見えなくなります。 毎月のベストテンデータを追加するときは予備の3列の左側へ3列のセルを追加して入力すれば出現数の数式の範囲は自動的に広がります。

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.5

一応 作ってみは、しましたが 此は、本来は シーズン毎や、通年同期毎や、任期間限定や、 其の、他の 制約が、無ければ 資料と、して 意味を、成さない ように、思えます 抑も 何故、結果が 列を、分けて 表示、されるか の、説明を 頂けて、いない ように、思います 此は 先に、挙げた 縛りが、ある 故、では 無いの、ですか? 一応 作成した、ものを 挙げますが 補足説明をも、お願いします

参考URL:
https://1drv.ms/x/s!AjviygfJDgV_1Ht5mnGqJ-nj_f2h
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

#2です。 #2ではSheet2のB列の、件数は関数式を(毎月)手打ちする方法を書きましたが、一貫せず不便なので、VBAでそこまで処理してしまう方法を付記します。 ーーー #2のコードの最後以下(End Subの直前の部分)に '--件数カウント r2 = sh2.Range("A1000").End(xlUp).Row 'Sh2のデータ最下行取得 MsgBox r2 For i = 2 To r2 sh2.Cells(i, "B") = Application.WorksheetFunction.CountIf(sh1.Range(sh1.Cells(2, "A"), sh1.Cells(r, c)), sh2.Cells(i, "A")) Next i (直後にはEnd Sub に続く)

回答No.3

状況がよくわかりませんが・・ 要するに添付図のような話ですかねぇ? 基表の下の「集計?」というところに A~(切れてますが)Rまで、A15:A33セルに用意しました。 で、   B15セル:=COUNTIF($3:$12,A15) として、B33までフィル。 表を横に伸ばす分にはコレで対応できると思いますよ、おそらく。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

質問者は、関数の答えをもとめているかもしれないが、関数では複雑になりそうなので、VBAも使った。 例データ Sheet1にあるとする A1:I11 コード 商品名 比率 コード 商品名 比率 コード 商品名 比率 a k d <--商品名の列のみ。他は略。B,E、H列に b l b c m c d a a e c j f n l g q r h f e i i h j p l ーー シートの画面でAlt+F11(VBE画面) ALT+I+M(標準モジュールの挿入) 下記コードをコピペ F5(実行) ーー 結果 Sheet2のA列に a b c d e f g h i j k l m n q p r ーー Sheet2での手作業 B列B2に式 =COUNTIF(Sheet1!$B$2:$H$11,A2) 下方向に式を複写 結果 a 3 b 2 c 3 d 2 e 2 f 2 g 1 h 2 i 2 j 2 k 1 l 3 m 1 n 1 q 1 p 1 r 1 取り急ぎ手作業の関数式の回答にしたが、VBAで、月が増えてもセル範囲を 変えなくて良いようにできる。 コードと比率の列には商品名と同じデータは現れないという前提。

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.1

「添付画像のように」「画像の範囲で言えば」「添付画像では」の添付画像が不鮮明過ぎて役立たずになっているので、残念ながら私は回答出来ません。 この機会に、誰にでも分かり易い添付画像作成テクニックを是非独習してください。 下記に示したURLの発言番号に私が付けた添付画像を参考になさってください。 http://okwave.jp/qa/q9324743.html の[No.8] http://okwave.jp/qa/q9325939.html の[No.5] http://okwave.jp/qa/q9329494.html の[No.6]

関連するQ&A

専門家に質問してみよう