Могу ли я изменить один табличный документ (таблицы Google) на основе информации из отдельной электронной таблицы?

Не уверен, что это лучшее место, чтобы спросить о электронных таблицах, но вот:

Я пытаюсь помочь кому-то изменить информацию в одном табличном документе, когда изменяется информация в отдельном табличном документе (без кодирования решения с нуля с использованием SheetsAPI).

Например, у моего клиента есть база данных продуктов, хранящаяся в табличном документе products, когда клиент размещает заказ на веб-сайте клиента, отдельный табличный документ openOrders обновляется с использованием SheetsAPI и некоторого серверного кода. Когда этот документ будет обновлен, я хотел бы вычесть количество заказываемых товаров из количества доступного товара (или товаров), указанного в products. Мне интересно, возможно ли позволить этим документам электронных таблиц «говорить» друг с другом без кодирования решения на стороне сервера с использованием API.

products выглядит примерно так:

Product Name | Units | Unit Price
---------------------------------
Product 1    |     6 |       1600
Product 2    |     3 |       1200
Product 3    |    17 |        400
Product 4    |     2 |        600

openOrders выглядит примерно так:

Product Ordered | Units | Unit Price | Total
--------------------------------------------
Product 3       |     1 |        400 |   400
Product 2       |     2 |       1200 |  2400
Product 3       |     5 |        400 |  2000
Product 1       |     1 |       1600 |  1600

Когда лист openOrders обновляется новым заказом, я хочу вычесть количество заказанных Units из количества Units доступных в products. Имейте в виду, что это два отдельных табличных документа. Я новичок в электронных таблицах, поэтому все это очень чуждо мне, возможно, я использую электронные таблицы в корне неправильно, и я открыт для такой возможности.


person hermancain    schedule 14.02.2020    source источник


Ответы (1)


ты можешь сделать:

=ARRAYFORMULA(QUERY({A2:A, B2:B*-1; 
 IMPORTRANGE("ID_of_spreadsheet", "Sheet1!A2:B")}, 
 "select sum(Col2) where Col1 <> '' group by Col1 label sum(Col2)''", 0)*-1)

введите здесь описание изображения

person player0    schedule 14.02.2020