• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで品目ごとの売り上げをカウントする方法)

エクセルで品目ごとの売り上げをカウントする方法

このQ&Aのポイント
  • エクセル2007について質問させてください。月ごとの売り上げ品目を数えたい場合どうすればよろしいでしょうか?
  • このような形で1か月分の売上表が並んでいたとして「みかん」や「りんご」といった品目が月に何個ずつ売れたのかカウントしたいです。
  • ピボットテーブルで処理できそうですが、使い方がわからず苦戦しています。どなたか良い方法がないか教えてください。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

再掲: >現れたダイアログで「複数のワークシート範囲」を開始し, >1日の「品目と金額」を追加する >2日の「品目と金額」を追加する   : >全部追加したらそのまま作成する こうしますとお話ししている通りにすればいいのです。

その他の回答 (2)

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

簡単なつくりの表なんだが、考えてみると難しかった。 こういう表の構成(日付ごとに、別列でデータ入力してある表)はやりにくい。 例データ 1日 品目 金額 2日 品目 金額 1日 みかん 100 2日 トマト 300 1日 リンゴ 200 2日 みかん 100 1日 みかん 100 2日 だいこん 100 1日 かぼちゃ 500 2日 すいか 500 1日 みかん 100 かぼちゃ 400 2日 すいか 400 ーー A11から みかん 4 リンゴ 1 かぼちゃ 2 すいか 2 だいこん 1 B11の式は =COUNTIF($A$1:$F$10,A11) 式を下方向に複写。 == さて出てくる品物の一覧が必要だが、(上例でA11以下のセル)だが、難しい 1列に在れば、フィルターフィルタオプションの設定ー重複するレコードは無視する、で簡単に出できる ーー 品目が複数列にあるので難しい。 とりあえずVBAでやってみた。 ーー データのあるシートを、アクチブにして下記を実行。結果はSheet2のA列第2行目から出すとした。 重複なくと漏れの無い品目名リスト 標準モジュールに Sub test01() x = 1 m = 2 '第2行目から For i = 1 To 35 Set y = Range(Cells(1, x), Cells(1, 35)).Find("品目") '第1行目に品目のある列を見つける If y Is Nothing Then Exit Sub c = y.Column d = Cells(10000, c).End(xlUp).Row 'ここではデータを10000行以下に仮定。増やせる) 'MsgBox d For k = 2 To d z = Cells(k, c) Set fnd = Worksheets("Sheet2").Range("a2:A" & m - 1).Find(z) '既にSheet2のリストにあるかチェック If fnd Is Nothing Then Worksheets("Sheet2").Cells(m, 1) = Cells(k, c) '無い分はSheet2に追加 m = m + 1 End If Next k x = c + 1 Next i End Sub ーーーーーー 例データ A-I 列 1日 品目 金額 2日 品目 金額 3日 品目 金額 1日 みかん 100 2日 トマト 300 3日 トマト 300 1日 リンゴ 200 2日 みかん 100 3日 みかん 100 1日 みかん 100 2日 だいこん 100 3日 だいこん 100 1日 かぼちゃ 500 2日 すいか 500 3日 バナナ 500 1日 みかん 100 かぼちゃ 400 3日 かぼちゃ 400 2日 すいか 400 3日 みかん 400 3日 トマト 400 3日 もも 600 結果 Sheet2のA列に リンゴ みかん かぼちゃ すいか トマト だいこん バナナ もも ーー これを使ってCOUNTIFする。 == この件は、質問者などがエクセルのシートの表の作り方の失敗かと思う。 あとのことを考えて、A、B、C列でデータを作るべきであると思う。 == 後半、重複なくと漏れの無い品目名リスト について、意外に、よい関数などの回答が出ると良いが。

galaco
質問者

お礼

親切なご回答ありがとうございました。表の作り方が失敗だったようですね。 関数については私には理解が難しく、使用はできそうにありませんでした。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

個数をカウントするのはCOUNTIF関数ですが,ご質問で聞きたいのは「品目一覧を簡単に羅列できる方法は無いか」のほうです。 大変よく寄せられるご相談の一種ですが「リストアップしてくれる関数」はエクセルには無いので,どうしても関数じゃなきゃイヤなら,とてもメンドクサイ配列数式などを使って計算する事になります。この方法は全くお勧めではありません。 一般にお薦めは,ご質問で書かれているように ・ピボットテーブルレポートで集計する あるいは ・データタブの「統合」で集計する などのエクセルの便利機能を使います。 ピボットテーブルを使う方法では ALT+Dを押す つづけてALT+Pを押す 現れたダイアログで「複数のワークシート範囲」を開始し,  1日の「品目と金額」を追加する  2日の「品目と金額」を追加する   : 全部追加したらそのまま作成する といった手順をします。 実際には,今月のデータシートを来月も使い回せるよう(来月,また同じ手順でピボットテーブルレポートをイチから作りなおしたりしないで済むよう)追加するデータ範囲を少し広めに取って作成します。 #ついでに参考にしてください: http://officetanaka.net/excel/excel2007/077.htm http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-tougou.html

galaco
質問者

お礼

リンク先、ご回答含めわかりやすかったです。ありがとうございます。 ただピボットテーブルで参照先を選択以降の操作、集計方法がよくわからず苦戦しております。お時間ありましたらご指導いただけると助かります。

関連するQ&A

専門家に質問してみよう