• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL ピボットテーブル(?) ご教授下さい)

EXCELピボットテーブルで売上データの分析方法を教えてください

このQ&Aのポイント
  • 仕事で売上データの分析を行うために、EXCELのピボットテーブルを使用する方法を教えてください。
  • 季節変動のある商品のため、5年間の3Qの比較をしたい場合、ピボットテーブルを使ってデータをグラフ化しましょう。
  • 品種ごとにデータを抽出してグラフ化する方法もありますが、100種類もあるので限られた範囲での分析になります。

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

  • ベストアンサー
  • iapetus
  • ベストアンサー率60% (248/413)
回答No.2

投稿主さんが「データベース」と仰るこの表は、「広義のデータベース」ではありますが、「Excelが処理し易い狭義のデータベース」の構造ではありません。 コンピュータデータベースシステムは、列タイトル(これを「カラム」といいます)が定義された行単位データ(これを「レコード」といいます)の纏まり(これを「テーブル」といいます)が、いくつか集合し、テーブルのカラム同士が「論理的な関係性」で結びついた状態(これを「リレーションシップ」といいます)のデータ集合体のことを言います。 本来は、こういった情報管理は、リレーショナル・データベース・マネジメント・システム(リレーショナルDBMS、RDBMS)が担当すべき分野ですが、Excelでも、小規模なデータベース管理をするための機能があります。 しかし、Excelはそもそも表計算ソフトウェアであり、セルのカラムにタイトルを付け、データを行単位にすることで、簡易的なDBMSとして利用できるものの、自ずと限界があるのです。 また、データも、DBMSとしての「縦横表というマトリックス形式」の体裁になっていないと、非常に使い辛いものになってしまいます。 主さんがお示しの例には、合計行はあるわ、「くだもの」、「やさい」という大項目と、「いちご」、「はくさい」という小項目が、同じ列に混在しており、これは集計を煩雑にしてしまうデータの持ち方です。 また、行方向に品名の区分があり、列方向に年+Qの情報がある、ということは、これは既に「集計結果」を取り終わった状態の表と何ら変わりません。 人には解り易くとも、コンピュータの処理には向きません。 データは、重複しないよう、区分は明確に、後は行方向に積み上げて保持するべきなのです。 また、年とQを区分するのに、年とQとて2行使っていますが、タイトルは1行しかExcelは認識できませんし、このような持ち方は、DBMSではしません。 YYYY年-nQ というように、年とQを纏めてしまってもよいのです。 但し、年でもQでも、となれば話は違います。 そのためには、Excelの場合は、年の列、年+Qの列、と言う風に、コンピュータに対し、データの区分を明示してやる必要があります。 データは次のように持つべきです。 もし、年も、年+Qも、どちらでも集計を取る必要があるのなら、  品目  品名   年   年・Q   売上   という項目だけを用意し、縦方向にデータを積み上げます(数字は適当です)。 具体には、次のようにし、入力の順番は、ランダムで全く問題ありませんし、必要であればデータを入力し終わったか、使う直前に並び変えしておけばよいです。 当然、この表には、オートフィルタでデータの抽出ができるようにしておきます。 (|は、セルの切れ目) 品目|品名|年|年・Q|売上 くだもの|いちご|2010年|2010年-1Q|200 くだもの|いちご|2010年|2010年-2Q|100 くだもの|いちご|2010年|2010年-3Q|300 くだもの|いちご|2010年|2010年-4Q|150 くだもの|みかん|2010年|2010年-1Q|100 くだもの|みかん|2010年|2010年-4Q|150 くだもの|みかん|2010年|2010年-4Q|300 やさい|白菜|2010年|2010年-1Q|100 やさい|白菜|2010年|2010年-4Q|150 やさい|白菜|2010年|2010年-4Q|300 やさい|白菜|2010年|2010年-4Q|250      :      : あとは、ピボットテーブルレポート機能で、どのような集計でも取れます。 逆に、ピボットテーブルレポート側から、データ項目のタイトルから、対象のデータを表示することもできますね。 また、グラフへのデータ供給も、ここからしてもよいし、集計から渡してもよいので、自由度が飛躍的に上がります。 いろいろと自動的に集計、グラフ化する場合は、マクロを組む必要があるでしょう。 また、もし、ほかにも要求されている、或いはデータ管理上必要な集計があれば、どのようなデータの持ち方をすればそれが取れるか、データの持ち方を変更しなくてよいか、全てを見通して、或いは盛り込んで、データ設計をすりょうに心がけましょう。 一度運用に供してしまうと、後でデータ構造を変えるのは、非常に難儀な作業になってしまいますので。 最初が肝心です。

urawa20110301
質問者

お礼

ご回答ありがとうございます。 今までまわりにうまくエクセルを使える人がいませんので、 我流で調べながら使ってきましたが、ピボットについては、うまく使える時と使えない時があり、 理由がわかっていませんでした。 ご回答者様のご説明でようやくもやっとしたものが晴れました。 ようするにデータがたまたまピボットに向いていたら使えた、向いてなかったら 使えなかった、→この理由がいつも分かっていなかった。 です。 今回私としては大きく前進できました。ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.4

構造については皆さんがおっしゃるとおり、不適な構造ではあります。 ・・・と言うより、実際に作ってみるとわかりますが、 「出来上がったピボットテーブル」は、おそらく質問文に添付された図に 非常に良く似た構造になるでしょう(まるっきり同じとは言いません)。 さて、質問文中には「どのデータに関してグラフにしたいのか」書かれていませんね。 いちご・みかんなど、細目に関してグラフにするのか、 くだもの・野菜など、小計についてグラフにするのか、 あるいは、2軸を使って細目・小計ともグラフにまとめるのか、 その辺りがあいまいですね。 とりあえず、 > これを機会に勉強したい とのことですので、「このままの表のフォーマットでなんとか出来る」やりかたを。 関数の勉強です。 かなり見づらい図であると思いますが、判読ください。 (セル番地は実際の表と合わせてくださいね。) > 季節変動のある商品のため > 5年間の3Qだけの比較 この辺りがキーワードっぽいと勝手に判断して、 横軸に「商品(細目)」、縦軸に「個数」、値として「各年のデータ」を持つとして、作ります。 まず、データの表を作ります(既に出来ていると思いますが)。 B18セルに「抽出四半期」を入力する場所を作ります(図の青いセル)。 とりあえず、第3四半期「Q3」と入力しておきましょう。 (今後、入力規則・リストを使って選択できるようにするとなお良いかもしれませんね。) で、図のグラフの左側にあるような表を作ります(A19~C23)。 横には「年度」、縦に「商品(細目)」を持つようにします。 2011年のいちごの欄(図ではB20セル)に、   B20セル:=HLOOKUP($B$18,$B$2:$E$8,MATCH(A20,$A$4:$A$8,0)+2,FALSE) と入力し、以下必要分コピー(フィル)します。 2012年のいちごの欄(図ではC20セル)にも同様に、   C20セル:=HLOOKUP($B$18,$F$2:$I$8,MATCH(A20,$A$4:$A$8,0)+2,FALSE) とし、これも必要分コピー(フィル)します。 この表を基にグラフを作ってやります(詳細割愛)。 出来上がったら、B18セルを第1四半期(1Q)~第4四半期(4Q)まで切り替えてみましょう。 多分、連動してグラフも変わるはずですよ。 応用すれば、例えば「いちごの第3四半期」のデータだけを抽出することも出来ます。 そんなわけで、HLOOKUP関数とMATCH関数に関しては 「勉強のため」ですから、ご自身で別途調べてみてくださいね。 そう応用したら良いかを教えてしまったら勉強にならないですからね。

urawa20110301
質問者

お礼

他のみなさんと違った視点からのご回答でとても参考になります。 色んな関数の組合せでパズルのような使い方はとても好きです。 新しい関数を知る事ができました。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
回答No.3

ご質問の目的のためには、No.1 さん、No.2 さんのおっしゃるデータ構造の件が最重要です。構造の作り変え、今後のデータ蓄積の方法について、検討してください。 ピボットテーブルに限ったことではないのですが、きちんと勉強されたいのなら、次のような意識を持たれるとよいでしょう。 ●まずは、インターネット上に「無数の」情報がありますので、検索しまくってみてください。必ずそうしてください。 ●分からないことがたくさんあっても、とにかく自分の手であれこれ操作してみることです。はっきり言って時間がかかるので、そのつもりで。コンピュータ関係は、理解してからというよりも、使いながら覚える部分の比重が大きいように思います。そういうものです。 ●こうした QA サイトで人に尋ねるのは、実際に操作して、「具体的な」質問が出てきたときに利用したほうが効率的です。そうでないと回答者としても、抽象的な答えしかできません。ここは教室みたいにカリキュラムに沿った指導を受けるためにあるのではなく、質問をする場なのですから、当然ですね。 ●同じ、人に尋ねるのでも、身近なところに Excel が得意な人がいるようでしたら、その方に聞いたほうが早いかもしれません。ここは詳しい人が多数いらっしゃいますが、お手元のデータを見ながらはできないし、質疑応答の繰り返しで日数もかかります。 ●必須ではないですが、Excel の分厚い書籍を手元に 1 冊用意して、辞書的に使ってみるのもよいかと思います。ネットで検索するのに比べると、無駄な情報へのアクセスを減らせるかもしれません。ただ本は有限なので、自ずと限界もあります。

urawa20110301
質問者

お礼

ご回答ありがとうございます。 今回データ構造に問題があったことが大きな発見です。 色々ネットで探したんですけど、スキルが無くて見つけられませんでした。 参考書買って見ます。

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

>これを機会に勉強したい ホントにそう思っているのでしたら、確かにピボットテーブルを使うと便利に出来ます。 そのためには、まず添付図のように元の表を作り変えるところから始めなくてはいけませんね。 ご利用のエクセルのバージョンも不明のご相談なので詳細な手取り足取り操作手順はお話ししませんが、手抜きせずキチンと元の表を添付図のように作成し直してしまえば、ピボットテーブルとピボットグラフの操作は単なるドラッグ&ドロップやオートフィルタの類似品に過ぎません。手さえ動かせば、直感的に簡単に操作できます。 メンドクサがって(たとえば今の表の体裁のまま)中途半端にやろうとすると、まず失敗します。

urawa20110301
質問者

お礼

ご回答ありがとうございます。 >まず添付図のように元の表を作り変えるところから始めなくてはいけませんね。 会社で得られるデータがあの形なので、それをうまく使えないかなと思いましたが、 表の構造が不向きな事がここで初めてわかりました。 で、めんどくさがらずに、表を何とか作り直し(2,000行にもなりました ^^;)ますと、 うまくピボットテーブルが使えました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelのピボットグラフについて

    Excelのデータをピボットグラフにした時(社内のシステムから抽出すると既にピボットグラフになっています)に、グラフの下段(枠外)にコメントなどを記載したいのですが、方法が分かりません。 どなたかご教示下さい。 宜しくお願いいたします。

  • クエリとは、ピボットテーブルとは・・・。

    テキストに従い、アクセスのデータベースからのクエリとかは出来たのですが、結局どういったものとして使うものかよくわかりません。 他のブック、アプリケーションからデータを抽出するものという認識でいいのでしょうか。 また、ピボットテーブルはそこにあるデータの抽出と集計という認識でいいのでしょうか。 マウス検定は思ったより大変です。 受かりたいという気持ちと、無理だぁ、って気持ちが入り混じって集中できなくなってきました。 あと一息がんばるぞ!!

  • 教えて下さい!!!エクセル2003ピボットテーブルについて

    こんばんは。 質問はタイトルの通りです。 長い間仕事でエクセルを使用していますが、 最近になり「ピボットテーブル」を使って突発的に集計作業をしなければならなくなりました。 全くのこの機能に関して初心者ですので困っています、、、。 適当にドラッグして貼り付けしていれば自由自在に表が出来ますが、 いまいちな点が多いのです。 そこで質問させていただきます。 (1)データが0(空白=なし)の場合でも表に抽出する事は可能ですか? (2)毎回決まった項目の配列で表を完成させる事は出来ますか? 質問したい事が上手く言葉で表現出来なくて申し訳ありません。 分かりにくいかと思いますので、ご回答いただければ出来る限り補足します。 ピボットテーブルに詳しい方、アドバイスいただけないでしょうか・・・? 参考サイト等でも構いませんので、是非教えていただきたいです。 よろしくお願いします。

  • ピボットテーブルでなんとかしたい!!

    製造工場において、請け負っている物がいかに納期に間に合っているかを日々分析する表を作りたいです。 データは絶えず変化するので、ピボットテーブルが良いです。 <<希望する結果表>> その納期までの物件のうち、その納期までに出来上がった物件が全体の何件かを 納期を基準にして、納期時点ごと、得意先ごとに、(完成した件数)/(納期内の件数) を出したいです。 -------------------------やってみた事 データの後方に関数をつけて集計の参考にならないかとしましたが ピボットテーブルの表には持っていけませんでした。 ※データは毎月1000件以上あり、得意先は20件前後です。 ※日付を縦項目にしてしまうと月末頃にはものすごい縦長の表になり、得意先比較が出来なくなります。 日付は横項目である必要があります。 ※画を見ていただいて分かるように、12/3には、 12/2時点で未完成だったものが 「その納期までの物件のうち、その納期までに出来上がった物件」 という事で完成の集計に入ります。 ※納期、得意先等、データは絶えず変化しますので 予め表を作っておいたり、マクロで作りこむのは避けたいです。 ピボットテーブルでやれるようにするお知恵をお貸しください。

  • EXCELのマクロにて

    下のようなデータベースがあります。 No  値1  値2 10   3   2 8   2   4 6   2    6  3   5   3 8   7   5 このようなデータベースからピボットグラフを作成しているんですが、データベースに上端でフィルターをかけNo列にて特定の値を選んだときにそれに対してピボットグラフもフィルターで選んだNoになるようなマクロは組めませんか? ちなみにピボットグラフにはページにNoを、データに値1・値2の合計を表示させています。 よろしくお願いします。

  • EXCELのマクロにて

    下のようなデータベースがあります。 No  値1  値2 10   3   2 8   2   4 6   2    6  3   5   3 8   7   5 このようなデータベースからピボットグラフを作成しているんですが、データベースに上端でフィルターをかけNo列にて特定の値を選んだときにそれに対してピボットグラフもフィルターで選んだNoになるようなマクロは組めませんか? ちなみにピボットグラフにはページにNoを、データに値1・値2の合計を表示させています。

  • EXCELのマクロにて

    下のようなデータベースがあります。 No  値1  値2 10   3   2 8   2   4 6   2    6  3   5   3 8   7   5 このようなデータベースからピボットグラフを作成しているんですが、データベースに上端でフィルターをかけNo列にて特定の値を選んだときにそれに対してピボットグラフもフィルターで選んだNoになるようなマクロは組めませんか? ちなみにピボットグラフにはページにNoを、データに値1・値2の合計を表示させています。 マクロに変数(?)を設定すると出来るらしいのですが記述がわからないのです。

  • 会社で使っているエクセルのスキルは?

    会社で使っているPCのエクセルのスキルは 何ですか? 関数・マクロ・VBA・データベース・ピボット・グラフなどなど…。 良かったら、お勤めされている業種・仕事内容を おおざっぱに教えてください。

  • EXCEL VBA ピボットテーブルを使ったデータの一括印刷

    EXCEL VBA ピボットテーブルを使ったデータの一括印刷 複数のピボットで集計したデータやその他のデータをピボットテーブル 以外のセルで関数を使って組み合わせて表やグラフを作成しています。 1つのピボットテーブルのページフィールドで顧客を選択するとその顧客の表と グラフが表示できるようになっています。 そこで1つ1つの顧客を選択して印刷をするのは面倒なので 全ての顧客の表とグラフ(印刷範囲で設定済み)を一括で印刷するマクロを 設定してみました。 EXCEL 2003 シート名 本社 選択するページフィールドのセル B1  フィールド名 名称 -------------------------------------------------------------- Sub 一括印刷 () Worksheets("本社").Activate With ActiveSheet.Range("B1").PivotTable '現在シートのB1セルのピボットテーブルの For Each 各アイテム In .PivotFields("名称").PivotItems '名称フィールドの各アイテム 名称 = 各アイテム.Name 'アイテムの名前を取得 .PivotFields("名称").CurrentPage = 名称 '表示するページを設定 ActiveSheet.PrintOut '印刷 Next End With End Sub -------------------------------------------------------------- 以上で実行すると全て印刷できるのですが、実行時エラー'1004': PivotItemクラスの_Defaultプロパティを設定できません。とエラーになってしまいます。 おそらくアイテム(顧客名の数)が複数あるからでしょうか? CurrentPage=名称の「名称」の部分を変動させればできるのでしょうか? 私のレベルでは、これ以上わかりません。。。 どなたか、教えてください。。。宜しくお願いたします。

  • kingsoftのピボットテーブル

    kingsoftのspreadsheetでピボットテーブルの日付のグループ化が出来ません。 詳しい方どうか教えて下さい 現在kingsoftのspreadsheetを使って Excelのピボットテーブルを学習していますが 参考資料は 『今すぐつかえる かんたん Excelピボットテーブル』と 言う書籍を使用しています この書籍を参考に 日付の日単位のデータリストを まとめて月単位でグループ化しようとしていますが このソフトではどうやっても出来ません KingsoftのSpreadsheetのピボットテーブルで 日付『日単位』のデータリストを まとめて『月単位』での【グループ化】をするにはどの様にすればよいのでしょうか? 本当に困っています 詳しい方いらっしゃいましたら どうか教えて頂けないでしょうか? もしくはこのソフトではそもそも 日付の(1)【月単位のグループ化】      (2)【週単位のグループ化】      (3)【四半期のグループ化】等にする機能自体が存在しないのでしょうか? kingsoftのofficeソフトは ネットの口コミでは安くて手頃で使いやすいなんて 言われていましたが 本当は自作自演じゃないかと思うほど 実際に使ってみると酷い物です 特に初心者には絶対にお勧めできない代物と言うのが 率直な感想です 本を見てみると Excelでは (1)任意の日付をクリックして選択 (2)【 オプションタブ 】をクリック (3)【 グループ化の選択 】をクリック (4)【 グループ化のダイアログボックス 】が表示される (*このピボットテーブルのダイアログボックス自体がkingsoftのspreadsheetでは出てこない 従って『単位ごと:日・月・四半期・年』などのグループ化をしたくても出来ない) (5)【 グループ化のダイアログボックス 】の中の 月を選択すれば簡単に月単位でグループ化できるはずですが kingsoftではどの様に操作すれば出来るのか色々な角度から試しているけど 一向に進展しない状況です Eccel2003では (1)日付のセルを選択 (2)【ピボットテーブル】のボタンをクリック (3)【グループの詳細表示】にマウスを合わせて (4)【グループ化】をクリックするそうですが このソフトでは全然できません Excelと相換性が高いとは言いますが 実際に使ってみると 操作性における差異が多々見受けられ 全く別のソフトを使用している様な感じです 使いづらいの一言です! 分かれば『何だ!そんな事か』と思う様な事ですが kingsoftのOffice関連のトラブルは検索しても全然ヒットしないし yahoo知恵袋に質問立てても全く回答いただけない現状です 一応メーカーのサポートセンターにもメールしています。 kingsoftのspreadsheetの ピボットテーブル操作に精通している方 詳しい方いらっしゃいましたら 何卒アドバイス宜しくお願い致します このソフトは初心者には本当にお勧めできないですし 何でネットであんなに口コミ評判が良いのか 本当に不思議です ステマとか関係者による自作自演としか思えません。 MicrosoftのOffice初心者は間違っても このソフトを使っては行けません 参考書見ながら学習しても 操作法が異なる点が多々あります そのたびに戸惑いを覚えるはずです 相換性が非常に高いとはネット上では 作り上げられた評判で 安くてお買い得使い易いなど色々 甘いセリフばかりですが 実際に使ってみれば分かります 簡単な表計算とかするなら良いと思いますが。。 kingsoftのOfficeソフトに精通されていらっしゃる方 ピボットテーブルの操作に詳しい方 是非とも良きアドバイスを宜しくお願いします。 それでは回答お待ちいたしております

専門家に質問してみよう