Одна из самых неприятных ситуаций, с которой может столкнуться пользователь при работе в Microsoft Excel — это поиск и подстановка данных с неточным совпадением. Когда вам надо подставить данные из одной таблицы в другую, но вы при этом уверены, что в обеих таблицах совпадающие элементы называются одинаково, то проблем нет — к вашим услугам множество способов: функции ВПР и её аналоги, надстройка Power Query и т.д.
А вот если в одной таблице «Пупкин Василий», а в другой просто «Пупкин», или «Пупкин В.», или даже «Пупкен», то все эти красивые способы не работают. Причем на практике такое встречается постоянно, особенно с почтовыми адресами или названиями компаний:
Обратите внимание на различные типы несоответствий, которые могут встречаться:
- переставлены местами улица, город, дом
- отсутствует какая-то часть адреса или, наоборот, есть что-то лишнее (индекс, номер квартиры)
- по-разному записан город (с буквой «г.» или без) или улица
- опечатки и ошибки (Козань вместо Казань)
Про точное соответствие или даже поиск по маске тут говорить не приходится. Помочь в таком случае могут только специальные макросы или надстройки для Excel. Про одну из таких макро-функций на VBA я уже писал, а здесь хочется рассказать про еще один вариант решения подобной задачи — надстройку Fuzzy Lookup от компании Microsoft.
Эта надстройка существует с 2011 года и совершенно бесплатно скачивается с сайта Microsoft. Системные требования: Windows 7 или новее, Office 2007 или новее, соответственно. После установки у вас в Excel появляется одноименная вкладка с единственной кнопкой на ней:
Нажатие на эту кнопку включает специальную панель в правой части окна Excel, где и задаются все настройки поиска:
Сразу хочу отметить, что эта надстройка умеет работать только с умными таблицами, поэтому все исходные таблицы нужно конвертировать в умные с помощью сочетания Ctrl+T или кнопки Форматировать как таблицу на вкладке Главная (Home — Format as Table):
Алгоритм действий при работе с надстройкой Fuzzy Lookup следующий:
- Выберите какие таблицы нужно связать в выпадающих списках Left и Right Table.
- Выберите ключевые столбцы в левой и правой таблицах, по которым нужно проверить соответствие и нажмите кнопку для добавления созданной пары в список Match Columns
- В списке Output Columns отметьте галочками столбцы, которые вы хотите получить на выходе в качестве результата.
- Установите активную ячейку в пустое место на листе, куда вы хотите вывести данные
- Нажмите кнопку Go
После анализа мы получаем таблицу, где каждому элементу ключевого столбца из первой таблицы подобрано максимально похожее значение из второй:
Лепота!
Нюансы и подводные камни
- Точность подбора можно регулировать с помощью ползунка Similarity Threshold в нижней части панели Fuzzy Lookup. Чем правее его положение, тем строже будет поиск, и — как следствие — тем меньше результатов надстройка будет находить. Если сдвинуть его влево, то результатов станет больше, но возрастет риск ошибочного совпадения. Тут все зависит от вашей конкретной ситуации — экспериментируйте.
- На больших таблицах поиск может занимать приличное количество времени (до нескольких десятков секунд), хотя многое, конечно, зависит от мощности вашего компьютера. Как вариант, для ускорения в настройках (кнопка Configure в нижней части панели) можно попробовать включить параметр UseApproximateIndexing в разделе Global Settings.
- Перед нажатием на кнопку Go не забудьте выделить пустую ячейку, начиная с которой вы хотите вывести результаты. Если случайно вы оставите активную ячейку где-нибудь в исходных данных, то надстройка выведет итоговую таблицу прямо поверх них, и вы их потеряете. Причем отмена последнего действия будет невозможна, а кнопка Undo в нижней части панели не всегда срабатывает почему-то.
- Для вывода столбца с коэффициентом подобия FuzzyLookup.Similarity необходимо, чтобы у вашего Excel была точка в качестве десятичного разделителя (целой и дробной части). Если это не так, то эту настройку временно можно поменять через Файл — Параметры — Дополнительно (File — Options — Advanced).
- Fuzzy Lookup — это не обычная надстройка, написанная на VBA (как мой PLEX, например), а COM-надстройка. Разница в том, что она устанавливается как отдельная программа, т.е. вам нужны соответствующие права на установку ПО на вашем компьютере. Дома, ясное дело, проблем не будет, а вот многим корпоративным пользователям, скорее всего, придется обращаться к вашим айтишникам. После установки отключать и подключать ее в дальнейшем можно на вкладке Разработчик — Надстройки COM (Developer — COM Add-ins).
В любом случае, при всех имеющихся минусах, эта надстройка однозначно стоит того, чтобы находиться в арсенале любого продвинутого пользователя Microsoft Excel.
Ссылки по теме
- Неточный поиск ближайшего похожего текста с помощью макрофункции
- Анализ текста регулярными выражениями (RegExp) в Excel
- Ссылка на скачивание надстройки Fuzzy Lookup с сайта Microsoft
Быстро находите и заменяйте похожие записи из списка значений ячеек в Excel
В листе Excel ввод списка одного и того же текста вручную может содержать некоторые опечатки. Если вы хотите найти похожий, но с ошибками текст, как правило, вам следует проверять и исправлять их по очереди. Но с Kutools for ExcelАвтора Нечеткий поиск функцию, вы можете быстро проверить наличие похожих записей на основе различий символов, а затем сразу исправить их, добавив в них собственный текст.
Найдите и замените похожие записи из списка значений ячеек
Найдите и замените похожие записи из списка значений ячеек
Чтобы найти похожие тексты с ошибками и затем исправить их до необходимого вам значения, выполните следующие действия:
1. Активируйте рабочий лист, содержащий текстовые значения, которые вы хотите исправить, а затем щелкните Кутулс > Найти > Нечеткий поиск для Нечеткий поиск панель, см. снимок экрана:
2. В Нечеткий поиск панели, пожалуйста, настройте следующие параметры:
(1.) Проверьте Указанный установите флажок, чтобы исправить выбранный диапазон, а затем нажмите кнопка для выбора списка ячеек, которые вы хотите найти, и замены текстовых значений; (Внимание: Если флажок перед Указанный не отмечен, весь диапазон будет выбран автоматически при щелчке по любой ячейке текущего диапазона. )
(2.) Введите максимальное количество различных символов, которые вы хотите искать из списка ячеек, в поле Максимальное количество разных символов поле;
А затем введите число в Длина строки ячеек не менее поле, чтобы исключить короткие значения для поиска.
Заметки:
(1.) Если вы просто хотите найти аналогичное значение на основе определенного текста, проверьте Найти по указанному тексту вариант, а в Текст в поле введите текст, по которому нужно выполнить поиск.
(2.) Если каждая ячейка содержит несколько слов, для поиска и проверки каждого слова в ячейках установите флажок Разделить ячейки на следующие символы вариант, а затем введите разделитель, который напрямую разделяет ваши текстовые строки, он будет автоматически заключен в двойные кавычки, см. снимок экрана:
3. После завершения настроек нажмите Найти кнопку, и все приблизительные совпадающие значения сгруппированы аналогичным текстом в поле списка. Смотрите скриншот:
4. А затем вы можете исправить текст с ошибкой на желаемый текст.
(1.) Щелкните корневой узел и введите правильный текст в Правильное значение текстовое окно;
(2.) Затем щелкните Заполнять или нажмите Enter Клавиша, чтобы заполнить введенный текст всем элементом узла автоматически.
Внимание:
Вы также можете выбрать значение, которое хотите применить для исправления, а затем нажать Заполнять в списке «Выполнить», это значение будет присвоено всем элементам узла, см. снимок экрана:
5. После выбора правильного значения для каждой группы данных нажмите кнопку Применить кнопку в нижней части панели. И все аналогичные значения были изменены на желаемые, как показано на следующем скриншоте:
Ноты:
обновление кнопка: эта кнопка может помочь вам обновить недавно обновленные данные в списке панели после применения правильного значения;
расстегивать Кнопка: с помощью этого параметра вы можете быстро восстановить исходное значение данных на листе после применения недавно обновленных данных.
Демонстрация: поиск и замена похожих записей из списка значений ячеек
Рекомендуемые инструменты для повышения производительности
Следующие ниже инструменты могут значительно сэкономить ваше время и деньги. Какой из них вам подходит?
Office Tab: Использование удобных вкладок в вашем офисе, как и в случае Chrome, Firefox и New Internet Explorer.
Kutools for Excel: Более 300 дополнительных функций для Excel 2021, 2019, 2016, 2013, 2010, 2007 и Office 365.
Kutools for Excel
Описанный выше функционал — лишь одна из 300 мощных функций Kutools for Excel.
Предназначен для Excel(Office) 2021, 2019, 2016, 2013, 2010, 2007 и Office 365. Бесплатно скачать и использовать в течение 60 дней.
Skip to content
Ищем похожие записи и приблизительные совпадения
Быстрый способ выполнить приблизительный поиск в Excel
Используйте Fuzzy Duplicate Finder для поиска и исправления опечаток в таблицах Excel. Надстройка выполняет поиск частичных дубликатов, которые отличаются на от 1 до 10 символов, и распознает пропущенные, лишние или ошибочные символы. Вы просто выбираете, что исправить, делаете пару щелчков мышью и получаете в свое распоряжение исправленный набор данных.
-
60-дневная безусловная гарантия возврата денег
-
Бесплатные обновления на 2 года
-
Бесплатная и бессрочная техническая поддержка
С помощью инструмента поиска Fuzzy Duplicate Finder вы сможете:
Искать в нескольких строках и столбцах
Найдите все похожие значения, которые отличаются от 1 до 10 символов.
Управляйте правильными вариантами написания
Замените найденные опечатки одним из слов из списка встречающихся вариантов или введите собственное наиболее правильное значение.
Быстро переходить между результатами поиска
Все найденные совпадения организованы по группам в зависимости от степени и характера совпадения.
Экспорт найденных опечаток
Экспортируйте результаты поиска на отдельный рабочий лист для просмотра или исправления.
Что такое инструмент поиска похожих записей и для чего он мне нужен?
Fuzzy Duplicate Finder для Excel может помочь вам найти и исправить всевозможные частичные дубликаты, опечатки и слова с ошибками на ваших листах. Инструмент выполняет поиск нечетких дубликатов, которые отличаются на 1 — 10 символов, и распознает пропущенные, лишние или ошибочные символы. Это позволяет автоматически или вручную исправлять ошибки ввода и опечатки прямо в результатах поиска.
Почему бы не использовать программу проверки орфографии Excel для исправления опечаток?
Встроенная в Excel программа проверки орфографии и грамматики ищет только очевидные ошибки. Он не найдет все варианты с одним и тем же именем и не покажет вам список всех этих нечетких совпадений. Ведь опечатка или ошибка могут быть вполне орфографически правильны, но по смыслу — совершенно неверны. Более того, в стандартном словаре Excel может просто не хватать нужного вам значения.
А как насчет надстройки Microsoft Fuzzy Lookup для Excel?
Надстройка Fuzzy Lookup от Microsoft работает только в Excel 2007–2013 и может сравнивать данные только в двух похожих наборах данных, отформатированных в виде таблиц.
Эта же надстройка работает с любой версией Excel 2019, 2016–2010, а также Office 365, поддерживает все версии Windows и может обрабатывать любой диапазон ячеек независимо от его формата.
Как работает Fuzzy Duplicate Finder?
Инструмент позволяет находить нечеткие совпадения, когда выполнены следующие действия:
- Выберите диапазон ячеек для поиска.
- Установите максимальное количество различающихся символов.
- Установите максимальное количество символов в слове / ячейке.
- Нажмите кнопку «Поиск опечаток (Search for typos)» , чтобы увидеть все неверные значения.
- Выберите из списка или введите вручную правильное значение и нажмите Применить .
Могу ли я снова запустить поиск без перезапуска инструмента?
Что делать, если мне нужно использовать значение, отличное от предложенного, в качестве правильного?
Что произойдет, если мои слова в предложениях разделены какими-то необычными символами: &, _, — и т.д.? Надстройка будет работать?
Конечно, есть специальное поле, в котором можно указать разделители, используемые между словами.
Я не хочу сразу исправлять ошибки, я просто хочу посмотреть, есть ли они. Что мне делать?
В надстройке есть возможность экспортировать результаты, чтобы вы могли увидеть все слова с нечеткими совпадениями на одном листе. Кроме того, вы можете легко применить изменения, а затем отменить их. Для этого служит кнопка Undo.
Скачать Ultimate Suite
ГлавнаяНечеткий поиск в Excel — Fuzzy Lookup Add-In for Excel
Нечеткий поиск — позволяет искать нечеткие соответствия текста в нескольких источниках.
Установочник:
https://www.microsoft.com/en-us/download/confirmation.aspx?id=15011
Скинуть на лист два источника, которые нужно сравнить.
1.
2.
3.
4.
5.
6. Перед нажатием GO — нужно на листе выбрать область куда выведется результат
Иправление возможной ошибки — меняем разделитель на точку.
Программа предназначена для сравнения и подстановки значений в таблицах Excel.
Если вам надо сравнить 2 таблицы (по одному столбцу, или по нескольким),
и для совпадающих строк скопировать значения выбранных столбцов из одной таблицы в другую,
надстройка «Lookup» поможет сделать это нажатием одной кнопки.
То же самое можно сделать при помощи формулы =ВПР(), но:
- формулы могут тормозить работу с файлом при пересчёте, если объём данных большой (много строк или столбцов)
- если источник данных или файл, в который подставляются данные, каждый раз новый, — требуется время на прописывание или редактирование формул
- если с файлами работают люди, «далёкие» от Excel, — их проще обучить нажимать одну кнопку, чем объяснять им, как прописывать эти формулы
- иногда нужны дополнительные возможности (не учитывать заданные слова и символы при сравнении, выделять цветом изменения, копировать недостающие строки, и т.д.)
В настройках программы можно задать:
- где искать сравниваемые файлы (использовать уже открытый файл, загружать файл по заданному пути, или же выводить диалоговое окно выбора файла)
- с каких листов брать данные (варианты: активный лист, лист с заданным номером или названием)
- какие столбцы сравнивать (можно задать несколько столбцов)
- значения каких столбцов надо копировать в найденные строки (также можно указать несколько столбцов)
- каким цветом подсвечивать совпавшие и ненайденные строки (для каждого из 2 файлов)
- исключаемые при сравнении символы и фразы
Справка по надстройке Lookup