Добрый день.
В прикрепленных файл экселя в котором готовится база компаний по ряду реквизитов.
Вопрос следующий:
В эксель файл внедрено ряд макросов, в том числе два макроса (модуль 6 и 7) для неточного поиска совпадений по именной части названия (столбец С) с выводом результатов в 3 столбика (F - номер строчки с компанией, с именной частью которой есть наибольшее совпадение; G - процентный шанс совпадения именной части названия; H - вывод значения именной части названия компании с которой есть наибольшее совпадение). Что примечательно - оно делает поиск совпадений без учета названия компании из которой оно берет текст для поиска. Как оно работает (вкратце): разбивает искомое название на максимально возможное кол-во комбинаций последовательных символов и ищет максимально возможное кол-во совпадений с комбинациями символов из других названий из списка (столбец С) без учета исходного. Опытным путем было определено (и настроено), чтоб для поиска использовались комбинации по 3 последовательных символа. Результат работы макросов полностью подходит для поставленных задач и (опять таки опытным путем) было определено, что надо обращать внимание на совпадения со значением более 85% (оптимальный процент для определения "вероятного совпадения названия").
Проблема: при "растягивании" формул в столбцах F, G и H на 10 и более строк (при кол-ве названий компаний более 1000 позиций) макросы банально вешаются (поправка: на крутом пк оно выдает просчеты 1 строка /сек, что также есть относительно медленно если надо произвести подобные расчеты для 1000 и более названий компаний).
Задача: возможно ли повысить производительность макросов для просчета схожести названий компаний (модуль 6 и 7)?
В прикрепленных файл экселя в котором готовится база компаний по ряду реквизитов.
Вопрос следующий:
В эксель файл внедрено ряд макросов, в том числе два макроса (модуль 6 и 7) для неточного поиска совпадений по именной части названия (столбец С) с выводом результатов в 3 столбика (F - номер строчки с компанией, с именной частью которой есть наибольшее совпадение; G - процентный шанс совпадения именной части названия; H - вывод значения именной части названия компании с которой есть наибольшее совпадение). Что примечательно - оно делает поиск совпадений без учета названия компании из которой оно берет текст для поиска. Как оно работает (вкратце): разбивает искомое название на максимально возможное кол-во комбинаций последовательных символов и ищет максимально возможное кол-во совпадений с комбинациями символов из других названий из списка (столбец С) без учета исходного. Опытным путем было определено (и настроено), чтоб для поиска использовались комбинации по 3 последовательных символа. Результат работы макросов полностью подходит для поставленных задач и (опять таки опытным путем) было определено, что надо обращать внимание на совпадения со значением более 85% (оптимальный процент для определения "вероятного совпадения названия").
Проблема: при "растягивании" формул в столбцах F, G и H на 10 и более строк (при кол-ве названий компаний более 1000 позиций) макросы банально вешаются (поправка: на крутом пк оно выдает просчеты 1 строка /сек, что также есть относительно медленно если надо произвести подобные расчеты для 1000 и более названий компаний).
Задача: возможно ли повысить производительность макросов для просчета схожести названий компаний (модуль 6 и 7)?
Изменено: - 04.10.2017 14:47:30