12

日付と製品名ごとに、金額と間隔を秒単位で表した単純なテーブルがあります。

Month | Product | Amount | Interval in sec
------------------------------------------
05-'12| Prod A  | 10     | 5
05-'12| Prod A  | 3      | 5
05-'12| Prod B  | 4      | 5
05-'12| Prod C  | 13     | 5
05-'12| Prod C  | 5      | 5

このテーブルから、SUM(Amount)、AVERAGE(Interval in sec)、月別、製品別のピボットテーブルを作成しました。

Month | Product | SUM of Amount | AVG of Interval in sec
--------------------------------------------------------
05-'12| Prod A  | 13            | 5
05-'12| Prod B  | 4             | 5
05-'12| Prod C  | 18            | 5

ここまでは順調ですね。ここで、ピボットテーブルに追加の列を追加して、金額の合計/間隔の平均 (秒) の結果を得る必要があります。

計算値を追加し=SUM(Amount)/AVERAGE(Interval)ても、正しい値が得られません。Excelは私に与えます:

Month | Product | SUM of Amount | AVG of Interval in sec | Amount per sec
-------------------------------------------------------------------------
05-'12| Prod A  | 13            | 5                      | 1.3
05-'12| Prod B  | 4             | 5                      | 0.8
05-'12| Prod C  | 18            | 5                      | 1.8

実際に行っていることは、最初の表の値に基づいて、月ごとおよび製品ごとに =SUM(Amount)/SUM(Interval in sec) です。しかし、私は探しています:

Month | Product | SUM of Amount | AVG of Interval in sec | Amount per sec
-------------------------------------------------------------------------
05-'12| Prod A  | 13            | 5                      | 2.6
05-'12| Prod B  | 4             | 5                      | 0.8
05-'12| Prod C  | 18            | 5                      | 3.6

したがって、文字通り、ピボット フィールドの「Sum of Amount」をピボット フィールドの「AVG of Interval in sec」で割ります。

これを達成する方法は?

4

3 に答える 3

9

他の誰かがこの問題に遭遇した場合、私が見つけた解決策は、ヘルパー「カウント」列をデータセットに追加することです。各レコードの「カウント」フィールドの下に 1 が入力されます。

次に、Average の効果を得るために、以下を使用できます。

SUM(FIELD_TO_AVERAGE)/SUM(COUNT)

これは、平均が必要なすべての場合に機能すると思いますが、あまり広くテストしていません。

于 2015-10-08T18:09:39.110 に答える
4

次のように、数式でピボット テーブル データを参照する必要があります。

=GETPIVOTDATA("Sum of Amount",$A$3,"Product","A")/GETPIVOTDATA("Average of Interval",$A$3,"Product","A")

編集: スプレッドシートから: 目的の列をピボット テーブル A に追加するには:

K5=GETPIVOTDATA("Sum of Amount",$H$2,"Month",DATE(2012,5,1),"Product","Prod A")/GETPIVOTDATA("Average of Interval",$H$2,"Month",DATE(2012,5,1),"Product","Prod A")
K6=GETPIVOTDATA("Sum of Amount",$H$2,"Month",DATE(2012,5,1),"Product","Prod B")/GETPIVOTDATA("Average of Interval",$H$2,"Month",DATE(2012,5,1),"Product","Prod B")
K7=GETPIVOTDATA("Sum of Amount",$H$2,"Month",DATE(2012,5,1),"Product","Prod C")/GETPIVOTDATA("Average of Interval",$H$2,"Month",DATE(2012,5,1),"Product","Prod C")

また、元のデータ テーブルに追加の列を追加して列を生成することもできます: 個々のエントリごとに金額/秒。その後、すべてのデータをピボットすると、その列の積が目的の結果になります。

編集 (2):

上記の数式は、ピボット テーブルの数式ではなく、参照を使用できないセルの数式です。申し訳ありませんが、明確にしませんでした。ピボット テーブルの計算式を検討していますが、今のところ、ピボット テーブルの横の列として上記を使用すると、必要なものが生成されるはずです。

于 2012-09-13T09:37:51.547 に答える