2014-11-22 5 views
0

Я указал некоторые значения в Google Таблицах, как показано ниже.Как агрегировать табличные данные

Name Answer 

    A  yes 
    A  No 
    B  No 
    A  Yes 
    X  Yes 
    A  Yes 

Я хочу, чтобы объединить эти значения и отображать результат в другой таблице, как это:

Name Total Right Wrong Right% 

    A  4  3  1  75 
    B  1  0  1  0 
    X  1  1  0  100 

Как я могу это сделать, используя формулы электронной таблицы?

ответ

1

Посмотрите на this example sheet , где я использовал эту формулу для создания требуемого выходного сигнала

=query(ArrayFormula(if(len(query({filter(Sheet1!A2:B, len(Sheet1!B2:B)),filter(ArrayFormula(if(Sheet1!B2:B="yes", "Right", "Wrong")), len(Sheet1!B2:B))}, "select Col1, count(Col2) group by Col1 pivot Col3"))=0, 0, (query({filter(A2:B, len(Sheet1!B2:B)),filter(ArrayFormula(if(Sheet1!B2:B="yes", "Right", "Wrong")), len(Sheet1!B2:B))}, "select Col1, count(Col2) group by Col1 pivot Col3")))), "select Col1, (Col2+Col3)*1, Col2, Col3, (Col2/(Col2+Col3))*100 label (Col2+Col3)*1 'Total', (Col2/(Col2+Col3))*100 'Right %', Col1 'Names' ") 
+0

Альтернативно, это также может работать: = ArrayFormula ({{ «Имена»; сортировки (уникальный (фильтр (А2: A, len (A2: A))))}, query (значение (запрос ({filter (Sheet1! A2: B, len (Sheet1! B2: B)), фильтр (ArrayFormula (если (Sheet1! B2: B = «Да», «Вправо», «Неверно»)), len (Sheet1! B2: B))}, «выберите Col1, count (Col2) group by Col1 pivot Col3»)), «выберите (Col2 + Col3) * 1, Col2, Col3, (Col2/(Col2 + Col3)) * 100 label (Col2 + Col3) * 1 'Total', (Col2/(Col2 + Col3)) * 100 'Right%', Col2 'Right' Col3 'Wrong' ")}) – JPV

+0

Замечательная работа .. –

Смежные вопросы