2014-10-22 4 views
0

таблицы У меня есть таблица структурирована какагрегации/манипуляции

2005 Alameda  total HS graduates 1234 
2005 Alameda  UC enrollees   112 
2006 Alameda  total HS graduates 892 
2006 Alameda  UC enrollees   84 
... 
2009 Yolo  total HS graduates 1300 
2009 Yolo  UC enrollees   93 

и так далее для каждого графства CA в течение нескольких лет.

Я хочу, чтобы создать таблицу, как это:

county 2005  2006 ... 
    Alameda 11.1%  9% 
    Alpine  7%  8% 
    ... 
    Yolo  5.5%  4% 

т.е. я хочу проецировать года из строк в столбцы и имею ряд для каждого округа, а затем разделить число выпускников (данные от каждого строка с нечетным номером в исходном листе) на число пользователей UC (данные четной строки) за каждый год и вставлять их в соответствующую ячейку.

Это было бы достаточно легко для меня сделать на Java, но я хочу понять, что возможно, просто используя листы Excel/Google - как я могу это сделать?

ответ

2

Предполагая, что уезды сортируются, и они начинают в ячейке B2 введите =B2 в ячейку F2 и введите следующую команду в F3:

=INDIRECT("B"&COUNTIF(B3:B$9999,"<="&F2)+ROW()) 

Вы можете изменить 9999 на основе количества записей, но это хорошо как есть.

Копировать F3 вниз столько строк, сколько необходимо:

enter image description here

Вы можете рассчитать проценты с помощью SUMPRODUCT:

=IFERROR(
    SUMPRODUCT(($A$2:$A$100=G$1)* 
      ($B$2:$B$100=$F2)* 
      ($C$2:$C$100="UC enrollees")* 
      $D$2:$D$100 
      ) 
/
    SUMPRODUCT(($A$2:$A$100=G$1)* 
      ($B$2:$B$100=$F2)* 
      ($C$2:$C$100="total HS graduates")* 
      $D$2:$D$100 
), 
    "") 

enter image description here

Первый SUMPRODUCT составляет UC зачисленных, что соответствовать году и округу. Второй SUMPRODUCT делает то же самое для выпускников HS. Результаты делятся, и IFERROR обрабатывает ошибки с ошибками по отсутствию данных.

Поскольку ваш пример показывает проценты, я предполагаю, что вы хотите разделить учащихся UC выпускниками HS, а не наоборот. В любом случае, я не получаю то же количество, что и вы, поэтому дайте мне знать, если я неправильно понял.

+0

отлично смотрится - спасибо. Я попробую и приму, когда вернусь домой! – drewmoore

+0

Как сделать то же самое для заголовков столбцов (лет)? Установите G1 to = small ($ A: $ A, 1), затем H1 to = SMALL ($ A: $ A, COUNTIF ($ A: $ A, "<=" & G1) +1)? –

+0

Это отлично работает. Мне также нравится ваш подход к сводной таблице. –

1

Вот пример сводной таблицы для сравнения.

Они много способов сделать это, но я добавил заголовки столбцов и решил использовать эту формулу, чтобы положить проценты в четных рядах столбец Е и нулях в нечетных строках в листе 1: -

=IF(ISEVEN(ROW()),D3/D2*100,0) 

enter image description here

Затем я вставил сводную таблицу в листе 2, ссылаясь на мои данные в листе 1 и настроить поля, как показано, и это довольно автоматический: -

enter image description here

+0

Примечание для себя - в моем процентном вычислении не нужно умножать на 100 в процентах: если вы выберете процентный формат, он сделает это за вас. –