Есть ли способ создать сводную таблицу в Google Sheets, используя только формулы? - PullRequest
1 голос
/ 06 июня 2019

Я застрял в задаче создания сводной таблицы в Google Sheets без фактического использования инструмента «Сводная таблица».

Файл экспорта с необработанными данными:

raw data

Цель состоит в том, чтобы создать лист на основе этого файла экспорта, где все задачи будут сгруппированы по проекту.и рассчитать общее время для каждого проекта.

Моя цель такова:

goal

Проблема в том, что количество проектов и задач не является постоянным, поэтому количество строк для каждого проекта может варьироваться.

Я знаю, что есть 100% работающее решение для генерации сводной таблицы с помощью встроенного инструмента, но моя цель - сделать это, используя только формулы или сценарии.Есть ли способ?

Вот фактический лист https://docs.google.com/spreadsheets/d/1tfeGbOOe7KVa0E4OlkZ9PMhM6xGoXaQVx4Yx7sU3qZU/edit?usp=sharing

Ответы [ 2 ]

0 голосов
/ 07 июня 2019
=ARRAYFORMULA({SPLIT(TRANSPOSE(SPLIT(TRIM(QUERY("♠"&SORT(UNIQUE(FILTER(A2:A, A2:A<>"")))&
 TRANSPOSE(QUERY(TRANSPOSE(IF(LEN(QUERY(TRANSPOSE(QUERY(QUERY(A2:C,
 "select B,sum(C) where B<>'' group by B pivot A", 0), "offset 1", 0)), "offset 1", 0)), 
 "♠ ♦"&TRANSPOSE(SORT(UNIQUE(FILTER(B2:B, B2:B<>""))))&"♦"&QUERY(TRANSPOSE(QUERY(QUERY(A2:C,
 "select B,sum(C) where B<>'' group by B pivot A", 0), "offset 1", 0)), "offset 1", 0), ))
 , , 999^99))&"♠ ♦Total:♦"&MMULT(QUERY(TRANSPOSE(QUERY(QUERY(A2:C,
 "select B,sum(C) where B<>'' group by B pivot A", 0), "offset 1", 0)), "offset 1", 0)*1,
 TRANSPOSE(SPLIT(REPT(COUNTUNIQUE(B2:B)&"♦", COUNTUNIQUE(B2:B)), "♦")^0)), , 999^99)), 
 "♠")), "♦"); "", "Total:", SUM(C2:C)})

0

0 голосов
/ 06 июня 2019

Это может помочь

=QUERY(A:C,"select A,B,count(C) where B <> '' group by A,B")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...