これらの行の値の並べ替えに基づいて、ピボット テーブル内のアイテムをグループ化しようとしています。このデータに基づいてパレート図を作成しようとしています。ここSOとGoogleでいくつかの質問を調べましたが、多くの助けを見つけることができませんでした...残念ながら、これはそれほど一般的な問題ではないようです。
例:
元のピボット
State | Count
AK | 14
AL | 76
AR | 40
AZ | 129
CA | 2666
CO | 244
CT | 61
ソートされたピボット
State | Count
CA | 2666
CO | 244
AZ | 129
AL | 76
CT | 61
AR | 40
AK | 14
グループ化/最終ピボット
State | Count
CA | 2666
CO | 244
AZ | 129
OTHER | 191
以前に VBA でピボットの並べ替え/グループ化を行ったことはありません (ただし、これを手動で行うのはかなり簡単です)。そのため、マクロの記録から始めました。最初に並べ替えを適用する方法を見つけましたが、グループ化しようとすると、次のようになりました。
ActiveSheet.PivotTables("PT7").PivotSelect _
"State[AL,CT,AR,AK] Original 'NON-AA'", _
xlDataAndLabel + xlFirstRow, True
これに関する問題は、ピボットの値に基づいて状態がハードコーディングされていることです。別の状態がしきい値を下回っている別のデータ セットでこのグループ化を実行したい場合 (実際の値ではなく、上位 3 行count
)、間違った状態が含まれます。
どの行ラベルに対応するかを知る必要なく、行のトップ/ボトムx数だけを読み取る方法はありますか?
次のように動作するようにしたい (キャプション/ラベルの代わりに行番号を使用):
ActiveSheet.PivotTables("PT7").PivotSelect _
"State[4, 5, 6, 7] Original 'NON-AA'", _
xlDataAndLabel + xlFirstRow, True