Google SpreadSheet Query - объединяет результаты запросов в один - PullRequest
1 голос
/ 06 марта 2020

Давайте возьмем эти данные в листе Google:

| Product | Green | Red | Date      |
| A       | 1     | 0   | 1/1/2020  |
| A       | 1     | 0   | 2/1/2020  |
| B       | 0     | 1   | 2/25/2020 |
| C       | 1     | 0   | 2/28/2020 |
| A       | 0     | 1   | 3/1/2020  |

Моя цель - отобразить сумму зеленого / красного для каждого продукта:

  • С начала год,
  • за текущий месяц.

Я создал этот запрос Google, чтобы получить результаты за весь год:

=QUERY(DATA!A:D,"select A, sum(B), sum(C) where D >= date '2020-01-01' and D <= date '2020-12-31' group by A")

Я получил этот результат :

| Product | sum Green | sum Red |
| A       | 2         | 1       |
| B       | 0         | 1       |
| C       | 1         | 0       |

И этот запрос для данного месяца (я упростил запрос, но у меня есть лист настроек, чтобы указать месяц для запроса):

=QUERY(DATA!A:D,"select A, sum(B), sum(C) where D >= date '2020-01-01' and D <= date '2020-01-31' group by A")

И получить этот результат :

| Product | sum Green | sum Red |
| A       | 1         | 0       |

Теперь я застрял в объединении двух результатов в один, например:

| Product | Year sum Green | Year sum Red | Jan sum Green | Jan sum Red |
| A       | 2              | 1            | 1             | 0           |
| B       | 0              | 1            |               |             |       
| C       | 1              | 0            |               |             |

Как мне этого добиться?

Большое спасибо за вашу помощь!

1 Ответ

3 голосов
/ 06 марта 2020

попробовать:

=ARRAYFORMULA(IFNA(VLOOKUP(F2:F, QUERY(DATA!A:D, 
 "select A,sum(B),sum(C) 
  where month(D)+1 = 1 
  group by A 
  label sum(B)'Jan sum Green',sum(C)'Jan sum Red'"), {2,3}, 0)))

0

0

...