Архив: Необходим макрос для сортировки данных в Exel.
Бюджет
33$
/ 2000
руб
в месяц
Создан: 6 лет назад
Закрыт
- Описание
- Добрый день.
Необходим макрос для разбора данным по листам и колонкам.
Окончательных данных в базе около 7000 штук.
Для примера я предлагаю 30.
Итак, в файле есть листы:
base основная база, в которой хранятся ВСЕ данные.
main_base база приходящая, которая постоянно обновляется.
final база, которая получается в результате всех действий.
left данные, которые не попали в final, по причине не заполненности данных.
dubles дублированные данные
exception исключения
1. СОВМЕЩЕНИЕ БАЗ.
1.1. Копируем полностью лист base в final. Все данные у нас сравниваются по первой колонке, где выведены ID товара. Из листа main_base берётся этот ID, ищется в листе final:
1.1.1. Если ID из первой колонки листа main_base совпадает с ID из первой колонки листа final:
1.1.1.1. Колонка 4 из листа main_base переносится в колонку 16 из листа final по сути, обновление цены.
1.1.1.2. Колонка 5 из листа main_base переносится в колонку 19 из листа final, КРОМЕ id, указанных на листе exception по сути, обновление остатков товаров на складе.
1.1.2. Если ID из первой колонки листа main_base не нашёлся в листе final:, то данные из листа main_base полностью переносится в лист left.
1.2. Корректируем данные на листе final, которые НЕ обновились из листа main_base:
1.2.1. С листе exception, в первой колонке указан список id товаров, с которыми следующие 3 действия делать НЕ нужно!
1.2.1. В колонке 15 ставим значение 1000
1.2.2. В колонке 17 и 18 ставим значение -20
1.2.3. В колонке 19 ставим значение 0
1.3. Поиск дублей. Сравниваем строчки по колонкам 3, 5, 6, 7, 8, 9, 10. Если ВСЕ данные совпадают, то из всех совпавших строчек оставляем только ту, у которой значение в колонке 16 выше, то есть, оставляем товар с наивысшей ценой. Все дубли, которые по цене ниже, полностью перекидываем на лист dubles.
1.4. Поиск похожих товаров. Не выполняем этот пункт для тех строчек, где уже указаны похожие товары. Пишем ID строчек через запятую и без пробелов в колонку 14. Честно говоря, не знаю какой должен быть алгоритм поиска похожих товаров, вижу его так:
1.4.1. Ищутся по колонке 3 похожие названия. Например, сначала сортируется по алфавиту.
1.4.2. Находим не более 10 штук, которые по цене выше.
2. ГЕНЕРИРУЕМ СТРОЧКИ
2.1. Если есть данные ТОЛЬКО в колонке 7 (из двух 7 и 8)
2.1.1. Колонка 29: "{колонка 3}, {колонка 6} ({колонка 5}, {колонка 7})"
2.1.2. Колонка 30: "[{колонка 5}] {колонка 3}, {колонка 6} ({колонка 7})"
2.1.3. Колонка 42 (в английском нижнем регистре, убираем '"/:; и пробелы меняем на ): "{колонка 3},-{колонка 6}-({колонка 5},-{колонка 7})"
2.1.4. Колонка 43 (в английском нижнем регистре, убираем '"/:; и пробелы меняем на ): "{колонка 5}-{колонка 3},-{колонка 6}-({колонка 7})_{колонка 9}"
2.2. Если есть данные ТОЛЬКО в колонке 8 (из двух 7 и 8)
2.2.1. Колонка 29: "{колонка 3}, {колонка 6} ({колонка 5}, {колонка 8})"
2.2.2. Колонка 30: "[{колонка 5}] {колонка 3}, {колонка 6} ({колонка 8})"
2.2.3. Колонка 42 (в английском нижнем регистре, убираем '"/:; и пробелы меняем на ): "{колонка 3},-{колонка 6}-({колонка 5},-{колонка 8})"
2.2.4. Колонка 43 (в английском нижнем регистре, убираем '"/:; и пробелы меняем на ): "{колонка 5}-{колонка 3},-{колонка 6}-({колонка 8})_{колонка 9}"
2.3. Если есть данные и в колонке 7, и в колонке 8
2.3.1. Колонка 29: "{колонка 3}, {колонка 6} ({колонка 5}, {колонка 7} по {колонка 8})"
2.3.2. Колонка 30: "[{колонка 5}] {колонка 3}, {колонка 6} ({колонка 7} по {колонка 8})"
2.3.3. Колонка 42 (в английском нижнем регистре, убираем '"/:; и пробелы меняем на ): "{колонка 3},-{колонка 6}-({колонка 5},-{колонка 7}-po-{колонка 8})"
2.3.4. Колонка 43 (в английском нижнем регистре, убираем '"/:; и пробелы меняем на ): "{колонка 5}-{колонка 3},-{колонка 6}-({колонка 7}-po-{колонка 8})_{колонка 9}"
2.4. Если нет данных и в колонке 7, и в колонке 8.
2.4.1. Колонка 29: "{колонка 3}, {колонка 6} ({колонка 5})"
2.4.2. Колонка 30: "[{колонка 5}] {колонка 3}, {колонка 6}"
2.4.3. Колонка 42 (в английском нижнем регистре, убираем '"/:; и пробелы меняем на ): "{колонка 3},-{колонка 6}-({колонка 5})"
2.4.4. Колонка 43 (в английском нижнем регистре, убираем '"/:; и пробелы меняем на ): "{колонка 5}-{колонка 3},-{колонка 6}_{колонка 9}"
2.5. Для колонок 42 и 43:
2.5.1. Убираем все пробелы из колонок 7 и 8.
2.5.2. Иногда в данных встречается " x " (например, "1,9 см х 7,2 см"). Меняем на "-na-". ТО есть, должно получиться "1,9sm-na-7,2sm". Учтите, что "x" русской раскладки, то есть это буква хэ, а не латинская икс.
2.5.3. Иногда в данных встречается " / " (например, "120 мг / 5 мл"). Меняем на "-na-". ТО есть, должно получиться "120mg-na-5ml".
2.5.4. Иногда в данных встречается " + " (например, "160 мг + 12,5 мг"). Меняем на "-plus-". ТО есть, должно получиться "160mg-plus-12,5mg".
+ ещё кое что, кину в общении (не влезло тут :) ).
Готов обсуждать детали ТОЛЬКО здесь. Скайпы и прочие системы общения актуальные только с исполнителем.
- Категория
Похожие проекты
0
3
Необходимо разработать систему, которая: Подключается к API Diagnocat и iDent (через токены доступа). Получает данные о пациенте, результатах диагностики, снимках и назначениях. Автоматически формирует структурированный отчет по шаблону (включая врачей, этапы лечения, стоимость и описание процедур).......
3 месяца назад
0
0
Необходимо связать БД 1C:ERP с БД Outlook, MS Access, Битрикс24. Например при вводе нового сотрудника в 1С:ERP он должен автоматически появляться в вышеперечисленных БД....
3 месяца назад
0
1
Требуется реализация отчёта на кастомизированной 1С:УПП 1. 2, ТЗ и контрольный пример во вложении, 80% кода должно быть покрыто модульными тестами....
4 месяца назад
$7
0
2
Мне нужно копировать мой текст и вставлять в одну группу ВК с открытой стеной для публикации рекламы. Задача скрипта/сервиса/программы - примерно каждые 10 секунд брать мой текст и вставлять в эту группу. Я пробовал через одну программу, которая записывает действия мышки и потом повторяет, но она как-то......
6 месяцев назад
0
0
Написать прошивку для A94B114, используя 2 подобные рабочие прошивки. Все файлы есть....
6 месяцев назад
$21
0
2
Нужно разархивировать файл архив. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы(скрины)....
8 месяцев назад
0
1
Входные: Имеется скрипт по обработке email писем и добавление их в систему Redmine Проблема: Система обработки этих писем написана некорректная и негибкая Задача: Переписать логику обработки входящих писем, чтобы исключить их потерю при незначительных отклонениях от ожидаемой структуры....
8 месяцев назад
$37
0
2
- В обязанности сотрудника входит поддержание мобильного приложения системы автоматизации бизнеса. - Работа сдельная: задачи выдаются на оценку, далее после согласования передаются на реализацию. - Заключаем договор и NDA (соглашение о неразглашении)....
8 месяцев назад
$71
0
0
Информация о проекте: Проект включает в себя React Native приложение с Expo внутри которого находится webview с сайтом На устройствах с ОС IOS проблема с воспроизведением видео....
8 месяцев назад
0
0
Разрабатываю десктопные программы на языке Java, а так же Java + SQL....
9 месяцев назад
0
0
0
6
1. Чтобы можно было писать описание события (без заголовка) - превью в списке берется N количества букв с начала. (в списке писать дату события и сколько осталось до него) . Выставление даты и времени напоминания и ИНТЕРВАЛА ПОВТОРА ОТ 1 МИНУТЫ! Выставлять количество повторов, далее напоминания прекращаются.......
9 месяцев назад
0
4
Сайт arg2028t. beget. tech/. Нужно сделать вот такой калькулятор. airprint. by/outdoor/wide-format. и еще некоторые доработки....
9 месяцев назад
$214
0
1
0
7
Краткое описание: Мы ищем исполнителя для тестирования функционала мобильного приложения на платформе Android. Задача включает проверку основных функций приложения, таких как работа комнаты, передача видео, звука и чата, а также создание подробной отчетности о найденных ошибках. Требования к исполнителю:......
11 месяцев назад
0
12
$143
0
0
Oпpocы (1008pyб/чaс) Заходитe на сaйт: gonsù....
11 месяцев назад
0
4
Требуется создать скрипт для premiere pro. Данная суть скрипта: в выделеном бине нужно что бы автоматически проставлялся in out ровно по серидине файла так что бы выделенная область была длиной 3 секунды. И требуется кнопка что бы работало через окно expressions. Проблема текущего в том что он не работает......
1 год назад
0
2
Нужно создать приложения под гемблинг/беттинг, на котлин. Приложение должно работать Firebase. Детали вышлю при обсуждение....
1 год назад
$21
0
4
Нужно разархивировать файл archive. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы ....
1 год назад
0
3
Разработать впн сервис ( Приложения на ios и android + сайт для оплаты подписки). Настройка Серверов. Оплата по договоренности. Работаем черед безопасную сделку....
1 год назад
Похожая удалённая работа
- Удаленная работа для веб-программиста
- Удаленная работа для разработчика баз данных
- Удаленная работа для прикладного программиста
- Удаленная работа для системного программиста
- Удаленная работа для разработчика игр
- Удаленная работа для разработчика мобильных приложений
- Удаленная работа для тестировщика ПО
- Удаленная работа для 1С программиста
- Удаленная работа для разработчика встраиваемых систем
- Удаленная работа для разработчика CRM и ERP