Могу ли я изменить один документ электронной таблицы (таблицы Google) на основе информации из отдельной электронной таблицы - PullRequest
1 голос
/ 14 февраля 2020

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

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

Например, мой клиент имеет базу данных продуктов, хранящуюся в документе электронной таблицы, products, когда клиент размещает заказ на веб-сайте клиента, отдельном документе электронной таблицы. , openOrders, обновляется с использованием sheetAPI и некоторого кода сервера. Когда этот документ будет обновлен, я бы хотел вычесть количество заказываемых товаров из числа доступных товаров (или предметов), перечисленных в 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. Имейте в виду, что это два отдельных документа электронной таблицы. Я новичок в электронных таблицах, так что все это очень чуждо мне, возможно, я использую электронные таблицы в корне неверно, и я открыт для такой возможности.

1 Ответ

2 голосов
/ 14 февраля 2020

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

=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)

enter image description here

...