Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как определить есть ли частичное совпадение текста в ячейках - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как определить есть ли частичное совпадение текста в ячейках (Формулы/Formulas)
Как определить есть ли частичное совпадение текста в ячейках
Illusion767 Дата: Вторник, 24.05.2022, 14:44 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Здравствуйте уважаемые форумчане!
Подскажите, пожалуйста, какой формулой Excel определить есть ли частичное совпадение текста ячеек? Макрос нашёл в интернете, но это макрос ("Сравнение текста по части предложения" - не всегда удобно) и работает медленно.
Вопрос скорее теоретический - нашёл в интернете один вариант, но, мне кажется, что он неправильно работает - можете ли подсказать, действительно ли формула корректная, если нет - можно ли данную задачу решить формулой - осуществить поиск по произвольной части в ячейке. Например, есть необходимость проВПРить данные, но с учётом опечаток/разных формулировок в лоб сделать не получается.

Нашёл такое решение:

Как определить есть ли в двух текстовых ячейках одна и та же подстрока?
Каким условием узнать есть ли частичное совпадение текста в ячейках таблицы Excel?
Какой формулой сравнить две текстовые ячейки на совпадение части текста?
Как сделать сравнение ячеек на совпадение части текста?

Сначала выясним что такое частичное совпадение?

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

Например в тексте разных ячеек написан номер телефона, как определить обе ячейки содержат один телефон или разные.

Поэтому придётся задать минимальное количество символов подстроки (например в колонке C), которая должна содержаться в каждой ячейке.

Если сравниваемые строки находятся в колонках A2 и B2 то составим алгоритм работы формулы:

Найти в B2 подстроку ячейки A2 заданной длины и повторить операцию смещая каждый раз начало подстроки на 1.
Если подстрока нашлась, то записываем индекс найденной строки, иначе 0
суммируем все индексы
если сумма >0 то обе ячейки имеют общую подстроку заданной длины.
Записываем это в виде формулы массива:

Код
{=СУММ(ЕСЛИОШИБКА(НАЙТИ(ПСТР(A2; СТРОКА(ДВССЫЛ("1:"&ДЛСТР(B2)-C2)); C2); B2); 0))>0}


результат либо "ИСТИНА" либо "ЛОЖЬ"

Пример работы формулы в файле.
К сообщению приложен файл: ______.xls(27.5 Kb)


Сообщение отредактировал Illusion767 - Вторник, 24.05.2022, 15:13
 
Ответить
СообщениеЗдравствуйте уважаемые форумчане!
Подскажите, пожалуйста, какой формулой Excel определить есть ли частичное совпадение текста ячеек? Макрос нашёл в интернете, но это макрос ("Сравнение текста по части предложения" - не всегда удобно) и работает медленно.
Вопрос скорее теоретический - нашёл в интернете один вариант, но, мне кажется, что он неправильно работает - можете ли подсказать, действительно ли формула корректная, если нет - можно ли данную задачу решить формулой - осуществить поиск по произвольной части в ячейке. Например, есть необходимость проВПРить данные, но с учётом опечаток/разных формулировок в лоб сделать не получается.

Нашёл такое решение:

Как определить есть ли в двух текстовых ячейках одна и та же подстрока?
Каким условием узнать есть ли частичное совпадение текста в ячейках таблицы Excel?
Какой формулой сравнить две текстовые ячейки на совпадение части текста?
Как сделать сравнение ячеек на совпадение части текста?

Сначала выясним что такое частичное совпадение?

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

Например в тексте разных ячеек написан номер телефона, как определить обе ячейки содержат один телефон или разные.

Поэтому придётся задать минимальное количество символов подстроки (например в колонке C), которая должна содержаться в каждой ячейке.

Если сравниваемые строки находятся в колонках A2 и B2 то составим алгоритм работы формулы:

Найти в B2 подстроку ячейки A2 заданной длины и повторить операцию смещая каждый раз начало подстроки на 1.
Если подстрока нашлась, то записываем индекс найденной строки, иначе 0
суммируем все индексы
если сумма >0 то обе ячейки имеют общую подстроку заданной длины.
Записываем это в виде формулы массива:

Код
{=СУММ(ЕСЛИОШИБКА(НАЙТИ(ПСТР(A2; СТРОКА(ДВССЫЛ("1:"&ДЛСТР(B2)-C2)); C2); B2); 0))>0}


результат либо "ИСТИНА" либо "ЛОЖЬ"

Пример работы формулы в файле.

Автор - Illusion767
Дата добавления - 24.05.2022 в 14:44
_Boroda_ Дата: Вторник, 24.05.2022, 15:02 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16212
Репутация: 6296 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
По оформлению - войдите в редактирование поста, выделите формулу, нажмите кнопку fx на панели чуть выше

По формуле
1. ДВССЫЛ волатильная (летучая), ее лучше не использовать
2. ДЛСТР(A2) нужно, а не В2
3. НАЙТИ реагирует на регистр. Лучше ПОИСК

Код
=СЧЁТ(ПОИСК(ПСТР(A2;СТРОКА(A$1:ИНДЕКС(A:A;ДЛСТР(A2)-C2));C2);B2))
К сообщению приложен файл: _1.xls(28.0 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПо оформлению - войдите в редактирование поста, выделите формулу, нажмите кнопку fx на панели чуть выше

По формуле
1. ДВССЫЛ волатильная (летучая), ее лучше не использовать
2. ДЛСТР(A2) нужно, а не В2
3. НАЙТИ реагирует на регистр. Лучше ПОИСК

Код
=СЧЁТ(ПОИСК(ПСТР(A2;СТРОКА(A$1:ИНДЕКС(A:A;ДЛСТР(A2)-C2));C2);B2))

Автор - _Boroda_
Дата добавления - 24.05.2022 в 15:02
msi2102 Дата: Вторник, 24.05.2022, 17:40 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 134
Репутация: 65 ±
Замечаний: 0% ±

Excel 2007
Ну если не заморачиваться по поводу длинны, а искать совпадения, то можно попробовать PQ, почитайте ТУТ, ТУТ, ещё на Планете, не так давно, была похожая ТЕМА.
Кнопочный вариант PQ в файле, там же UDF
К сообщению приложен файл: 0322236.xlsm(28.1 Kb)


Сообщение отредактировал msi2102 - Вторник, 24.05.2022, 17:40
 
Ответить
СообщениеНу если не заморачиваться по поводу длинны, а искать совпадения, то можно попробовать PQ, почитайте ТУТ, ТУТ, ещё на Планете, не так давно, была похожая ТЕМА.
Кнопочный вариант PQ в файле, там же UDF

Автор - msi2102
Дата добавления - 24.05.2022 в 17:40
Illusion767 Дата: Пятница, 27.05.2022, 15:21 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Огромное всем спасибо!!!
Теперь есть варианты решения почти на все случаи, о некоторых я даже не подозревал, буду изучать!!!
Очень выручили!
 
Ответить
СообщениеОгромное всем спасибо!!!
Теперь есть варианты решения почти на все случаи, о некоторых я даже не подозревал, буду изучать!!!
Очень выручили!

Автор - Illusion767
Дата добавления - 27.05.2022 в 15:21
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как определить есть ли частичное совпадение текста в ячейках (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2022 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!