Upd. actually for most purposes this repo is better: https://github.com/amchercashin/excel-vba-ngram Levenshtein maybe suitable for 1-word string. But it usually worse than NGRAM for other cases.
It's an Excel add-in with User Defined Function: =VLOOKUPfuzzy
This function is like regular VLOOKUP, but if it finds no exact match, it uses Levenshtein distance metric to find the closest (most similar) string.
VLOOKUPfuzzy could be userfull for normalising lists.
Use =VLOOKUPfuzzy_help() for help on parameters.
Upd. вообще, для большинства случаев этот репо: https://github.com/amchercashin/excel-vba-ngram будет лучше. Ливенштейн хорошо работате со строками в 1 слово. Но во всех остальных случаях NGRAM будет лучше.
Это надстройка Excel с пользовательской функцией: =ВПРнечеткий
Это функция работает как стандартная ВПР, но, если она не находит точное совпадение, то возващает наиболее "похожее" значение используя "Расстояние Левенштейна" как метрику сходства.
ВПРнечеткий может быть полезен при нормализации данных по справочникам.
Введите =ВПРнечеткий() для помощи по параметрам.
ВНИМАНИЕ! Формула всегда выдает "какой-то" ответ, даже если с человеческой точки зрения он совсем не к месту.
Например, если:
Если искать текст "кошак" в столбце с такими значениями: "кит", "тигр", "кошка", "крошка", то ВПРнечеткий выдаст "кошка".
Если искать аналогичный текст в столбце с: "кит", "тигр", "крошка", то ВПРнечеткий выдаст "крошка".
Если искать среди: "кит", "тигр", то ВПРнечеткий выдаст "кит".
Т.е. формула требует внимания человека, тем не менее, она способна сильно облегчить труд при приведении списков к стандартному виду.
Доступна используемая внутри формула =Levenshtein
Она возвращает Расстояние Левенштейна (минимальное количество необходимых перестановок символов) одной строки от другой. Т.е. некую меру сходства (чем меньше - тем сходство выше).