Постараюсь кратко описать задачу. Имеется список всех товаров, у каждого товара уникальный код. Артикулы могут быть одинаковыми для совершенно разных позиций (разные поставщики). Клиент предоставляет список артикулов, наименований и количества товара. При этом названия у клиента и в базе могут несколько отличаться друг от друга (сокращение, порядок слов, вставлен артикул перед названием, отличаются некоторые слова; при этом, вручную сравнивая названия, можно подобрать нужное). Необходимо получить таблицу со столбцами уникального кода и количества товара. Так же базе имеются товары с одинаковым названием, но разными кодом и артикулом.
Расскажу свои мысли: 1. Найти все товары, соответствующие артикулу клиента. Разделить название товара клиента на отдельные слова, аналогично поступить со всеми подобранными товарами, посчитать количество совпадений отдельных слов. В итоге выбрать максимально похожий по названию с таким артикулом и возвратить его код. 2. Вероятно, первый вариант может работать не всегда корректно (большая разница у названий, подберется не тот товар). Поэтому желательно «прикрутить» возможность ручного выбора, к примеру, из списка (на листе 2 примера, ячейки со списком подсвечены зеленым). То есть excel выбирает код и наименование сам, но его можно изменить списком, в котором названия товаров только с данным артикулом. При этом подтянется код товара по наименованию (оно уже будет совпадать с базой, так как оттуда и берется) и артикулу. Вероятно, пригодится функция СУММЕСЛИМН().
Возможно, есть более красивые варианты. В любом случае, буду благодарен за помощь.
Вам нужно готовое решение? Тогда Вам - в платный раздел сайта. А здесь - отвечают на конкретно заданные вопросы.
По поводу ваших мыслей, которые больше похожи на тех. задание. По-моему, правильнее и проще будет навести порядок на этапе сбора информации. Тот алгоритм, который Вы хотите применить, либо потребует много времени для самостоятельной разработки, либо будет дорого стоить.
С уважением.
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
Соглашусь Одинаковый артикул у разных товаров это бардак. Наведите порядок в системе учета а не придумывайте мозгодробительные решения для ориентирования в этом бардаке
Проблема в том, что артикулы назначаются производителем. У разных производителей могут быть одинаковые артикулы на разные позиции. Клиент не будет заказывать по кодам, так как они не назначаются конкретным поставщиком, а работает он с разными поставщиками. Поэтому и заказ по артикулам. Мне не нужно готовое решение. Достаточно объяснить алгоритм и подсказать необходимые функции.
Михаил Лебедев написал: Тот алгоритм, который Вы хотите применить, либо потребует много времени для самостоятельной разработки, либо будет дорого стоить.
+1 + будет выносить вам мозг на этапах сопровождения этой бд, когда вы её запустите в жизнь... и может потерять гибкость в настройках и доработках отдельных составляющих (на перспективу)
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
surkenny написал: Мне не нужно готовое решение. Достаточно объяснить алгоритм и подсказать необходимые функции.
Алгоритм Вы и сами написали. Готовых функций под Вашу задачу - скорее всего - нет. Хотя, как писАл Анчаров: "Даже то, чего не может быть вообще - где-нибудь, да есть". По-моему, надежней всего завести таблицу один-ко-многим с [Вашими уникальными кодами] "слева" и [артикулами, которые встречаются у поставщиков в сцепке с кодами самих поставщиков], - "справа". Как посоветовал Александр - "производитель - артикул". Эту таблицу придется всё время сопровождать (актуализировать). У одного из жителей планеты есть девиз: "Если бардак автоматизировать - получится автоматизированный бардак" (как-то так, кажется ). Вы именно этим, по-моему, и пытаетесь заняться. Несколько человек Вас об этом уже предупредили, прислушайтесь, пожалуйста
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/