dポイントプレゼントキャンペーン実施中!

 エクセルのピボットテーブルでアイテムのグループ化ができません。

 ピボットテーブルで集計を行い、縦軸に年月日、横軸に各アイテム毎の集計値が
集計された結果のテーブルがあります。
 ここで、横軸にあるアイテムのうち、グループ化したい任意のアイテムを選択し
(コントロールキー押下による複数選択でも、隣り合うセルのドラッグ選択でも)、
ピボットテーブルツールバーよりグループと詳細の表示からグループ化を選択
するのですが、「選択対象をグループ化することはできません」とのエラーメッセージ
ウィンドウが表示され、うまくいきません。
 日付のグループ化をする際など、空白セルがあるとうまくいかないことがあることは
知っているのですが、私のデータでは空白はありません。
 縦軸の日付にも横軸のアイテムにも空白はありませんし、集計結果にも空白は一切
ありません。
 にもかかわらずうまくいきません。

 参考書(例:「いちばんやさしいExcelピボットテーブル」(秀和システム出版)」のp.118)
などでも、アイテムのグループ化ができることになっていますが、これがうまくいかない
ものです。
 出版社にも問合せましたが、ユーザのデータでうまくいかないことに対するサポート
は、出版社としての範疇外との回答のみで、困ってしまいました。

 どなたか教えていただけませんでしょうか?
 よろしくお願いします。

以上

A 回答 (5件)

No.1です、再び失礼致します。



また空振りかも知れませんが、
元のデータベースに原因がある可能性はどうでしょうか?

私はピボットを継続的には活用していないので、
(大量のデータの集計を参考程度にとりたい時に活用しています。)
うまくいかないパターンはこういう場合、という言い方が思いつきませんが、簡単な例を作成してみました。

参考書を手元に作成されているようなので、こんなケースになっている可能性は少ないと予想はしますが、ご参考までに。
(とんでもなく簡単な例ですが^^;

Spacewatchがどの程度までデータベースなどを活用されているのか分かりませんが、データベースはどちらかと言えば難易度の高い分野だと思います。差し支えない範囲で、元のデータベースの各項目名・各内容と、出来上がったピボットテーブルの列エリアの項目名(アイテム名)を教えていただければ、私以外でも、回答される方がいらっしゃるのではないかと思いますよ^^ 勿論、私でお手伝いできることがあれば、また回答させていただきたいと思います!
「 エクセルのピボットテーブルでアイテムの」の回答画像2

この回答への補足

mav0430さん。

 簡単な例の提示をありがとうございます。
 まさにこの(上の例の)パターンです!!

 参考書を手元に持っているとはいえ、私のデータは、元々
(ピボットテーブルでの分析を想定せずに)作成していたもの
ですので、「りんご」と「みかん」を列に(左右に)並べた構造に
なっています。
 「りんご」と「みかん」が別レコードになるようなデータベース
構造に修正すれば良いということですね。

 私は、いわゆるデータベース(Access)も使いますので、
データベースの構造については理解しているつもりでしたが、
最初からピボットテーブルでグループ化することを想定して
いない場合、つまり、エクセルの表のままでの集計を想定
する場合は、やはり「りんご」と「みかん」は、上のパターン
のように、左右に並んでいた方が見やすいですよね。

 グループ化さえしなくてもよければ現状のままでも、
とりあえずピボットテーブル集計はできているのですが、
グループ化したければ、これらが別レコード(別の行)に
分かれて記述されるように、整えなければならない、
ということなのですね? (T_T)

★ただ、膨大なデータを整えるのは大変な労力を要しそうです。

 行を増やしてコピーし、「りんご」と「みかん」に項目を分けて
記述するということでしょうが、・・・・しかし、私のデータは
「りんご」と「みかん」の2項目だけではなく、10項目以上に
及んでいます。
 また、この修正を行うと、表自体としては見にくくなってしまい、
エクセルの表としての一覧性のメリットがそがれてしまいます。
(日によって「みかん」や「りんご」、「きゅうり」・・・など、
該当がある日もあれば、無い日もあって、毎日同じ項目数とは
限らない)

 このあたり、データの実体は同じで、表現形式が異なるだけ
なのに、手間をかけてデータベースの表現を整えなければ
ならないところ、なんとかならないものでしょうか?

 とりあえず問題解決の一手段はわかったのですが(上記
★部分)、他に良い手がないものか、ご教示いただければ
助かります。

 よろしくお願い致します。

以上

補足日時:2010/04/13 12:26
    • good
    • 0
この回答へのお礼

 Excelピボットテーブルのグループ化の機能を利用するためには、
インプットされるデータの形式が、ある条件にのっとっていなければ
ならないことがわかりました。
 有り難うございました。

お礼日時:2010/04/20 11:52

may0430です^^


※画像添付に関しては、私も、久しぶりにアクセスして初めて知りました。
※便利~と思ったのですが、画像容量、サイズ共に制限があるようで…。
※今回は手書き(テキスト)で頑張ってみます^^;

ーーー割愛ーーーーーーーーーーーー
日付    商品   個数
2010/04/2   りんご   1 
2010/04/2   みかん   0 
2010/04/2   きゅうり  3  
2010/04/2   はくさい  0

 おそらく、このあたりをoffset、vlookup関数を使用して
整備する方法を教えていただいたものかと思います。
ーーーーーーーーーーーーーーーーーーーーーーーーー
このように整備していきたいと思います。

元の表は残したまま、別の表を作成するようになります。
別シートに作成してもよいのですが、今回は説明文を簡素にする為に、
同シートの AA列から右 に作成したときの数式にしてあります。

また、元の表のデータがある範囲を  $A$2:$E$10
元の表の日付データの一番上のセルを $A$2 としてあります。

※関数を簡単にする為に、余分な列『日付offsetの為』『個数vlookupの為』を入れています。

   AA             AB         AC       AD             AE
1 日付offsetの為     日付     種類  個数vlookupの為       個数
2    0    =OFFSET(A$2,AA2,0) りんご      2    =VLOOKUP(AB2,$A$2:$E$10,AD2,FALSE) 
3  =AA2                   みかん     3 
4  =AA3                   きゅうり     4 
5  =AA4                   はくさい     5
6  =AA2+1                  =AC2     =AD2

とりあえず入力する内容はこれだけ。

次に、 =OFFSET(A$2,AA2,0) を 6行目までオートフィル連続コピー(コピー&ペースト)
=VLOOKUP(AB2,$A$2:$E$10,AD2,FALSE) も6行目までオートフィル連続コピー(コピー&ペースト)

そして、6行目が全部できあがったら、その6行目を、オートフィル連続コピー(コピー&ペースト)

**関数の解説**
 =OFFSET(A$2,AA2,0)

 A$2 から、AA2下 0右にあるセルの値を返す。(A$2 AA2分下へシフトしたセル)
 ※A2ではなく、A$2 としたのは、下へ連続コピーした時に、数式の中でA$2を不変とする為。

 =VLOOKUP(AB2,$A$2:$E$10,AD2,FALSE)
 
 範囲 $A$2:$E$10 の左端列から、AB2(日付)を検索し、その行の AD2 列目の値を返す。

***補足***
りんご みかん …は、もとの表の項目名を複数選択コピーし、「形式を選択して貼り付け □値 □行列を入れ替える」

表の整備完了後、数式を消す為には、表全体をコピーし、その表の上に「形式を選択して貼り付け □値」
※その後、余分な2列は削除してOK

ーーー
※周知な内容がありましたらご容赦下さい。
※疑問点、不明点、足りない点がありましたら、またご質問下さい。

とりあえず、以上です☆
    • good
    • 0
この回答へのお礼

ありがとうございます、うまくいきました。
スッキリと整理されて感動です。
またピボットテーブルでのグループ化もうまくいきました。

今回はピボットテーブルのインプットデータの制約条件と、
これをすりぬけるための事前データ整理のやり方、との
2点について教えていただき、助かりました。

有り難うございました。

お礼日時:2010/04/20 11:45

No.3の補足をします^^;


※添付した画像が荒く、内容が見えないので…
※すいません。

>>★ただ、膨大なデータを整えるのは大変な労力を要しそうです。
excel関数(offset、vlookup)を使用することで、1行1行コピーする手間を省くことはできますが、ある程度まで手作業したのちに、まとめて、コピー&ペーストをします。

この回答への補足

mav0430さん。

 サポート有り難うございます。
 ところで、、せっかくカラーで分かりやすそうな画像を添付いただきましたが、
書かれているとおり残念ながら、目を細めて見てもよく見えないところが多々
あります・・・(^^;)
 う~~ん。残念。

 私はMSN質問箱の利用経験浅く、使い方がよく分かっていないのですが、
例えば、いくつかの画像に分割して添付していただく(?)とか、なんとか
見える方法はないものでしょうか?

 なお、
>う~ん…、ピボットテーブルを使用するのか、しないのか。
については、使用するという前提での質問です。

 で、私が現在あつかいたいデータは、添付いただいた
画像でなんとなく見えるイメージでOKです。
 念のため、下記に示します。

 日付    りんご  みかん きゅうり  はくさい
2010/04/1    3    4    1    1
2010/04/2    1         3    
2010/04/3         3    6    1
2010/04/8    3    4    1    3
2010/04/9                   3
2010/04/13   1    1    1    1

 このように、日によって、売り上げがある日もあれば
一切無い日もあるし、売り上げがあっても、商品の全てが
売れているとは限らず、数値の入っていない商品もある、
という感じです。

 で、これをピボットテーブルでグループ化できるように
するためには、たとえば2010/04/1のように4つの商品全てが
売れていれば、同日のレコードを4行に増やし、
商品フィールド欄にりんご、みかん、きゅうり、はくさい、
とのデータがはいった各々のレコードの個数フィールド欄には
3、4、1、1を書込むのですね?(下記)。

 日付    商品   個数
2010/04/1   りんご   3 
2010/04/1   みかん   4 
2010/04/1   きゅうり  1  
2010/04/1   はくさい  1

 いっぽう、2010/04/2のように、りんごときゅうりのみが
売れている日に対しては、レコードを2行に増やして、
商品フィールド欄に、りんご、きゅうりとデータの入った
レコード各々に対応し、個数フィールド欄に1、3という
データを入れる、ということでしょうか?(下記)

 日付    商品   個数
2010/04/2   りんご   1 
2010/04/2   きゅうり  3  

 あるいは、2010/04/2のように、みかん、はくさいが
売れていなくても、かならずレコードは4レコードにして
しまい、商品フィールド欄にみかん、はくさい、のデータを
記述しておいて、対応する個数フィールド欄には0、0を
書き込むのが良い?(下記)

 日付    商品   個数
2010/04/2   りんご   1 
2010/04/2   みかん   0 
2010/04/2   きゅうり  3  
2010/04/2   はくさい  0

 おそらく、このあたりをoffset、vlookup関数を使用して
整備する方法を教えていただいたものかと思います。

 あらためまして、よろしくお願いします。

以上

補足日時:2010/04/15 11:15
    • good
    • 0

may0430です、再び^^



>他に良い手がないものか、ご教示いただければ助かります。

う~ん…、ピボットテーブルを使用するのか、しないのか。
しないのであれば、どんな集計表にしたいのか判りかねるので、
アドバイスが難しいのですが…

とりあえず参考までに
>★ただ、膨大なデータを整えるのは大変な労力を要しそうです。
元の'表'がクロス集計の縦・横の形になっているのでしたら、
offset関数、vlookup関数を使用して整えることは可能です。
参考までに:添付画像
(とは、書きつつも、とんでもなく膨大な量である場合は、VB使用がいいかも^^;

月毎の集計ならば、month関数で「月」の列を作り、sumif関数で合計をとる。アイテムをグループ毎に集計はsum関数。

あと、『グループ化』が気にかかるところですが、画面上'見た目だけ'グループ化することは、ピボットテーブル上でなくてもできますよ。

>このあたり、データの実体は同じで、表現形式が異なるだけなのに、手間をかけてデータベースの表現を整えなければならないところ、
なんとかならないものでしょうか?

う~ん、excel、accessでデータベースと呼ばれるものは、表現形式は一律で、その一律から、複数の表現が可能になるというか。
項目名(フィールド名)に『固有名詞』がくることはないというか。
というか、私は専門家でないので、えらそうなことはおいておいて(えらそうになっていたら、すいません。)具体的に、『こういう'表'がどれだけの行あり、こういう結果にしたい。』ということを明示すれば、excel関数、オートフィルタ、ピボットテーブル、VB、いろいろと解決案は出てくるのではないでしょうか。
「 エクセルのピボットテーブルでアイテムの」の回答画像3
    • good
    • 0

こんばんは^^



元のデータで日付の入っているセルの「書式設定」が「文字列」になっている、
とかはどうでしょうか?

参考URL:http://www.office-qa.com/Excel/ex6.htm

この回答への補足

 コメント有り難うございます。
 元のデータの日付セルの書式は文字列ではなく、日付になっています。

 なお、当方の説明足らずで、質問の意図が十分に伝わっていないように思いますので
補足します。
 まず、教えていただいた参考URLの関連ページURL(下記)
http://www.office-qa.com/Excel/ex7.htm
に即して言いますと、当方のピボットテーブルは、行エリアに日付データ、列エリアに
その他のアイテムデータが入った集計結果となっています。

 そして、最初の質問文の「横軸にあるアイテムのうち、グループ化したい任意の
アイテムを選択し・・・」にある「横軸にあるアイテム」は、列エリアにあるアイテム
のことを指しています。
 行エリアにある日付データのグループ化は問題なく実行できており、困っているのは
あくまで列エリアのグループ化です。

 あらためましてアドバイスをよろしくお願いいたします。 

補足日時:2010/04/09 11:42
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!