Как найти похожие записи в excel
Перейти к содержимому

Как найти похожие записи в excel

Поиск и удаление повторений

В некоторых случаях повторяющиеся данные могут быть полезны, но иногда они усложняют понимание данных. Используйте условное форматирование для поиска и выделения повторяющихся данных. Это позволит вам просматривать повторения и удалять их по мере необходимости.

Выберите ячейки, которые нужно проверить на наличие повторений.

Примечание: В Excel не поддерживается выделение повторяющихся значений в области "Значения" отчета сводной таблицы.

На вкладке Главная выберите Условное форматирование > Правила выделения ячеек > Повторяющиеся значения.

Правила выделения ячеек

В поле рядом с оператором значения с выберите форматирование для применения к повторяющимся значениям и нажмите кнопку ОК .

Диалоговое окно

Удаление повторяющихся значений

При использовании функции Удаление дубликатов повторяющиеся данные удаляются безвозвратно. Чтобы случайно не потерять необходимые сведения, перед удалением повторяющихся данных рекомендуется скопировать исходные данные на другой лист.

Выделите диапазон ячеек с повторяющимися значениями, который нужно удалить.

Совет: Перед попыткой удаления повторений удалите все структуры и промежуточные итоги из своих данных.

На вкладке Данные нажмите кнопку Удалить дубликаты и в разделе Столбцы установите или снимите флажки, соответствующие столбцам, в которых нужно удалить повторения.

Удаление дубликатов

Например, на данном листе в столбце "Январь" содержатся сведения о ценах, которые нужно сохранить.

Выделенные повторяющиеся значения

Поэтому флажок Январь в поле Удаление дубликатов нужно снять.

Поиск ближайшего похожего текста

Если в слове "хлеб" сделать четыре ошибки,
то получится слово "пиво"!

Имеем два списка. И в том и в другом примерно одни и те же элементы, но записаны они могут быть немного по-разному. Задача — подобрать к каждому элементу в первом списке максимально похожий элемент из второго списка, т.е. реализовать поиск ближайшего максимально похожего текста.

Большой вопрос, в данном случае, что считать критерием "похожести". Просто количество совпадающих символов? Или количество идущих подряд совпадений? Учитывать ли регистр символов или пробелы? Различные положения слов во фразе? Вариантов много и однозначного решения нет — для каждой ситуации тот или иной будет предпочтительнее остальных.

Если следовать принципу Оккама и не усложнять без надобности, то с помощью небольшой макрофункции на VBA можно реализовать самый очевидный вариант — поиск по максимальному количеству совпадений символов. Он не идеален, но для большинства ситуаций работает вполне надежно:

Поиск ближайшего похожего текста

Чтобы добавить такую пользовательскую функцию, сначала войдем в редактор Visual Basic (вкладка Разработчик — Visual Basic или Alt+F11) и добавим туда новый модуль через меню Insert — Module. Затем в получившийся пустой модуль надо скопировать вот такой код нашей функции:

Теперь можно закрыть редактор и вернуться в Excel. В мастере функций на вкладке Формулы — Вставить функцию (Formulas — Insert Function) в категории Пользовательские (User defined) появится наша новая функция FuzzyLookup, которую можно использовать со следующими аргументами:

=FuzzyLookup( текст_который_ищем ; диапазон_поиска )

Т.е. в показанном выше примере в ячейку B2 надо ввести

=FuzzyLookup(A2;$D$2:$D$22)

и скопировать формулу на весь столбец.

Обратите внимание, что наша функция не чувствительна к регистру и положению отдельных букв в слове.

Область применения такой функции может быть самой широкой: от автоматического исправления кривых рук оператора, вводящего данные до сравнения списков с разными вариантами написания одной и той же информации.

Добавить комментарий

Ваш адрес email не будет опубликован.