Добрый день.
Для поиска совпадений из списка использую функцию ПРОСМОТР, однако столкнулся с рядом ее минусов ( основной в том, что берет первое значение с конца списка)
Сам список значений сортировать нет возможности, поэтому нужно как то заменить или модернизировать данный способ поиска.
Нужна ваша помощь в поиске решения для наиболее приемлемого поиска по ключу в списке.
Приложил файл пример, в котором показаны три варианта как хотелось бы видеть результаты поиска, а так же пример использования функции ПРОСМОТР, которая не дает верных результатов
Идеальная логика поиска для меня:
Сначала проверить полное совпадение ключа в списке,
если да, то вывести совпадение
если нет, то проверить находится ли ключ в начале текста для поиска,
если да, то выводить наиболее близкое значение(меньшее по остаточным символам) и (если возможно) выписывать все остальные совпадения в строку по возрастанию символов
если нет, то выводить совпадения по наименьшему числу символов до и после ключа
Ключей может быть >1000
Список может быть >10000
По этому хотелось бы использовать минимальное количество циклов или, быть может, все куда проще, просто я об этом не знаю
Решение приемлемо на вба или формулой
Заранее спасибо откликнувшимся!
Для поиска совпадений из списка использую функцию ПРОСМОТР, однако столкнулся с рядом ее минусов ( основной в том, что берет первое значение с конца списка)
Сам список значений сортировать нет возможности, поэтому нужно как то заменить или модернизировать данный способ поиска.
Нужна ваша помощь в поиске решения для наиболее приемлемого поиска по ключу в списке.
Приложил файл пример, в котором показаны три варианта как хотелось бы видеть результаты поиска, а так же пример использования функции ПРОСМОТР, которая не дает верных результатов
Идеальная логика поиска для меня:
Сначала проверить полное совпадение ключа в списке,
если да, то вывести совпадение
если нет, то проверить находится ли ключ в начале текста для поиска,
если да, то выводить наиболее близкое значение(меньшее по остаточным символам) и (если возможно) выписывать все остальные совпадения в строку по возрастанию символов
если нет, то выводить совпадения по наименьшему числу символов до и после ключа
Ключей может быть >1000
Список может быть >10000
По этому хотелось бы использовать минимальное количество циклов или, быть может, все куда проще, просто я об этом не знаю
Решение приемлемо на вба или формулой
Заранее спасибо откликнувшимся!