2012-11-18 13 views
11

Ho una grande tabella di dati in un foglio di calcolo Excel che, in sostanza, può essere considerato come una raccolta di valori per individui identificati come appartenenti a varie sottopopolazioni:Utilizzo di QUARTILE in una tabella pivot di Excel per riepilogare i dati per sottopopolazioni

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

ci sono più di 10.000 individui in questa tabella, e oltre 50 sottopopolazioni.

Vorrei calcolare il riepilogo a 5 numeri (Min, Q1, Mediano, Q3, Max) per ciascuna delle sottopopolazioni.

Min e Max sono facili in una tabella pivot. Ma Q1, Q2 (mediana) e Q3 non sembrano essere possibili.

Domanda

Esiste un modo per calcolare i quartili per ogni sottopopolazione in una tabella pivot in Excel?

La risposta dovrebbe essere così:

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

risposta

11

mia esperienza è che non si può fare percentili in una tabella pivot. Ho appena fatto una ricerca sul Web e non vedo nulla che lo contraddica. Penso che il meglio che puoi fare sia avere i tuoi dati di origine in una tabella in modo da poterti fare riferimento dinamicamente, e quindi usare la funzione percentile in un'altra tabella.

Ho visto one article sull'utilizzo di PowerPivot, ma è disponibile solo in Excel 2010 e sembra difficile. Ho il 2010 e, di fronte a un problema simile, ho deciso di seguire la strada che sto suggerendo qui.

EDIT: Spiegazione della mia alternativa proposta:

In risposta alla tua domanda nei commenti, ecco come avrei calcolare i percentili da una tabella di dati:

Table of percentiles

E ' si basa su una singola formula, che è la stessa per ogni cella da F2 a H6. È un array formula, il che significa che è stato immesso con Ctrl-Shift-Enter. Usa un'istruzione IF per filtrare i vari possibili SubPopID. Ecco la formula per la F2:

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

Questa era la mia paura. Nessuna delle mie ricerche sul web ha trovato nulla di valore per Excel 2007. Per Excel 2010, tuttavia, la funzione 'AGGREGATE()' sembrava abbastanza promettente, in quanto ha un opzione quartile integrata. (Sfortunatamente, il mio cliente non usa Excel2010 e non ha in programma di aggiornare la propria organizzazione imminentemente). Lo terrò attivo per un paio di giorni, e spero che ci dimostreremo in errore e che qualcuno abbia trovato una soluzione intelligente. –

+0

Doug, potresti approfondire cosa intendi per "dati sorgente in una tabella e funzione percentile in un'altra tabella"? (Non vedo come potrei usare la funzione 'QUARTILE()' di Excel su un sottoinsieme di righe, ad esempio solo sul SubPopID = A nell'esempio). Grazie. –

+1

Vedi la mia modifica. Si basa su una formula di matrice con un'istruzione 'IF'. –

6

Se avete bisogno di controllare una condizione per più di una colonna (a = 1, b = 2) è possibile espandere l'array usando il carattere *

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

Salve. Penso che la tua formula potrebbe avere un problema - le parentesi sembrano posizionate in modo errato. –

+0

sì questo dovrebbe essere il codice = PERCENTILE (IF ((Table1 [SubPopID] = [condition1]) * (Table1 [SubPopID2] = [condition2]), Table1 [Value]), ""), $ E2/100 – pauljeba

1

Ho trovato questo answer dove viene descritta una soluzione.

Utilizza lo stesso aggiornamento descritto da Doug Glancy ma lo associa a un campo calcolato nella tabella pivot. La risposta dà un esempio di file excel.

Problemi correlati