天使と悪魔選手権

エクセルのピポットテーブルのカテゴリーのセルを結合することはできますが、各セル全部に値を入れることはできるでしょうか。

例えば:
色,大,小,value
赤,A,a,10
赤,B,a,5
青,B,b,2

を、エクセル2002のピポットテーブルにて次の表のように行に色、大文字、列に小文字ににすると、赤が一つの行にしか表示されません
  ,a , b
赤,A,10, 
 ,B,5, 
青,B, ,2
このままだと値をコピーしてもオートフィルタや並び替えにかけられませんが、どなたか、同じカテゴリーの部分の全部の行にカテゴリー名を表示する方法やそのためのVBAなどをお教えいただけますと大変助かります。どうぞよろしくお願いします。

A 回答 (2件)

コピー&ペーストした後、行のフィールドだった範囲を選択します。


(例の場合は、色の列だけでいいのかな)
[Ctrl]+[G]ジャンプ - [セル選択] - ●空白セル
そのまま 「=」を入力して [↑]
数式(相対参照の式)が入るので[Ctrl]+[Enter]で確定します
もう一度、行のフィールドだった範囲を選択してコピー
形式を選択して貼り付け ●値

マクロに関しては自信がありませんので、
上記の一連の動作を記録してはどうでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
人手間ありますが、マクロなしで確実にできました。
CTL+ENTERで選択範囲全部に相対参照で同じ式が入力できるのは初めて知り大変勉強になりました。
ありがとうございます。

お礼日時:2009/08/08 16:19

もう少しデータ例を増やし、丁寧に例と説明を書かないと趣旨がわかりにくい。


下記を参考に見習ったらどうですか。
例データ
色大小値
赤Aa10
赤Ba5
青Bb2
赤Ca10
青Ab2
ーーーー
ピボットテーブル
合計 / value小
色大ab総計
青A22
B22
青 合計44
赤A1010
B55
C1010
赤 合計2525
総計25429
ーー
青 合計のセルで右クリックー表示しない、で
合計 / value小
色大ab総計
青A22
B22
赤A1010
B55
C1010
総計25429
ーーーーー
これをG3を黄転移して、形式を選択して貼り付けー値
ーー
VBAについては課題丸投げでコードを書いてほしいと言うのは規約違反だが、内容が簡単なので書いておく。
#1のご回答のよう操作が、質問者には適当かと思う。
標準モジュールに
(貼り付ける場所でG,For i = 3 To dの3は変得るべきです。)
Sub test03()
d = Range("G65536").End(xlUp).Row
MsgBox d
For i = 3 To d
If Cells(i, "G") = "" Then Cells(i, "G") = Cells(i - 1, "G")
Next i
End Sub
を実行。
ーーー
結果
合計 / 値小
色大ab総計
青A-22
青B-22
赤A10-10
赤B5-5
赤C10-10
総計25429
結果はこういうのでよいのかな。
ーー
ピボットテーブルを直接触らせてくれないようだ。何か保護を解除すれば、触れるのかもしれないが。
    • good
    • 0
この回答へのお礼

ありがとうございます。VBのほうも大変勉強になりました。こちらの方法も試してうまく行きました。質問が分かりにくい点すみません。

お礼日時:2009/08/13 07:19

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


おすすめ情報