web-dev-qa-db-ja.com

ピボットテーブルの計算フィールドは、1つの列を他のEXCELで除算します

ピボットテーブルに2つの列があります。作業指示の数、およびコストの合計。コストの合計を作業指示の数で除算する計算フィールドを挿入して、作業指示ごとの平均を取得します。

次の式を使用して計算フィールドを挿入すると、平均ではなく合計コストが得られます。フィールドが小計(コスト)とWO#(作業指示)であることがわかります

enter image description here

そして、これが私のピボットテーブルでの出力の様子です。

enter image description here

2
George

計算フィールドをピボットテーブルに追加するときは、参照を追加するだけでよく、その内部の計算は不要なので、定義にSumまたはCountを追加する必要はありません。ただし、Excelは非常に腹立たしい方法で計算フィールドを処理します-最初に値を追加してから計算を実行します-たとえば、計算フィールドが単に_field3=field2/field1_の場合、これらのSUMを表示したいとき値、sum(field3)の代わりに、sum(field2)/sum(field1)

この計算はピボットの外で行うことをお勧めします。

たとえば、次の表をピボットの入力として使用すると、結果が表示されます

enter image description here

enter image description here

2

同じ問題があり、必要な答えを見つけました。 OPと同様に、平均(SUM(フィールド1)をCOUNT(フィールド2)で除算)を計算したいのですが、これの問題は、同じ数式に2つの関数がある(SUMをCOUNTで除算した)ことです。これまで見てきたように、同じ計算で複数の関数を使用すると、意図しない結果が生じます。

私のために働いたキーは、カウントしたいアイテムに1を割り当て、カウントしたくないアイテムに0を割り当てる数式を使用して、生データに新しいフィールド(フィールド3)を作成することでした。したがって、countは合計です。このようにして、分母のCOUNT(フィールド2)をSUM(フィールド3)に変換します。したがって、必要な結果は、SUMをSUMで除算したもので、Excelで処理できる上と下の同じ関数です。そして、幸運にも私にとってこの状況では、Excelの「苛立たしい方法」の計算がまさに私が望んでいるものです。

フェルナンドが述べたように、計算フィールドはフィールド自体を参照するだけです。 SUMやCOUNTなどは使用しないでください。必要な関数は、フィールドをピボットテーブルに追加し、必要な関数を選択すると適用されます。

計算関数を[フィールド1 /フィールド3]に設定し、IFステートメントで0による除算を回避し、計算フィールドをピボットテーブルに配置するときにSUM関数を使用しました。最終結果はSUM(フィールド1)/ SUM(フィールド3)で、これはSUM(フィールド1)/ COUNT(フィールド2)と等しくなります。

概要:

  1. すべてのフィールドで同じ関数が使用されるように数式を再記述してください。たとえば、平均(SUM/COUNT)をSUM/SUMまたはCOUNT/COUNTに再表現する方法を見つけます。
  2. 再定義された式に役立つ生データにフィールドを追加します。たとえば、再定義された数式でCOUNTではなくSUMを使用している場合、生のデータに1と0を割り当てる新しいフィールドを作成して、この新しいフィールドの合計が他のフィールドのカウントと等しくなるようにします。
  3. 作成した新しいフィールドを含め、再定義された数式に対応するフィールドを使用する計算ピボットフィールドを作成します。この時点では、SUMまたはCOUNTを使用しないでください。
  4. 計算フィールドをピボットテーブルのデータ領域に追加し、必要な関数を選択します。この関数は、計算フィールドの数式で参照される各フィールドに適用されます。

Screenshot of calculated pivot field

0
Michael Kenny