Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 24.04.2018
Сообщений: 6

Поместить все продукты в пакеты (макрос)

24.04.2018, 20:26. Показов 775. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Столкнулся с комбинаторной задачей и сижу над ней уже 3 дня.
Задача в следующем: Из заданного списка продуктов разных категорий нужно разложить количество этих продуктов в варианты пакетов. В каждом варианте должно быть по 6 категорий равного количества продуктов.
Цель: Собрать заданное количество пакетов в ячейке Л1. Вариантов может быть много, главное разложить все продукты в пакеты. При сборке следующего варианта должен учитываться остаток с предыдущего варианта сборки.
Вручную собирать варианты занимает около двух дней, поэтому возникла необходимость написать макрос который при нажатии кнопки автоматизирует процесс. Думаю как это все сделать но пока в голову ничего не приходит.
Буду очень признателен если кто-нибудь откликнется.
Файлик приложил.
Вложения
Тип файла: xlsx Book.xlsx (15.5 Кб, 12 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.04.2018, 20:26
Ответы с готовыми решениями:

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

Одна и та же опция на все продукты
Может кто нибуть помочь мне с таким вопросом? Можно ли исползовать одну и ту же опцию на все продукты? Так как у меня десятки продуктов...

Фильтрация по <select> (Выбрать все продукты)
давно интересовало, но сейчас поджало окончательно... после нажатия на &quot;Показать отчёт&quot; значение value селектов улетает в контроллер...

13
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
25.04.2018, 10:45
Файлик еще не смотрел, чтото подсказывает что если задача связанна с комбинаторикой то следует
четко обозначить условия и методы перебора желательно в цифрах

вы на форум обратились, здесь контингент людей очень специализированный вы уж мне поверьте
0
0 / 0 / 0
Регистрация: 24.04.2018
Сообщений: 6
25.04.2018, 11:39  [ТС]
fever brain,
Добрый день.
Изначально задача поставлена так: избавиться от товара посредством сюрприз-пакетов, в котором может быть все что угодно но 6 штук из каждой категории (продукты я пометил Кодами, а Категории - Product1...Product6). Это своего рода "кот в мешке" - мы не знаем что может быть внутри но знаем, что в каждом пакете может быть суммарно 6 категорий продуктов (например, в одном пакете уместили 1 хлеб, 1 яблоко, 1 банан, 1 кружку, 1 компас, 1 наручные часы и таких пактов несколько тысяч). Мы смотрим на объем товара и прикидываем что всего товара хватит на например 70 000 пакетов. И эти пакеты мы раскидываем по вариантам. Почему по вариантам? потому что одного варианта пакета может не хватить так как каждого товара разное количество.
Почему файл сделан таким образом? - потому что сборочная линия видит сколько нужно пакетов и сколько в тот или иной вариант положить продуктов разных кодов.
Пример: в файле 9501 продуктов с кодом 4065 категории Product1, 9382 продуктов с кодом 5454 категории Product2, 9319 продуктов с кодом 7462 категории Product3, 9643 продуктов с кодом 2950 категории Product4, 9966 продуктов с кодом 9171 категории Product5 и 9584 продуктов с кодом 8504 категории Product6.
Я беру минимум из этих цифр - 9319 штук кода 7462 (в файле округлял до 9000) и начинаю формировать первый вариант пакета в котором будет 9319 продуктов из каждой категории. Ага, код с продуктом 7462 закончился, но вот продуктов с другими кодами остались остатки, например продукта с кодом 5454 осталось 9382 - 9319 = 63 штуки. Так вот из этих 63 штук я ищу другие продукты с таким же количеством, но опять же из разных категорий, и формирую следующий вариант пакета. И так далее пока не кончится товар, понятное дело что останутся излишки которые в равных долях не уместить в пакет, но в реальности куда больше объема товара и важно начинать с больших объемов а излишки из десятков штук можно сформировать вручную или дождаться пополнения товара. Важно чтобы в каждом пакете, повторюсь их может быть несколько тысяч, было по одной штуке продукта из каждой категории, то есть как в примере приведенном выше - 1 хлеб, 1 яблоко, 1 банан, 1 кружку, 1 компас, 1 наручные часы). Надеюсь теперь все стало понятно ))
0
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
25.04.2018, 11:47
Надо так сделать
Пусть у тебя будет статистика остатков этих продуктов
по ней будем ориентироваться, потомучто нужно будет делать вычисления и оперировать этой статистикой
мне не важно что там, если условия будут упираться в объем пакетов как ты писал то можно оперировать этим объемом

и создать приоритет упаковки того или иного товара
0
0 / 0 / 0
Регистрация: 24.04.2018
Сообщений: 6
25.04.2018, 12:07  [ТС]
fever brain,
Статистики у меня нет, я только недавно работаю в компании ))
И тут же подкинули задачку (
Файлик я прикрепил в первом письме.
Или я что-то недопонял?
0
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
25.04.2018, 12:10
Хорошо гляну файлик, попытаюсь все переварить и если что поделюсь идеей
0
0 / 0 / 0
Регистрация: 24.04.2018
Сообщений: 6
25.04.2018, 12:19  [ТС]
fever brain,
Спасибо, очень жду. Так как если честно уже сам не знаю что делать, а сроки горят....
0
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
25.04.2018, 17:35
Какие сроки то хоть расскажи ...

Пару мыслей то есть, я бы мог тебе шепнуть
0
0 / 0 / 0
Регистрация: 24.04.2018
Сообщений: 6
27.04.2018, 10:16  [ТС]
fever brain,
Сроки - до 3 мая.

Добавлено через 36 секунд
fever brain,
Привет.
Ну как? Мысли не пропали?
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
28.04.2018, 08:09
Как вариант со случайным выбором продуктов, без контроля кол-во пакетов с кол-вом товаров в одном продукте:
Вложения
Тип файла: rar Разложить по пакетам.rar (33.5 Кб, 3 просмотров)
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,940
Записей в блоге: 4
28.04.2018, 11:07
Пример: в файле
9501 продуктов категории Product1,
9382 продуктов категории Product2,
9319 продуктов категории Product3,
9643 продуктов категории Product4,
9966 продуктов категории Product5
9584 продуктов категории Product6.



Важно чтобы в каждом пакете, повторюсь их может быть несколько тысяч, было по одной штуке продукта из каждой категории, то есть как в примере приведенном выше - 1 хлеб, 1 яблоко, 1 банан, 1 кружку, 1 компас, 1 наручные часы).
значит при 6 категориях можно собрать только 9319 комплектов, если по 1 штуке
на большее количество не выполнится условие равное количество из каждой категории

если бы категорий было более 6, например 9-10, то тогда можно бы было набирать из остатков другие варианты
продуктов всех категорийнаборов при 1п*6к12345678910
900 150 83 106 78 121 113 150 90 52 73 34
-240-40-40-40-40-40-40-40    
-180-30-30-30  -30-30-30 -30 
-120-30  -20-20-20-20-20-20  
-120-20 -20 -20 -20-20 -20-20
-120-20   -20-20-20-20-20-20 
-60-10-10-10-10-10 -10 -10  
-18-3 -3-3-3 -3  -3-3
-18-3-3 -3-3-3-3   -3
-12-2 -2-2-2 -2 -2 -2
0           
0           
0           
0           
0           
собрано 148           
не собрано 2 - 1 - 3 - 2 - - - 6
0
28.04.2018, 12:51

Не по теме:

Цитата Сообщение от benjamin2018 Посмотреть сообщение
я только недавно работаю в компании
Как компания называется ? "Универ" ? :D

0
0 / 0 / 0
Регистрация: 24.04.2018
Сообщений: 6
28.04.2018, 14:12  [ТС]
Друзья, Спасибо всем большое, разобрался!
Всем хороших выходных!
0
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
01.05.2018, 11:17
Цитата Сообщение от SoftIce Посмотреть сообщение
Как компания называется ? "Универ" ?
Кажись универ питает большие надежды на нас
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.05.2018, 11:17
Помогаю со студенческими работами здесь

Для любых магазинов отобразите все продукты
Начинаю изучать питон и возник вопрос в такой задаче: Объясните пожалуйста, как для магазинов магнит и алыепаруса отобразить все...

Удалить все продукты (Products), у которых цена выше средней
Есть таблица Products с наименованием и ценой продуктов. Нужно удалить все продукты с ценой выше средней. Подскажите плиз как...

Оптовая база: Определить, какие продукты поступают с базы во все магазины
Кто поможет с заданиями по VisualBasic 2008 за уплату?

Все пакеты установленные вручную
День добрый! Подскажите пожалуйста - какой командой можно вытащить список всех пакетов, установленных в ручную, а так-же тех что...

COM-порт принимает не все пакеты
И так, у меня есть программа которая работает с com-портом. Но проблема в том, что не всегда он получает все пакеты(где-то что-то теряет)....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Номеклатура. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru