Страницы: 1
RSS
Изменение значения в ячейке в зависимости от изменения в другой ячейке, Нужна функция/макрос ,которая поможет автоматически заполнить таблицу.
 
Всем добрый день!
Помогите пожалуйста решить вопрос:
Необходимо автоматизировать процесс заливки заказов под шаблон.

1. Шаблон - Лист в который должны подтягиваться данные
В столбец А(Заказ№): должны подтягиваться данные из листа =Заказы!B2
В столбец B(Код товара): должны подтягиваться данные из листа =Артикул!А1

2. Лист Артикул в примере короткий но в действительности имеет большое количество артикулов.

3. Лист Заказы, содержит в себе необходимые для отчёта заказы (обычно их в 2 раза меньше чем заказов и артикулов в листе Артикул)

Листы Артикул и Заказы заполняются данными из 1С

Необходимо сделать так, чтобы при загрузке данных в лист Заказы он по номеру заказа нашёл необходимый артикул в листе Артикул,
и вставил все данные в лист Шаблон.

То есть, заполняя столбец А в листе Шаблон мы берем данные из листа Заказы, и копируем номер заказа столько раз, сколько артикулов по данному заказу он нашёл в листе Артикул, а как только артикула заканчиваются, он переходит к следующему заказу, и проводит точно такую же операцию, пока в листе Заказы не закончатся номера заказов. А столбец B в листе Шаблон, заполняется артикулами которые подтягиваются из листа Aртикул.

Надеюсь понятно объяснил, заранее благодарю за помощь!
 
Филипп,
Посмотрите решение формулами (с двумя дополнительными столбцами на листе Заказы) - то ли это, что Вам нужно?
На листе Шаблон формируется таблица из артикулов, относящихся к заказам, отмеченным на отдельном листе.
Я надеюсь, что смысловые поля таблицы Вы самостоятельно заполните с помощью ВПР() или ИНДЕКС()+ПОИСКПОЗ().
 
Добрый день!
на pq
 
IKor, спасибо большое, это именно то, что мне нужно.
Только появилась проблема с переносом функций в рабочую таблицу

Всего товаров в заказе и Первая строка артикула - работают правильно

Не работает функция в столбце Заказ №, в листе Шаблон.
Причём Код товара отображается верный, и при копирование всё правильно подтягивается а в столбце А Заказ№, выходит ошибка №Н/Д
И если удалить весь столбец, то сбивается код товара.

Вот как я прописал функцию: =ЕСЛИ((СТРОКА()-СТРОКА($A$1))>СУММ(Заказы!$V$2:$V$35);"";ИНДЕКС(Заказы!$B$1:$B$35;ПОИСКПОЗ(1+СТРОКА()-СТРОКА($A$1);Заказы!$W$2:$W$35;1);2))

(Заказы!$B$1:$B$35) - это "Номера заказов"
(Заказы!$V$2:$V$35) - это "Всего товаров в заказе"
(Заказы!$W$2:$W$35) - это "первая строка артикула"

перепроверил несколько раз, не понимаю в чём ошибка.
 
Anton555,Спасибо большое, вижу что пример в рабочем состояние)
Как я могу перенести решение на рабочий вариант?
 
Филипп, перенесите запрос
Код
let
    a = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    b = Excel.CurrentWorkbook(){[Name="Таблица2"]}[Content],
    #"Merged Queries" = Table.NestedJoin(a, {"Заказ №"}, b, {"Номер заказа"}, "Таблица2", JoinKind.LeftOuter),
    #"Expanded {0}" = Table.ExpandTableColumn(#"Merged Queries", "Таблица2", {"Артикул", "Получено артикулов (шт)", "Сумма, руб. коп. (по товарной стоимости)"}, {"Артикул", "Получено артикулов (шт)", "Сумма, руб. коп. (по товарной стоимости)"})[[#"Заказ №"], [#"Артикул"], [#"Получено артикулов (шт)"], [#"Регион доставки"], [#"Дата выдачи Клиенту"], [#"Стоимость Заказа/товара"], [#"Место забора Заказа"]]
in
    #"Expanded {0}"

да, и почитайте что такое power query
Изменено: Anton555 - 23.11.2020 13:29:51
 
IKor, попробовал не переносить функции, а подставить новые данные в готовый вариант.
В итоге работает только два столбца (Всего товаров в заказе и первая строка артикула), а данные в шаблоне не подтягиваются, ошибка #Н/Д
 
Anton555, ваш вариант корректно работает. попробовал подставить рабочие данные и всё получилось!
Спасибо большое!
Осталось сделать таблицу чуть больше чем в примере, так как необходимо подтягивать больше данных
И пора уже познакомиться с Power Query по ближе!
 
Цитата
Филипп написал:
перепроверил несколько раз, не понимаю в чём ошибка.
Попробуйте поэкспериментировать с размерами диапазонов (хоть с первой, хоть со второй строки, но лучше делать их равной высоты) и с индексами новых строк: СТРОКА()-СТРОКА(шапка)+/-константа - они должны возвращать правильный индекс для каждой строки (1 - для первой; максимальное значение - для последней значимой; и пустое значение для всех заготовок на расширение таблицы)
 
Хорошо, спасибо большое за совет!
Страницы: 1
Наверх