2012-11-18 9 views
11

Mam dużą tabelę danych w arkuszu kalkulacyjnym Excel, który zasadniczo może być uważany za zbiór wartości dla osób zidentyfikowanych jako należące do różnych subpopulacje:Używanie QUARTILE w tabeli przestawnej programu Excel w celu podsumowania danych według subpopulacji

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

W tabeli jest ponad 10 000 osób i ponad 50 subpopulacji.

Chciałbym obliczyć podsumowanie 5-liczbowe (Min, Q1, Median, Q3, Max) dla każdej z subpopulacji.

Min i Maks są łatwe w tabeli przestawnej. Ale wydaje się, że Q1, Q2 (mediana) i Q3 nie są możliwe.

Pytanie

Czy istnieje jakiś sposób, aby obliczyć kwartyle dla każdej subpopulacji w tabeli przestawnej w programie Excel?

Odpowiedź powinna wyglądać następująco:

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

Odpowiedz

11

Z mojego doświadczenia wynika, że ​​nie można zrobić percentyla w tabeli przestawnej. Po prostu przeszukałem stronę internetową i nie widziałem nic, co by to zaprzeczyło. Myślę, że najlepiej jest mieć dane źródłowe w tabeli, aby móc odnieść się do niego dynamicznie, a następnie użyć funkcji percentyla w innej tabeli.

Widziałem, one article o użyciu PowerPivot, ale jest to dostępne tylko w programie Excel 2010 i wygląda na trudne. Mam rok 2010 i kiedy stanąłem przed podobnym problemem, nadal wybrałem drogę, którą sugeruję tutaj.

EDIT: Wyjaśnienie mojego proponowanego alternatywa:

W odpowiedzi na swoje pytanie w komentarzach, oto jak bym obliczenia percentyla z tabeli danych:

Table of percentiles

It opiera się na jednej formule, która jest taka sama dla każdej komórki od F2 do H6. Jest to array formula, co oznacza, że ​​został wprowadzony z Ctrl-Shift-Enter. Używa instrukcji IF do filtrowania różnych możliwych SubPopID. Oto wzór dla F2:

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

To był mój strach. Żadne z moich wyszukiwań w Internecie nie znalazło nic przydatnego w Excelu 2007. Jednak w przypadku Excel 2010 funkcja 'AGGREGATE()' wyglądała całkiem obiecująco, ponieważ ma wbudowaną opcję kwartylu. (Niestety, mój klient nie używa Excel2010 i nie planuje natychmiastowej aktualizacji swojej organizacji). Zachowam to aktywne przez kilka dni i mam nadzieję, że udowodniliśmy, że się myli i ktoś znalazł sprytne rozwiązanie. –

+0

Doug, czy mógłbyś wyjaśnić, co masz na myśli przez "dane źródłowe w tabeli i funkcję percentyla w innej tabeli"? (Nie widzę sposobu, w jaki mogę użyć funkcji "QUARTILE()" programu Excel w podzbiorze wierszy, np. Tylko w SubPopID = A w przykładzie). Dzięki. –

+1

Proszę zobaczyć moją edycję. Opiera się na formule tablicowej z instrukcją "IF". –

6

Jeśli trzeba sprawdzić stan na więcej niż jednej kolumnie (A = 1, B = 2) można rozszerzyć tablicy przy użyciu * charakter

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

Cześć. Myślę, że twoja formuła może mieć problem - nawiasy wydają się niepoprawnie umieszczone. –

+0

tak to powinien być kod = PERCENTYLY (JEŻELI ((Tabela1 [SubPopID] = [warunek1]) * (Tabela1 [SubPopID2] = [warunek2]), Tabela1 [Wartość]), ""), $ E2/100 – pauljeba

1

Znalazłem to answer, gdzie opisano rozwiązanie.

Używa tego samego podejścia, jak opisał Doug Glancy, ale kojarzy je z polem obliczanym w tabeli przestawnej. Odpowiedź podaje przykładowy plik Excela.

Powiązane problemy