1

こんにちは私はexcelピボットテーブルに保存されているデータから計算を始めようとしています。

非常に便利な関数があることは知っていGetPivotDataますが、それは単一の値を取得することしかできません。ワークシート関数を使用してデータを「クエリ」したいのですが(たとえば、ピボットテーブルをフィルタリングせずに、列のいくつかの値を合計します)、ピボットテーブルの範囲を簡単に参照する方法が見つかりません。テーブルの「構造」は固定されていると見なされる場合がありますが、その中のデータは想定されていません。私が見つけた最善の解決策UDFは、テーブルの範囲への参照を取得する関数を作成することです。

 Function getPvRange(firstcell As Range) As Range
    Set getPvRange = firstcell.PivotTable.TableRange1
 End Function

この関数を数式で使用できます。ピボットテーブルの範囲を参照するための単純な(ダイナミックレンジ名を定義しない)直接的な方法(つまり、VBAを使用しない)があるかどうか疑問に思いましたか?

4

2 に答える 2

1

If your sheet is simple, using excel Offset function is a way to get Pivot Table Range as the function you provided. for example, created a named range and assign range as

=offset($A$1,,,counta($a:$a),15)
于 2013-04-21T02:48:48.323 に答える
0

ピボット テーブル内のセルを通常のセルとして参照するだけの場合は、自動生成されたGetPivotData関数を無効にすることができます。ピボット テーブル ツールバーを表示し、追加ボタンをクリックして、 を選択します'Generate GetPivotData'。その後、新しいボタンを使用して、自動化された数式を切り替えることができます。

それとも、もう少し複雑なことをしようとしていますか? もしそうなら、例を投稿していただけますか?

于 2012-06-29T22:02:12.747 に答える