2012-11-18 18 views
11

Excelのスプレッドシートに大きなテーブルがあり、本質的には、さまざまなものに属すると特定された個人の値のコレクションと考えることができますサブポピュレーション:ExcelのピボットテーブルでQUARTILEを使用してデータを集計する

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桁の要約(Min、Q1、Median、Q3、Max)を計算したいと思います。

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

質問

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

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

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

答えて

11

私の経験では、ピボットテーブルでパーセンタイルを行うことができないということです。私はちょうどウェブ検索をして、それに矛盾するものは見ません。あなたができることは、あなたのソースデータをテーブルに入れて、それを動的に参照し、別のテーブルでパーセンタイル関数を使うことです。

PowerPivotの使用については、one articleが表示されていますが、それはExcel 2010でのみ利用可能であり、見た目は難しくなります。私は2010年も同様の問題に直面したとき、私はここで提案しているルートに進むことを選択しました。

EDIT:私の提案の代替の説明:、ここで私は、データのテーブルからパーセンタイルを計算したいどのようなコメントであなたの質問への答えで

です:

Table of percentiles

それは、 F1からH6までのすべてのセルで同じである単一の式に依存しています。 array formulaです。これは、Ctrl-Shift-Enterと入力したことを意味します。 IFステートメントを使用して、さまざまなSubPopIDをフィルタリングします。ここではF2のための式です:

=PERCENTILE(IF(Table1[SubPopID]=F$1,Table1[Value],""),$E2/100) 
+0

これは私の恐れでした。私のウェブ検索ではExcel 2007の価値は何も見つかりませんでしたが、Excel 2010の場合、四分円オプションが組み込まれているため、 'AGGREGATE()'関数は非常に有望でした。 (残念ながら、私の顧客はExcel2010を使用しておらず、すぐに組織をアップグレードする計画はありません)。私はこれを数日間有効にしておき、私たちが間違っていることを証明し、誰かが賢明な回避策を見つけたことを願っています。 –

+0

Doug、「別のテーブルのテーブルとパーセンタイル関数のソースデータ」という意味を詳しく説明できますか? (Excelの 'QUARTILE()'関数を行のサブセットで使用する方法がわかりません(例ではSubPopID = Aのみ)。どうも。 –

+1

私の編集をご覧ください。これは、配列式とIF式に依存します。 –

6

あなたが複数の列(= 1、B = 2)の条件をチェックする必要がある場合は、*文字

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

こんにちは。私はあなたの数式に問題があるかもしれないと思います - カッコが間違って配置されているようです。 –

+0

はいこれはコード= PERCENTILE(IF1)(表1 [SubPopID] = [条件1])*(Table1 [SubPopID2] = [条件2])、Table1 [値])、 "")、$ E2/100 – pauljeba

1

を使用してアレイを拡張することができます私はこの解決策が記載されているanswerを見つけました。

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

関連する問題