@jockasta

Как сделать построчное вычитание в Гугл Таблицах?

Я столкнулась с двумя довольно интересными задачами, и все они, как мне кажется, решаются по похожему принципу.

Задача 1.

Я экспортирую диапазон в новую таблицу с помощью query. В одном из столбцов – суммы, в другом – статусы, в остальных – другая информация по проектам. На один проект может приходится либо статус "Акт подписан", либо два разных статуса: "Акт подписан" и "Предоплата". Возможно ли сделать так, чтобы в новой таблице динамически обновлялся диапазон с проектами, вычитая из суммы по статусу "Акт подписан" сумму "Предоплаты" (обе сделки относятся к одному проекту, на один проект может быть максимум один акт и одна предоплата).

Скрины ниже:
[1.1] — исходная таблица
6286218c527ee407099726.jpeg
[1.2] — что должно получится
6286233ab5d01385275207.jpeg

Задача 2.

Есть экспортируемый диапазон с составом заказа в колонках A:B, и табличка «Комплектация» D:E, которую заполняют вручную: товары в «D» выбирают, допустим, через выпадающий список, в «E» ставят укомплектованное количество. Как сделать так, чтобы в диапазоне A:B уменьшалось количество товара, на указанное в комплектации? И соответственно, когда товар весь укомплектован, он исчезал из колонок A:B?

Скрины также ниже:
[2.1] — исходная позиция, выведен целиком состав заказа;
628621e86bf77006526403.jpeg
[2.2] — в комплектации указано 35 шт. Товара 1, в составе заказа Товар 1 уменьшился на данное количество;
628621f4560b4917100489.jpeg
[2.3] — Товар 1 укомплектован целиком, в составе заказа исчезла строка с ним (или она может просто обнулиться)
628621ff9282e292958325.jpeg

p.s. всю голову сломала как это можно решить, если кто-то сможет помочь, буду очень благодарна)
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
oshliaer
@oshliaer Куратор тега Google Sheets
Google Products Expert
Пример в Таблице https://docs.google.com/spreadsheets/d/1ejjSoD_NAy...

Решение второй задачи

=ARRAYFORMULA(FILTER(
  A2:B;
  MATCH(
    A2:A;
    QUERY(QUERY(
      {A2:B;G2:G\-1*H2:H};
      "select Col1, sum(Col2) where Col1<>'' group by Col1";
      0
    );"select Col1 where Col2<>0";0);
    0
  )
))


628b920be1125015317149.png

Первая задача без дополнительного описания мне кажется еще более странной. Можно строить как отчет, по примеру выше.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы