Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Составление списка уникальных значений с указанием сумм по ним
 
Kuzmich, Спасибо большое, буду изучать!
Составление списка уникальных значений с указанием сумм по ним
 
В первоначальной был моей был вопрос о сортировке) я попробовал - не получилось. Но сейчас другой трабл. Короче просто на НГ буду изучать VBA, давно пора развиваться.. говорил себе.. иди на программиста.. нет... пошел экономистом стал. Дурак.
Поиск одинаковых значений в столбце и вывод суммы этих значений
 
Юрий М, К этой задаче
Суть в сортировке в массиве от большего к меньшему и вставки на лист топ 20, к примеру.
Поиск одинаковых значений в столбце и вывод суммы этих значений
 
Юрий М, Нет, не знакомы, дали ссылку на Ваш макрос, он мне пригодился, но задача чуть иная.
Составление списка уникальных значений с указанием сумм по ним
 
Kuzmich, Спасибо, вроде подходит, в VBA я краб 2ого уровня, поэтому буду своими клещнями тыкать и разбираться, узнаю у Юрия как сортировать и выводить только заданное количество, может сам разберусь, и проблема решена.

Ещё раз спасибо.
Поиск одинаковых значений в столбце и вывод суммы этих значений
 
Юрий М,  Подскажи

  1. Как в этом массиве сделать сортировку по кол-ву во втором столбце? (до вывода на лист)
  2. Сделать вывод определенного количества? (с этим, возможно, сам разберусь)
Изменено: Delta-Dude - 8 Дек 2017 09:57:42
Составление списка уникальных значений с указанием сумм по ним
 
Можно и так, но этих файлов 50 штук и они меняются каждую неделю. Пытаюсь оптимизировать свое рабочее время.

Сейчас сделал формулой список уникальных значений, через суммесли/суммпроизв подтягивается общее кол-во и формулой сортируется, но для этого требуется 3 доп столбца на каждую из 50 таблиц..

Так что ищу возможность делать это макросом либо громоздкой формулой массива.
Составление списка уникальных значений с указанием сумм по ним
 
Коллеги, подскажите, пожалуйста.

Необходимо сделать список наиболее частых значений (артикулов) без создания дополнительных столбцов.
Проблема в том, что помимо подсчета уникальных значений (артикулов) есть ещё их количество и нужно составить список ТОП 20
Итоговый вариант выглядит так

Артикул №112233 - 10 штук
Артикул №112244 - 5 штук
Артикул №112255 - 3 штуки
Артикул №112266 - 2 штуки
Артикул №112277 - 2 штуки
и т.д.

Во вложении пример. Можно макросом, можно формулой массива, ссылаться буду на сторонний файл где имеется список. Была мысль через поискпоз, индекс, смещ, двссыл, счетесли, частота, наибольший и др. формулы в комбинации, но ДВССЫЛ не работает с закрытыми книгами..

Помогите, пожалуйста :( Верю в силу ПланетыЭксель.
Равномерное распределение товара, Поиск способа равномерного распределение товара между по столбцам
 
MCH, добрый день.

Ситуация такова, что без остановки процесса, мы зачастую не можем перераспределить более 5-20 позиций. Делаем это в 15-минутные перерывы, которые бывают каждые 2 часа, т.е. 12 раз в сутки. Какой-то склад может позволить себе успеть в перерыв перераспределить 20 артикулов между секциями, какой-то успеет только 5 артикулов. Поэтому необходимо ограничить кол-во перемещений.

Количество секций разнится, на нашем основном складе 20 секций, на самых малых - 5-6 секций.
Количество артикулов в каждой секции может быть 500-1500.
Количество вложений одного артикула может быть от 1-500 в час. (сколько раз товар заданного артикула вкладывается в заказ)

Поэтому необходимо найти вариант, при котором бригадир сможет каждые 2 часа проверять нагрузку и делать перераспределение товара в пределах установленных ограничений. Делать он это, скорее всего, будет задавая кол-во перемещений от большего к меньшему методом перебора и выбирать подходящий вариант.
Изменено: Delta-Dude - 2 Дек 2016 11:44:28
Равномерное распределение товара, Поиск способа равномерного распределение товара между по столбцам
 
Влад, нельзя отступить более, чем на заданное кол-во перемещений.
Равномерное распределение товара, Поиск способа равномерного распределение товара между по столбцам
 
Описал процесс, теперь вопрос в том, как это сделать в VBA..

Сижу, читаю мануалы.. пример и описание в файле, который прикрепил.
Равномерное распределение товара, Поиск способа равномерного распределение товара между по столбцам
 
Да, верно.

Цитата
Влад написал: Какие-то математические ограничения по секциям, рядам, ячейкам имеются?
В одной секции не может быть больше 10 ячеек. Необходимо предоставить вариант перемещения значений при заданном максимальном количестве перемещений так, чтобы разница между суммой по каждой секции была минимально возможной.
Равномерное распределение товара, Поиск способа равномерного распределение товара между по столбцам
 
Цитата
Влад написал: Есть ли условия для количества занятых ячеек по секциям?
Условий нет, в любой ячейке может размещаться любой товар, можно занять хоть все ячейки секции.

Цитата
Влад написал: Есть ли ограничения на одну ячейку?
Одна ячейка - один товар, не более. (имеется ввиду артикул товара)

Цитата
Влад написал: Нужно ли перемещать только заданные значения в ячейках?
Да, нужно перемещать значения (значения - это уходимость товара, лежащего в ячейке. Уходимость - число раз, которое этот товар вкладывают в заказ за 1 час)

Цитата
Влад написал: Должны ли соблюдаться условия приблизительной равномерности в одной ячейке по разным секциям?
Не совсем понял вопрос, но постараюсь ответить: товар может лежать в любой ячейке на секции.

Поясню, т.к. криво объяснил:
Если визуально - в каждой секции есть стеллаж, на стеллаже есть ячейки, в каждой ячейке лежит один вид товара (если он заканчивается - его пополняют). Сотрудник секции получает заказ, берет коробку и вкладывает туда товар, который относится к его секции и передает коробку дальше на другую секцию.
Значения в ячейках таблицы Excel - это то, как часто мы вкладываем этот товар в заказ. (какой-то товар мы будем вкладывать в 1 из 1000 заказов, а другой товар мы можем вкладывать в каждый заказ, т.е. 1000 из 1000)
Соответственно, если в первой секции в ячейках лежат товары, которые вкладываются часто, а во второй секции редко, то сотрудник, который работает на первой секции будет впахивать, пока сотрудник второй секции - отдыхать. Чтобы все было по честному, мы можем переместить часть товаров таким образом, чтобы среднее число вложений товара в заказ на каждой из секций было более-менее одинаковым. В реальности на секции более 100 артикулов и перемещать их все мы просто не можем, но каждый час мы можем перемещать по 1-10 артикулов и понемногу выравнивать нагрузку.

Такая несправедливость между секциями не выгодна ни нам, ни сотрудникам, т.к. тот, кто больше работает - быстрее устает и чаще косячит, а тот кто отдыхает - получает меньшую премию за выполненные заказы (рассчитывается по кол-ву вложений в заказ с его секции)
Изменено: Delta-Dude - 30 Ноя 2016 18:42:53
Равномерное распределение товара, Поиск способа равномерного распределение товара между по столбцам
 
Есть 3 секции, в каждой 10 ячеек из которых товар вкладывается в заказы. Товар вкладывается в заказы неравномерно, какой товар вкладывают чаще чем другой. В примере, "вкладываемость" товаров в заказы между секциями почти равна, однако Секция 1 вкладывает больше товаров, чем другие.

Необходимо уравнять показатель с остальными секциями путем перемещения товара из ячейки одной секции в ячейку другой секции. В примере мы можем переместить товар только один раз и у нас есть пустые ячейки, куда мы можем переместить. Есть ли какой-либо алгоритм, позволяющий найти оптимальный вариант перемещения? Формула, VBA, надстройка "Поиск решения" и т.д.?

В примере привожу оптимальные варианты решения (перенесены товары вручную)

+ есть ограничение на перемещения, за раз можем совершить не более 1-10 перемещений, в рамках которых нужно найти наиболее оптимальный вариант, при котором нагрузка на секции будет наиболее равномерной. Если 2 товара меняются местами - считается за 2 перемещения.

Товарищи, очень надеюсь на Вашу помощь, т.к. наш IT отдел не шибко расторопный (на эту задачу у них в лучшем случае, без преувеличений, уйдет 6-7 месяцев) и загружен кучей других задач, подобные вещи приходится делать на коленках в Excel'е. Спасибо всем, кто сможет помочь.
Изменено: Delta-Dude - 30 Ноя 2016 17:57:29
Равномерное распределение по столбцам количества по весу
 
Андрей VG, товар идет непрерывно на протяжении всей смены. Товар идет по артикулам, но в первой партии артикул 0001 может весить 20кг, а во второй партии 30кг. За время смены партий может проходить много и вес может меняться, поэтому заранее распределить вес и работать не выходит, т.к. он постоянно изменятся и нужно корректировать без массовых перемещений.
Изменено: Delta-Dude - 2 Ноя 2016 10:42:25
Равномерное распределение по столбцам количества по весу
 
MCH, конечная цель распределение веса продукции между секциями сборки товаров. Если в одной секции на линии сборщик собирает товары с большим весом - устает быстрее и замедляет работу, тем самым тормозит общую сборку. Поэтому ищу способ руками распределить нагрузку между сборщиками, чтобы все были в равных условиях.
Равномерное распределение по столбцам количества по весу
 
MCH, прикрепляю пример: 1000 артикулов, у каждого свой вес. Всего 25 столбцов (на практике, количество столбцов может быть разным, но обычно не более 50 артикулов в одном столбце)

В данном примере получается, что если распределять просто по количеству, то в каждом столбце может быть 40 артикулов и 10 свободных ячеек под артикула. В остальном все также. Безболезненно, без остановки бизнес-процесса, мы можем перемещать не более 10 артикулов между ячейками, в случае, если вес артикула изменяется в течении нескольких часов.

Т.е. к примеру, если мы имеем 2 столбца всего и их нужно уровнять. В них по 40 (из 50) артикулов, мы можем 10 артикулов одного, перенести в другой столбец и получится в одном столбце 30, в другом 50. Либо перенести 7 артикулов в один столбец, а из другого перенести 3, получится, что в первом 36, а в другом 43.

Знакомый предложил искать минимальное и максимально значение в столбцах и менять их между собой, потом проводить операцию повторно и так повторять цикл до момента, пока уравнивать дальше будет невозможно (ходы закончатся)

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

Настраиваемые параметры (в идеале): Количество столбцов, максимальная вместимость столбцов, желательная вместимость столбцов (чтобы один не был забит под завязку, а другой почти пустой), максимальное количество перемещений.
Изменено: Delta-Dude - 27 Окт 2016 12:18:43
Равномерное распределение по столбцам количества по весу
 
Андрей VG, ознакомился с Вашим вариантом, спасибо, выручили! Разобрался как работает, правда не без помощи Вашего комментария

Цитата
Андрей VG написал:
Распределение идёт по каждой строке. Алгоритм, добавляем товар в ряд у которого предыдущая накопленная сумма наименьшая. Таким образом, для каждой строки товара имеем сумму весов товаров на текущий момент. Если выделить последнюю строчку по рядам, то получим сумму 10500 - как и должно быть

Задачка несколько усложнилась, после детальной проработки, а именно:

Есть 4 (либо другое значение, заданное заранее) столбца, в каждому может быть не более 6 артикулов (либо другое значение, заданное заранее). У каждого артикула есть вес. Суммарный вес всех артикулов каждого столбца должен быть более или менее равен. (это Вы уже помогли реализовать)

В любой момент может быть добавлен новый артикул. Необходимо определить в какой столбец его следует разместить, чтобы вес между столбцами был более менее равен, при условии, что все артикула перераспределять нельзя, максимум можно переместить между столбцами 3 артикула (либо другое значение, заданное заранее). Либо может измениться вес текущих артикулов, для каких-то незначительно (в 0.1-0.5 раза), для каких-то значительно (в 2-3 раза), тогда необходимо понять как перераспределить артикула наилучшим способом между столбцами, для уравнивая веса, при том же условии, что все артикула перераспределять нельзя, максимум 3 артикула (либо другое значение, заданное заранее).

Подскажите, пожалуйста, есть ли какие-либо варианты это выполнить, не прибегая к VB? возможно кто-то другой также знает решение, обращаюсь к Вам, господа, мои познания Excel пока чуть выше базовых и оперируя теми формулами и инструментами, с которыми я уже работал, не могу придумать способа решения вопрос без привлечения VB (с которым также знаком несильно)
Изменено: Delta-Dude - 26 Окт 2016 17:29:09 (Уточнение и добавление файла)
Равномерное распределение по столбцам количества по весу
 
Добрый день, Андрей. Благодарю, бегло посмотрел, вроде все как задумано, но толком не успел разобраться (сложновато пока для меня)

Обязательно детально изучу чуть позже, большое спасибо!
Изменено: Delta-Dude - 25 Окт 2016 11:06:27
Равномерное распределение по столбцам количества по весу
 
В целом, количество не имеет особого значения, т.к. артикулов по факту более 1000, количество столбцов может быть от 3 до 10, главное найти способ оперативно их распихать по столбцам равномерно по весу.

Допустим у нас есть 1000 артикулов. У каждого артикула свой вес, всего 5 столбцов. Вес каждого артикула нам известен. Нужно, чтобы в каждом столбце общий вес был приблизительно одинаков. Т.е. если взять 1 товар каждого артикула, суммировать их вес, получить, к примеру 10000 кг, то в каждом столбце должно быть по ~2000 кг. При том, нужно разбить по столбцам именно артикула, а не количество общего товара.
Равномерное распределение по столбцам количества по весу
 
Пример файла - 21 товар, 3 ряда, распределение по сортировке от большего к меньшему
В этом случае все равно получается сильная разница. К примеру, товар №19 весом 100 единиц можно было бы перенести из 1-ого ряда в 3-ий.
Изменено: Delta-Dude - 24 Окт 2016 21:33:12
Равномерное распределение по столбцам количества по весу
 
Был вариант при большом количестве видов товара (а их более 1000) расположить их по весу по возрастанию и делать выборку:

1 ряд товары 1 4 7 10 ...
2 ряд товары 2 5 8 11 ...
3 ряд товары 3 6 9 12 ...

более менее равномерно выйдет, но это значит, что при добавлении нового товара с новым весом - съезжает весь список и перераспределять нужно весь товар, да и вариант чопорный. Каждый день жалею, что не учился на программиста =P ведь даже в школе на VB смог бы такое сделать, а сейчас уже все забыл..
Равномерное распределение по столбцам количества по весу
 
Добрый день.

Следующая задача встала передо мной:
Условно имеется 125 товаров, их нужно распределить по 3 столбцам максимально равномерно. Казалось бы все просто, каждый столбец получит по ~42 товара. Однако у товара есть вес, на который необходимо обратить внимание.
  • 25 товаров имеют вес 1 кг каждый
  • 25 товаров имеют вес 2 кг каждый
  • 25 товаров имеют вес 5 кг каждый
  • 25 товаров имеют вес 10 кг каждый
  • 25 товаров имеют вес 15 кг каждый
Нужно максимально равномерно распределить 5 видов товаров общим весом в 825 килограмм между 3 столбцами по весу.
При том, 1 вид товара не может быть сразу в двух столбцах, а только в одном. т.е. все товары весом 1кг могут быть только в одном столбце.

Задачка заумная и я уверен, что реализовать её на VB можно было бы быстрее, но я в нём дуб дубом, прошу вашей помощи, эксперты.
Изменено: Delta-Dude - 24 Окт 2016 21:32:30
Страницы: 1
Наверх