Доброго дня, С эксель не очень знакома, пытаюсь сделать для ускорения работы программку, которая по критериям текста на основании базы данных будет выводить нужный код к материалам из спецификации.
На данный момент нашла такой путь решения: - в желтом поле - вводятся данные со спецификации. - в сером поле - найденный в интернете макрос разбивает наименование на отдельные слова (если нет слова выводит "ничего") - в зеленом поле - каждое разбитое слово сравнивается с базой на отдельном листе (в файле можно увидеть) и выводит наиболее подходящий код (расценку) - в голубом поле - итоговый код. Вот тут и возникла проблема лишних нулей, которые никак не придумаю как убрать. Для моей задачи в голубом поле не важно сколько будет пробелов - они не мешают. (в дальнейшем эти данные будут переходить в сметную программу). Часть нулей мне удалось найти как убрать, а вот в позициях где изначально в спецификации задвоение пробелов, они возникают
Буду очень благодарна, если у кого есть идеи или были похожие решения. Думаю есть более изящные способы решения этой задачи ) Так как файл больше 100 кб оставляю ссылку на облако https://cloud.mail.ru/public/EwpT/mFuDxmfdy
P.S. файл заменила, т.к. вышло лучше, но ещё не идеально
Олеся Лубчинская написал: Вот тут и возникла проблема лишних нулей, которые никак не придумаю как убрать.
Вас смущает только эта проблема? Какой смысл в указании нескольких кодов по "коробка"? а "ВРУ" - совсем не понятно, там 3 одинаковых но с разными кодами.
Пока да, базу данных буду потом корректировать, так чтобы повторных значений не было или были по-необходимости (иногда один и тот же вариант требует 2 разных кода). А в сметной программе наличие нулей мешает
смею предложить вариант =IFERROR(INDEX('Входные данные'!D:D;1/(1/MOD(MAX(IF(ISNUMBER(SEARCH(" "&'Входные данные'!$B$4:$B$152&" ";" "&A4&" "));LEN('Входные данные'!$B$4:$B$152)+ROW('Входные данные'!$B$4:$B$152)%%;0));1))/1%%+0,1);"-") который найдет одно значение, которое содержит наиболее длинный фрагмент.
Очень интересный вариант, благодарю! Занимает меньше места и не громоздкий) Я его обязательно протестирую (ещё попытаюсь прочитать)), думаю на его основе делать уже рабочую версию, ещё раз Вам спасибо! В старом варианте на работе придумала только убрать лишние пробелы предварительно функцией СЖПРОБЕЛЫ и итоговые данные также обработать