• ベストアンサー

エクセルの下記の表の集計を自動計算したいです。

御世話になります。エクセルにて下記の表があります。   A         B       C 1 オレンジのゼリー  2005/12/5   \600 2 アップルのジュース 2005/11/23   \500 3 オレンジのジュース 2005/10/3   \200 4 アップルのジュース 2005/9/3    \1,000 5 アップルのケーキ  2005/5/4    \2,500 私がここでしたいことは (1)果物毎の売上を集計(日付関係無し)   例:アップルの売上 \4,000    オレンジの売上 \800 (2)加工後の製品名毎の集計(日付関係無し)  例:ジュースの売上 \1,700    ゼリーの売上  \600    ケーキの売上  \2,500 (3) (1)と(2)の集計結果に月毎に分ける。  例:ジュースの9月の売上 \1,000 今まで私は上記の表に対して、フィルタを使い 手動で集計をしていましたが、修正が何回あると 再度フィルタで集計のやり直しをして非常に非効率でした。 ですので関数などを使用して自動計算で出来ないでしょうか? 宜しく御願い致します。

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

  • ベストアンサー
  • sacoman
  • ベストアンサー率56% (33/58)
回答No.1

D列に果物名、E列に加工品名を追加するのが良いと思います。   A         B       C   D    E 1 商品        売上日    金額  果物区分    加工品区分 2 オレンジのゼリー  2005/12/5   \600  オレンジ  ゼリー 3 アップルのジュース 2005/11/23   \500  アップル  ジュース 4 オレンジのジュース 2005/10/3   \200  オレンジ  ジュース 5 アップルのジュース 2005/9/3    \1,000 アップル  ジュース 6 アップルのケーキ  2005/5/4    \2,500 アップル  ケーキ といった具合です(このときに表の列名の行を先頭にいれておきます)。 あとは、列名を含め全表範囲をピボットテーブルで集計すれば、 一発で集計結果を導き出すことが出来ます。 ピボットテーブルの機能はお使いになったことがありますか? 表範囲(列名行を含む)を選択してメニューの[データ]-[ピボットテーブルとグラフレポート]を選択します。あとはウィザードの指示に従って設定してみてください。 とりあえず、ご質問の集計であれば、行タイトルエリアに果物区分と加工品区分を設定して、データエリアに金額(合計)を設定すればOKです。

denim777
質問者

お礼

御世話になります。 早々のご解答ありがとうございます。区分をする項目を追加する方法は私も 考えました。できるならやりたくは無かったのです。今の状態で やれる方法はないでしょうか?

その他の回答 (6)

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

例データ A1:F9(うち元データはD列まで、E列は見出し、F列答え計数) A列  B列  C列  D列  E列 F列 1 商品 日付 金額 2 甘いオレンジのゼリー 2005/12/5 \600 オレンジ 800 3 アップルのジュース 2005/11/23 \500 アップル 4000 4 オレンジのジュース 2005/10/3 \200 ジュース 1700 5 アップルのジュース 2005/9/3 \1,000 ぜりー 600 6 アップルのケーキ 2005/5/4 \2,500 ケーキ 2500 7 グレープのジュース 2005/5/5 \2,500 グレープ 2500 8 アップルのジュース 2005/5/6 \300 配列数式ですが オレンジ =SUM(IF(ISERROR(SEARCH("オレンジ",B2:B6)),0,D2:D6)) と入れてSHIFT+CTRL+ENTERを同時押し。以下同じ。 アップル =SUM(IF(ISERROR(SEARCH("アップル",B2:B6)),0,D2:D6)) と入れてSHIFT+CTRL+ENTERを同時押し ジュース =SUM(IF(ISERROR(SEARCH("ジュース",B2:B6)),0,D2:D6)) と入れてSHIFT+CTRL+ENTERを同時押し ゼリー =SUM(IF(ISERROR(SEARCH("ゼリー",B2:B9)),0,D2:D9)) と入れてSHIFT+CTRL+ENTERを同時押し ケーキ =SUM(IF(ISERROR(SEARCH("ケーキ",B2:B9)),0,D2:D9)) と入れてSHIFT+CTRL+ENTERを同時押し グレープ =SUM(IF(ISERROR(SEARCH("グレープ",B2:B9)),0,D2:D9)) と入れてSHIFT+CTRL+ENTERを同時押し 結果は上記F列の通り

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.6

#5の(3)の範囲が間違いです。 =SUMPRODUCT((COUNTIF(A1:A5,"*ジュース")>0)*(MONTH(B1:B5)=9)*C1:C5) 範囲を揃えてください(;^_^A

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.5

(1)オレンジの売り上げの例 =SUMIF(A:A,"オレンジ*",C:C) (2)ジュースの売り上げの例 =SUMIF(A:A,"*ジュース",C:C) (3)9月のジュースの売り上げの例 =SUMPRODUCT((COUNTIF(A1:A5,"*ジュース")>0)*(MONTH(B1:B4)=9)*C1:C4)

  • sacoman
  • ベストアンサー率56% (33/58)
回答No.4

データベース関数を利用してみるのもいいかもしれません。 =DSUM(表の範囲,集計したい列の番号,条件) この書式で入力します。 ※データベース関数の詳細はヘルプなどで確認してみてください。 参考に以下のような感じで集計が可能です。 ただし、商品名がかならず、「"果物名"の"加工品名"」となっている 必要があります。 |A|B|C 1|商品|日付|金額 2|オレンジのゼリー|2005/12/5|\600 3|アップルのジュース|2005/11/23|\500 4|オレンジのジュース|2005/10/3|\200 5|アップルのジュース|2005/9/3|\1,000 6|アップルのケーキ|2005/5/4|\2,500 7 8|【果物別集計】 9|商品|金額合計 10|オレンジの*|=DSUM(A1:C6,3,A9:A10) 11|アップルの*|=DSUM($A$1:$C$6,3,$A$9:$A11)-B10 12 13【加工品別集計】 14|商品|金額合計 15|*ジュース|=DSUM($A$1:$C$6,3,$A$14:$A15) 16|*ケーキ|=DSUM($A$1:$C$6,3,$A$14:$A16)-SUM($B$15:$B15) 17|*ゼリー|=DSUM($A$1:$C$6,3,$A$14:$A17)-SUM($B$15:$B16)

denim777
質問者

お礼

ご回答ありがとうございます。 実際のA列の文字列は今回の例で出したような ****の******なっているわけではなく ランダムの系列となっています。 ですので列の増加をして分類名を記入するしか方法は なさそうですね。 ご回答ありがとうございます。

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.3

A列の商品名が常に「○○の△△」と言うように「【果物名】【の】【加工名】」になっているなら、どうにかできそうです。 VBモジュールの関数を作り、商品名に入っている「の」を探して「『の』の前の文字列を返す関数」と「『の』の後の文字列を返す関数」を作れば良いのです。 但し「果物名」や「加工名」に「の」が入る場合、例えば「木の実のジュース」とかがあると、うまくいきません。 また、商品名が「パパイヤゼリー」など「の」が無い場合もダメです。 関数が出来たら、商品名をそれぞれの関数に渡して「果物名を切り出して集計」「加工法を切り出して集計」で出来ますね。 あと、どうやっても列の増加は避けられないので「どうしても列を増やしたくない」と言うなら素直に諦めて下さい。 (私なら、表に印刷範囲を設定し印刷されない表の外に置くとか、列幅を0ピクセルにして隠すとか、列がどんだけ増えても印刷に影響しないようにしますが、それでもダメなんでしょうか?)

denim777
質問者

お礼

ご回答ありがとうございます。 実際のA列の文字列は今回の例で出したような ****の******なっているわけではなく ランダムの系列となっています。 ですので列の増加をして分類名を記入するしか方法は なさそうですね。 なぜ列の方法がいやだっとたかというと 文字の記入が増えることの作業増加がいやでした・・・ ご回答ありがとうございます。

回答No.2

SUMIF関数・ピボットテーブルをうまく活用すれば良いかも? B列に「ゼリー・ジュース・ケーキ」の種別を表記出来るように、列を挿入し、金額列をD列に表記出来るようにします。 =SUMIF(A1:A5,"アップル”,D1:D5)とすれば、A列がアップルである金額が、合計で出てきます 数式の中の"アップル"をオレンジに数式を直せば、A列がオレンジである金額が、合計で出てきます =SUMIF(B1:B5,"ゼリー”,D1:D5)とすれば、B列がゼリーであるものの金額の合計が出てきます。 ピボットテーブルと日付表示をうまく使いこなせれば、月分売上もうまく表示出来ますが・・・

denim777
質問者

お礼

早々のご解答ありがとうございます。 できるなら列の増加無しで出来ないでしょうか? わがままを言っておりますが御願いします。

関連するQ&A

  • Excelでの集計表の作り方

    Excelで1ヶ月の集計表を作っていますがどうしてもわからない事があります。まず縦に1ヶ月分の日付を入れて横に純売上(B列)と消費税(C列)と総売上(D列)の表を作りました。日付は月を入力すると自動で変わる様にして月末も30日までの月は最後のセルも空白になる様に、土日祝は曜日の文字の色も変わります。その後が問題なんですが、曜日毎の集計を自動計算するだけならSUMIF関数ですぐに出来るんですが日祝の合計を1つのセルに集計させたいんです。月によって祝日の曜日も変わりますしどうしてもその方法がわかりません。説明が下手で申し訳ありませんがわかる方がいればお願いします。

  • エクセルの集計について

    エクセルについて質問です。 日付ごとに各項目1~100に数字が入っている一覧表があります。 各項目数個ずつを日付ごとに集計したい場合よい方法はありますでしょうか? 例 項   4/1   4/2   4/3   4/4   4/5 目 (1)   10    10     20   15    10 (2)    4     3     1     7      6 (3)   11    12     13    14     15 ・ ・ ・ 4/1の項目1、10、50を集計したい。など。 よろしくお願い致します。

  • エクセル 集計する

    二つ表を添付していますが、使用するのは今日の分だけでお願いします。 月別に集計しています。そこで質問です。 エクセル得意ではありませんので、できるだけ簡単な方法でお願いします。 (1)日付があるので、月の列”=month(2010/2/12)の列を作成しています。 そして月の列を基準にして月別の合計を出して集計しています。 ここで問題があります。集計は2年分ずつとっています。2011年と2012年がはいっている 場合、この方法で集計をかけると、ぐちゃぐちゃになってしまいます。きちんと2011年の1-12月 2012年の1-12月の各月別の集計をかける方法はありますか? (2)まれに売上が0の月があります。そうするとうまく集計できません。   こういう場合はどうすれば、きちんと集計できますか?? 以上、わかりにくい質問でしたら申し訳ありません。 よろしくお願いいたします。 投稿日時 - 2011-01-27 22:33:47

  • エクセルでつくる集計表の計算式

    曜日単位の集計を行う式を教えていただけないでしょうか A欄  B欄 C欄 日付 曜日 人数 A欄は1~31日 B欄は月ごとに変わりますが、日~土 C欄は人数が入る表の下に 日~土の7セルを作り、そのセルの中に、上記表の曜日単位の人数を入れたいのですが、どんな条件式にすればよいのか教えていただけないでしょうか

  • エクセルで集計をしたいのです

    お世話になります。 Accessからエクスポートした表があります。 (集計元表) [商品名]|[支店名]|[日付]|[売上数]| 商品A|支店1|2011/08/01|6| 商品A|支店1|2011/08/05|2| 商品A|支店2|2011/08/01|3| 商品B|支店1|2011/08/01|9| 商品B|支店2|2011/08/01|1| … これを以下のように、商品毎に表にしたいのです。 (集計表:商品A) 商品A|8/1|8/2|8/3|8/4|8/5|合計| 支店1| 6 | 0 | 0 | 0 | 2 | 8 | 支店2| 3 | 0 | 0 | 0 | 0 | 3 | 合計 | 9 | 0 | 0 | 0 | 2 | 11 | (集計表:商品B) 商品A|8/1|8/2|8/3|8/4|8/5|合計| 支店1| 9 | 0 | 0 | 0 | 0 | 9 | 支店2| 1 | 0 | 0 | 0 | 0 | 1 | 合計 | 10 | 0 | 0 | 0 | 0 | 10 | 合計の行/列は最後にsumしますが、集計元表から 集計表カドの商品名、日付、支店を判別してセルに売上数を収める 手段のヒントを頂ければ幸いです。 セル関数でもVBAでもなんでも構いません。 宜しくお願いします。

  • エクセル2000での集計方法

    エクセル2000を使用しております。 現在シ-トに下記の表があります。同じ項目を集計してその集計部分だけを印刷したいのです。 例)  商品番号 売上数量 売上単価 売上金額 原価単価 原価売上     A000001   100    1000     100000     500     50000 普通に集計しますと単価も足されてしまいます。よく解っていなくて申し訳ありませんが集計して表示も出来るようにするにはどうすれば良いのでしょうか?

  • 出来るのでしょうか??”エクセルで集計表つくりたい”

    エクセルベースで作りたい。 エクセルベースで、集計表として、たてに100の項目(商品名)、横に30(日にち)の大きな表があります。また、日々の売り上げ商品名(縦)と個数(右側)の表があります。  これら2つの表を関数などを用いて「ほぼ自動入力」をして全体の表を完成させたいのです。 例として「5日はAの商品が13個、Dの商品が3個」次の日は「Bの商品が16個、Zの商品が145個」。売れた種類が少ないときはコピーなどを用いて入力が出来るのですが、種類が多くなると入力ミスなどが発生し正確な表が作れなくなりますので、いわば「手入力」は避けたいのです。  どうぞ宜しくお願いいたします。

  • エクセルを使って売上の集計をしたい。

    エクセルを使って売上の集計をしたいのですが、どうやればいいかわかりません。 複数のワークシートに月毎の売上データがあります。データは規則性のない品番で、月によってはデータ上にない場合もあります。 例) AA-101 \784,000 AB-102 \638,000 AW-555 \297,000 AA-273 \123,000 (実際は品名やメーカーなどの列もありますが割愛します) そして、これを品番、金額、1月売上、2月売上、3月売上・・・のほうに表にしたいのですが、どうやればいいでしょうか? 宜しくお願いします。

  • EXCEL 集計について

    月別に集計しています。 そこで質問です。エクセル得意ではありませんので、できるだけ簡単な方法でお願いします。 (1)日付があるので、月の列”=month(2010/2/12)の列を作成しています。 そして月の列を基準にして月別の合計を出して集計しています。 ここで問題があります。集計は2年分ずつとっています。2011年と2012年がはいっている 場合、この方法で集計をかけると、ぐちゃぐちゃになってしまいます。きちんと2011年の1-12月 2012年の1-12月の各月別の集計をかける方法はありますか? (2)まれに売上が0の月があります。そうするとうまく集計できません。   こういう場合はどうすれば、きちんと集計できますか?? 以上、わかりにくい質問でしたら申し訳ありません。 よろしくお願いいたします。

  • エクセルでの集計について教えてください。

    こんにちは。 エクセルでの集計について教えてください。 下のように日毎の売上をエクセルで管理しています。 日付     売上金額  売上件数 2008/04/01  100000   100 2008/04/02  120000   200 2008/04/03  150000   180 2008/04/04  200000   130 2008/04/05  100000   100   : 2008/05/01  200000   100 2008/05/02  500000   650 2008/05/03  140000   200 このまま1年間分ひとつのシートで管理しようと思っていて、 別シートに月ごとの管理シートを作りたいと思っています。 月ごとの集計をする場合、合計するのはsumif関数を 使用してできたのですが、平均値がなかなか出せません。 出したいデータはその月のその日までの平均値です。 例えば上の5月3日までの売上が記入してある場合は、 5月全体の平均ではなく5月3日までの平均です。 averageif関数を使用すればすぐ出ると思うのですが、 エクセル2000なのでありません。 なにか良い方法があったら教えてください。 よろしくお願いします。

専門家に質問してみよう