web-dev-qa-db-ja.com

ExcelピボットテーブルでQUARTILEを使用して、部分母集団別にデータを要約する

基本的に、さまざまなサブ集団に属すると識別された個人の値のコレクションと見なすことができる、Excelスプレッドシートに大きなデータテーブルがあります。

  IndivID   SubPopID  Value
     1          A       33.56
     2          E       42.31
     3          D       16.35
     4          A       50.59
     5          F       80.63
     ...

この表には10,000人を超える個人、および50を超える亜集団がいます。

各サブポピュレーションの5つの数値の要約(最小、Q1、中央値、Q3、最大)を計算したいと思います。

ピボットテーブルでは、MinとMaxは簡単です。しかし、Q1、Q2(中央値)、およびQ3は可能ではないようです。

質問

Excelのピボットテーブルの各部分母集団の四分位数を計算する方法はありますか?

答えは次のようになります。

SubPopID      Min     Q1     Q2        Q3      Max
   A         3.23    12.06   20.35   28.29     50.59
   B 
   C
   ...
18
Assad Ebrahim

私の経験では、ピボットテーブルではパーセンタイルを実行できません。ウェブ検索を行ったところ、矛盾するものは見当たりません。できる最善の方法は、ソースデータをテーブルに入れて、動的に参照できるようにしてから、別のテーブルでパーセンタイル関数を使用することです。

私は 1つの記事 PowerPivotの使用について見てきましたが、それはExcel 2010でのみ利用可能であり、難しいように見えます。 2010年があり、同様の問題に直面したとき、私はここで提案しているルートに行くことを選択しました。

[〜#〜] edit [〜#〜]:私が提案した代替案の説明:

コメントのあなたの質問に答えて、データのテーブルからパーセンタイルを計算する方法は次のとおりです。

Table of percentiles

F2からH6までのすべてのセルで同じ単一の式に依存します。 配列式 です。つまり、Ctrl-Shift-Enter。 IFステートメントを使用して、考えられるさまざまなSubPopIDでフィルタリングします。 F2の式は次のとおりです。

=PERCENTILE(IF(Table1[SubPopID]=F$1,Table1[Value],""),$E2/100)
19
Doug Glancy

複数の列(a = 1 AND b = 2)の条件を確認する必要がある場合は、*文字を使用して配列を展開できます。

=PERCENTILE((IF((Table1[SubPopID]=[condition1]) * (Table1[SubPopID2]=[condition2]),Table1[Value]),""),$E2/100)
7
zer0links

私はこれを見つけました answer ここで解決策が説明されています。

Doug Glancyが説明したのと同じアプローチを使用しますが、ピボットテーブルの計算フィールドに関連付けます。答えはExcelファイルの例です。

1
Alban