Поворотное программирование и передача цветовой информации в сводке листов Google - PullRequest
0 голосов
/ 02 сентября 2018

У нас есть базовая таблица, которая выглядит следующим образом, в нашей основной таблице под названием «MainData».

Мы хотели бы обобщить это в новом рабочем листе. Сводка должна быть по времени, в режиме управления программой, где «Когда» становится основным видом, следующим образом. Технически мы можем получить версию верхней части таблицы через Pivot, но это приведет к созданию нового рабочего листа. Мы бы хотели, чтобы весь этот вид был на нашем втором листе выбора, который мы можем назвать «Сводка».

Не уверен, с чего начать. Команда GETPIVOTDATA кажется более удобным способом управления отображением сводной таблицы без принудительного создания рабочего листа, но вводит в заблуждение детализация цветов и т. Д. В списке каждой недели под столбцом этой недели мы хотели бы показать элементы, но их ячейка должна быть окрашена в соответствии с состоянием, в котором находится элемент.

Не ищу готовых решений (хотя я не буду бунтовать, если им поделятся), просто ищу указатели, какие функции искать. Большое спасибо!

1 Ответ

0 голосов
/ 02 сентября 2018

Решение:

Это довольно сложная задача ... :) Я разработал рабочее решение для вас.

Перейдите по этой ссылке, чтобы получить это (2 листа - данные и отчет)

Пояснение:

Лист данных:

Я добавил дополнительный столбец к исходным данным - нам понадобится этот столбец в дальнейшем запросе (вы можете скрыть этот столбец)

={"Rep Desc";ArrayFormula(if(A2:A<>"";"Count of "&A2:A;))}

enter image description here

Отчетный лист:

Я добавил 2 дополнительных столбца (A: B) (их можно скрыть позже), чтобы лучше объяснить, что происходит. Это решение состоит из 4 основных частей - вы можете собрать их все в одну формулу, но для пояснения я оставил их отдельно.

Часть 1 Номера «Открыто / Закрыто / Внимание»

Это простой запрос - мы используем дополнительный столбец в источнике данных, чтобы получить описание желания (Количество ... вместо просто Attn, Closed и т. Д.)

=QUERY({INDIRECT($A$1)};$B$1;1)

строка для запроса

select Col5, count(Col4) where Col1 is not null group by Col5 pivot Col3 label Col5 ''

enter image description here

Часть 2 - «Сумма очков»

Его запрос снова вставляется в следующий запрос для удаления заголовков + «Сумма очков» в качестве дополнительного столбца (с использованием встроенного массива - {}):

={"Sum of Points"\QUERY(QUERY({INDIRECT($A$1)};B5;1);"select * offset 1";0)}

строка для запроса

select sum(Col4) where Col1 is not null pivot Col3

enter image description here

Часть 3 - «Особенности»

Это довольно сложно ... Если я найду больше времени, я опишу, что здесь происходит ... но сейчас просто код:

  =QUERY(

transpose(ArrayFormula(SPLIT(
transpose(SPLIT(
TEXTJOIN("^";1;transpose(
{SPLIT(join(" @@ ";transpose(query(transpose(QUERY({INDIRECT($A$1)};$B$9;1));"select Col1 offset 1";0)));" @";0;1);
QUERY(ArrayFormula(IF(TRANSPOSE(query(transpose(QUERY({INDIRECT($A$1)};$B$9;1));"select * offset 1";0))<>"";
query(QUERY({INDIRECT($A$1)};$B$9;1);"select Col1";0);""));"select * offset 1";0)}
))
;"@ ";0;1))
;"^")))
;
"select * offset 1";0)

enter image description here

Часть 4 - Условное форматирование

Для диапазона D9: H применять 3 правила с соответствующим цветом:

=INDEX(INDIRECT("data!$A:$A");MATCH(D9;INDIRECT("data!$B:$B");0);1)="Open"

=INDEX(INDIRECT("data!$A:$A");MATCH(D9;INDIRECT("data!$B:$B");0);1)="Closed"

=INDEX(INDIRECT("data!$A:$A");MATCH(D9;INDIRECT("data!$B:$B");0);1)="Attn"

enter image description here

OK

Это то, что вы собирались достичь?

Опять же - это рабочая копия для вас:

Перейдите по этой ссылке, чтобы получить это (2 листа - данные и отчет)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...