Внешнее соединение Google Sheets на 2 таблицах, которые суммируются - PullRequest
1 голос
/ 06 мая 2020

У меня есть разрабатываемый мной отчет, который должен быть в таблицах Google. Лист 1 содержит все текущие дела, открытые и принадлежащие владельцу дела, по 1 строке на дело, несколько дел на каждого владельца дела в месяц (в листе образцов Данные за 4 месяца) Лист 2 содержит все дела, которые были закрыты и кто их закрыл, по 1 строке на дело, несколько дел на каждого владельца дела в месяц (в листе выборки данных за 4 месяца)

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

Я знаю, как создать функцию query (), которая суммирует оба необработанные данные отдельно - то, что я хочу сделать, это запросить объединенную таблицу, чтобы получить открытые и закрытые дела в одной таблице. В файле примера есть 2 таблицы в форматах A5 и F5. Я смотрел, как работает функция query () - фактический отчет, который мне нужен, находится в K5

Там, где я пытаюсь собрать все это в один сводный отчет, который показывает данные за последние 3 месяца

Чтобы уточнить - я хочу иметь одну функцию, которая запрашивает из 2 листов RAW и создает итоговый отчет

В таблице с образцами должно быть более четко объяснено, что мне нужно do

https://docs.google.com/spreadsheets/d/1QEd9ZauY0YrbRWNu35tDTk6SkL1PaIZLtSOCd1A2fDY/edit?usp=sharing

Вывод для ОТКРЫТЫХ случаев:

=query('Raw Data'!A:N,"Select B, count(A) where N >= date '2020-02-01' group by B pivot N")

Вывод для ЗАКРЫТЫХ случаев

=query('Raw Data - Closed'!A:N,"Select A, count(B) where H >= date '2020-02-01' AND H <= date '2020-04-01' group by A pivot H")

Есть указатели?

1 Ответ

0 голосов
/ 06 мая 2020

попробуйте:

=ARRAYFORMULA(SUBSTITUTE(TRANSPOSE(QUERY(TRANSPOSE({{
 IF(ISNUMBER(A5:D5*1), A5:D5&" A"&A3, A5:D5); A6:D}, 
 IFNA(VLOOKUP(A5:A, {IF(ISNUMBER(F5:I5*1), F5:I5&" "&F3, F5:I5); F6:I}, 
 COLUMN(G5:I5)-(COLUMN(F5)-1), 0))}), "order by Col1", 1)), " AOpen", " Open"))

0


=ARRAYFORMULA(SUBSTITUTE(TRANSPOSE(QUERY(TRANSPOSE({{
 IF(ISNUMBER(
 QUERY('Raw Data'!A:N, "select B,count(A) where N >= date '2020-02-01' group by B pivot N limit 0")*1), 
 QUERY('Raw Data'!A:N, "select B,count(A) where N >= date '2020-02-01' group by B pivot N limit 0")&" AOpen", 
 QUERY('Raw Data'!A:N, "select B,count(A) where N >= date '2020-02-01' group by B pivot N limit 0")); QUERY(
 QUERY('Raw Data'!A:N, "select B,count(A) where N >= date '2020-02-01' group by B pivot N"), "offset 1", 0)}, 
 IFNA(VLOOKUP(INDEX(
 QUERY('Raw Data'!A:N, "select B,count(A) where N >= date '2020-02-01' group by B pivot N"),,1), {IF(ISNUMBER(
 QUERY('Raw Data - Closed'!A:N, "select A,count(B) where H >= date '2020-02-01' and H <= date '2020-04-01' group by A pivot H limit 0")*1), 
 QUERY('Raw Data - Closed'!A:N, "select A,count(B) where H >= date '2020-02-01' and H <= date '2020-04-01' group by A pivot H limit 0")&" Closed", 
 QUERY('Raw Data - Closed'!A:N, "select A,count(B) where H >= date '2020-02-01' and H <= date '2020-04-01' group by A pivot H limit 0")); QUERY(
 QUERY('Raw Data - Closed'!A:N, "select A,count(B) where H >= date '2020-02-01' and H <= date '2020-04-01' group by A pivot H"), "offset 1", 0)}, 
 SEQUENCE(1, COLUMNS(
 QUERY('Raw Data - Closed'!A:N, "select A,count(B) where H >= date '2020-02-01' and H <= date '2020-04-01' group by A pivot H"))-1, 2, 1), 0))}), "order by Col1", 1)), " AOpen", " Open"))

0

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