[[20090208002952]] 『ピボットテーブルで表示されたデータの個数を拾う』(かいえ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ピボットテーブルで表示されたデータの個数を拾う作業をしているのですが』(かいえ)
 ピボットテーブルで表示されたデータの個数を拾う作業をしているのですが、
何か良い方法はありませんでしょうか?
 ピボットテーブルの、行、列、ページ、データの設定をして、
ピボットの上にcount関数をつけて、ページのアイテムを変更するごとに、
その関数の結果を他のシートにコピペしています。
 ページのアイテムは数が多いので、列に組み込むことができません。
 数が少なければ、ピボットを一回作って、その上にcount関数をつける、
という作業だけで済むのですが、いかんせん件数が多いので、
ピボットを回す→コピペ、という単純作業をなんとかできないものか、
と思っています。
 ピボットで表示できる「データの個数」ではなく、「データの個数の個数」が必要なわけですが、
ピボットを使わない方法とか、何かありましょうや?

 なんだか良くわからないですが・・・・
  (サンプルデータがあると分かりやすいと思います。)
 元のデータが一つになっているのなら
 作業列を使って、数える なんてのはダメなんですかね?
	[A]	[B]	[C]	[D]	[E]	[F]	[G]	
[1]	分類	品物	数	作業列		集計	数	
[2]	野菜	人参	14	野菜		野菜	 2	←人参,牛蒡 で 2
[3]	野菜	人参	18			くだもの	 2	←みかん,りんご で 2
[4]	くだもの	 みかん	7	くだもの				
[5]	くだもの	りんご	5	くだもの				
[6]	野菜	 牛蒡	10	野菜				
[7]	くだもの	りんご	6					
[8]	野菜	人参	12					

 A:C列にデータがあったら、D2セルに
=IF(COUNTIF($B$1:B2,B2)=1,A2,"")
 として、必要行フィルドラッグ。
 F:G列に見出しを設定して、G2セルに
=COUNTIF($D$1:$D$10,F2)
 として、必要行フィルドラッグ。

 状況が違う場合は、元データのサンプルデータと
 ピボットテーブルで、どの項目をどこに落として集計しているのか
 サンプルデータの項目名を使ったご説明
 をしていただくのが良いと思います。

 (HANA)

 お返事ありがとうございました。挙げていただいたサンプルデータを利用させていただきます。
 以下のデータがあったとして、

	 [A]	   [B]	  [C]	  [D]	
 [1]	分類	  品物	  数	 担当	
 [2]	野菜	  人参	  14	  B
 [3]	野菜	  人参    18	  A
 [4]	くだもの  みかん   7	  B
 [5]	くだもの  りんご   5	  B
 [6]	野菜	  牛蒡	  10	  B
 [7]	くだもの  りんご   6	  C
 [8] 	野菜	  人参    12	  A

 このデータを元にしたピボットで

	 [A]	   [B]	  [C]	  [D]	 [E]   [F]
 [1] 	
 [2]  データの個数 / 担当	品物				
 [3]   担当	 みかん 牛蒡 りんご 人参 総計
 [4]     A                                  2     2
 [5]     B           1      1      1        1     4
 [6]     C                         1              1

 このピボット上の、品物の個数が必要なので、 
 現在は、B1に=count(B4:B6)、同じようにC1、D1にもcount関数を入れています。
 このピボットの場合ですと、
 みかん 1、牛蒡 1、りんご 2、人参 2、総計3 になります。

 (かいえ)

 作業列を使う方法だと
	[A]	[B]	[C]	[D]	[E]	[F]	[G]	[H]	[I]	[J]
[1]	分類	品物	数	担当	作業列1	作業列2	作業列3		集計	数
[2]	野菜	人参	14	B	人参_B	人参	1		みかん	1
[3]	野菜	人参	18	A	人参_A	人参	1		牛蒡	1
[4]	くだもの	みかん	7	B	みかん_B	みかん			りんご	2
[5]	くだもの	りんご	5	B	りんご_B	りんご			人参	2
[6]	野菜	牛蒡	10	B	牛蒡_B	牛蒡			総計	3
[7]	くだもの	りんご	6	C	りんご_C	りんご	1			
[8]	野菜	人参	12	A	人参_A					
 E2
=B2&"_"&D2
 F2
=IF(COUNTIF($E$2:E2,E2)=1,B2,"")
 G2
=IF(COUNTIF($D$2:D2,D2)=1,1,"")
 J2
=COUNTIF($F$1:$F$10,I2)
 J6
=SUM(G2:G10)
 でしょうか。

 あとは、データ量によっては作業列を少なく出来るかもしれません。

 ただ
 >ページのアイテムを変更するごとに、
 >その関数の結果を他のシートにコピペしています。
 ということから、条件がもうひとつありそうに思いますが・・・?

 (HANA)

 >条件がもうひとつありそうに思いますが・・・?
 そうでした。

	 [A]	   [B]	  [C]	  [D]	 [E]   [F]
  [1]  分類  (すべて)
  [2]  データの個数 / 担当	品物				
  [3]   担当	 みかん 牛蒡 りんご 人参 総計
  [4]     A                                2     2
  [5]     B           1      1      1      1     4
  [6]     C                         1            1

 分類の項目を一つ一つ表示させて、そのつど出たcount関数の値を、
 他のシート上の表に貼り付けていました。
 が、ご指摘の、"_"で項目を繋ぐ方法と、
 countifを使って重複するデータの個数を出す方法で、なんとかなりそうです。
 ありがとうございました。
 (かいえ)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.