@bmw_man860

Как вычислить значение искомой ячейки с помощью ЕСЛИ() или какой-либо другой функции, которая переберет весь диапазон массива?

Здравствуйте. Есть гугл таблица в которую приходят данные из других таблиц с помощью IMPORTRANGE. В день в магазин могут привезти один и тот же товар несколько раз. Если я использую функцию ЕСЛИ и пытаюсь вычислить приход товара по названию товара, то у меня не получается найти все приходы товара, а только первый в списке. Помогите написать формулу или скрипт который смог бы перебрать все строки с одной датой и найти все результаты при условии что был завоз товара по двум условиям: №магазина и название товара.
Пока только смог найти с помощью формулы только первое поступление товара по названию товара. Дата парсится из других таблиц как текст. Требуется найти значение цены поступления.

=ЕСЛИ(ВПР((to_date(ДАТАЗНАЧ(A2)));'Поступления'!B2:Z;3;0)="Тов1";"I2";
ЕСЛИ(ВПР((to_date(ДАТАЗНАЧ(A2)));'Поступления'!B3:Z;3;0)="Тов1";"I3";
ЕСЛИ(ВПР((to_date(ДАТАЗНАЧ(A2)));'Поступления'!B4:Z;3;0)="Тов1";"I4";
ЕСЛИ(ВПР((to_date(ДАТАЗНАЧ(A2)));'Поступления'!B5:Z;3;0)="Тов1";"I5";
ЕСЛИ(ВПР((to_date(ДАТАЗНАЧ(A2)));'Поступления'!B6:Z;3;0)="Тов1";"I6";
ЕСЛИ(ВПР((to_date(ДАТАЗНАЧ(A2)));'Поступления'!B7:Z;3;0)="Тов1";"I7";
ЕСЛИ(ВПР((to_date(ДАТАЗНАЧ(A2)));'Поступления'!B8:Z;3;0)="Тов1";"i8";
ЕСЛИ(ВПР((to_date(ДАТАЗНАЧ(A2)));'Поступления'!B9:Z;3;0)="Тов1";"i9";
ЕСЛИ(ВПР((to_date(ДАТАЗНАЧ(A2)));'Поступления'!B10:Z;3;0)="Тов1";"i10";
ЕСЛИ(ВПР((to_date(ДАТАЗНАЧ(A2)));'Поступления'!B11:Z;3;0)="Тов1";"i11";
ЕСЛИ(ВПР((to_date(ДАТАЗНАЧ(A2)));'Поступления'!B12:Z;3;0)="Тов1";"i12";"НЕ БЫЛО")))))))))))

Ссылка на таблицу
  • Вопрос задан
  • 88 просмотров
Пригласить эксперта
Ответы на вопрос 2
oshliaer
@oshliaer Куратор тега Google Apps Script
Google Products Expert
Можно попробовать решить это с помощью выборки с конкатенацией

=ARRAYFORMULA(IFERROR(VLOOKUP(
    A2:A&C2:C;
    {
      UNIQUE(A2:A&C2:C)\
      REGEXREPLACE(TRIM(TRANSPOSE(QUERY(
        IF(TRANSPOSE(UNIQUE(A2:A&C2:C))=A2:A&C2:C;B2:B & ", ";"");;ROWS(A2:A))
      ));"(\s*,)+$";"")
    };
    2;
  );""))


Выводит напротив даты и товара список магазинов, в которые в эту дату поступал этот товар.

5eeda7e7f1296059711169.png

Также можно построить карту поступлений

5eeda80750fd0108903866.png

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

Пример в Таблице https://docs.google.com/spreadsheets/d/15eAJ-R1i8A...
Ответ написан
ProgrammerForever
@ProgrammerForever Куратор тега Google Apps Script
Учитель, автоэлектрик, программист, музыкант
Тут подойдёт FILTER(диапазон;условие1;условие2...) для отсеивания нужных строк
А дальше всё это можно суммировать, пересчитывать, вычислять среднее, записывать кучей с помощью JOIN() и т.п.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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