[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ピボットテーブルで文字を表示』(もも)
シート1
名前 金額 住所
鈴木 200 2丁目
佐藤 500 4丁目
・
・
・
これを元にピボットテーブルを作成し
シート2
氏名 金額 住所
鈴木 200 2丁目
佐藤 500 3丁目
合計 700 1 件
という表を作りたいと思っているのですが、
住所の部分が「1」と表示されてしまいます。
ピボットテーブルでは文字の表示は出来ないのでしょうか?
< 使用 Excel:Excel2003、使用 OS:Windows7 >
「ピボット 合計欄の表示書式」あたりで検索すると、いろいろでてきますね。
ここの フィールドの表示形式を変更する とか。
(β) 2015/11/15(日) 21:12
名前 住所 合計 / 金額 佐藤 4丁目 500 鈴木 2丁目 200 総計 700 ではまずいのですか? (γ) 2015/11/15(日) 21:55
(γ) 2015/11/15(日) 22:46
うーん、ちょっと読み間違いしていました。
「データ個数」としている以上、2丁目とか3丁目とかは表示できません。
住所は 行ラベルに持って行くべきです。
どうしても 氏名 金額 住所 鈴木 200 2丁目 佐藤 500 3丁目
という列の順序にしたいなら、 できあがったピボットテーブルを別のところにコピーペイストしてから 修正してください。
(γ) 2015/11/15(日) 23:28
Sub test() Dim dic As Object Dim v Dim i As Long Dim n As Long Dim s As Long
Set dic = CreateObject("scripting.dictionary")
v = Sheets("Sheet1").Range("a1").CurrentRegion.Value
For i = 1 To UBound(v, 1) If Not dic.exists(v(i, 1)) Then n = n + 1 dic(v(i, 1)) = n v(n, 1) = v(i, 1) v(n, 2) = v(i, 2) v(n, 3) = v(i, 3) Else v(dic(v(i, 1)), 2) = v(dic(v(i, 1)), 2) + v(i, 2) End If If IsNumeric(v(i, 2)) Then s = s + v(i, 2) Next
With Sheets("Sheet2").Range("a1") .Resize(, 3).EntireColumn.ClearContents .Resize(n, 3).Value = v .Offset(n).Resize(, 2).Value = Array("合計", s) End With
End Sub
(マナ) 2015/11/16(月) 21:42
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
If Target.Name <> "もも" Then Exit Sub '★実際のピボットテーブル名に修正して下さい
Application.EnableEvents = False With Target With .PivotFields("名前") .ClearAllFilters .PivotItems("(blank)").Visible = False End With With .TableRange2 .Columns(.Columns.Count + 1).EntireColumn.Clear .Columns(2).Copy .Cells(1, .Columns.Count + 1) .Columns(2).EntireColumn.Hidden = True End With End With Application.EnableEvents = True
End Sub
(マナ) 2015/11/16(月) 23:36
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.