Программное обеспечение

Работы в Excel c текстом.

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

Чтобы добавить такую пользовательскую функцию, сначала войдем в редактор Visual Basic (меню Сервис - Макрос - Редактор Visual Basic или Alt+F11) и добавим туда новый модуль через меню Insert - Module. Затем в получившийся пустой модуль надо скопировать вот такой код нашей функции:
Public Function FindSame(Txt As String, Rng As Range) As String
For Each cell In Rng
If Equality(cell.Value, Txt) > eqmax Then
FindSame = cell.Value
eqmax = Equality(cell.Value, Txt)
End If
If eqmax < 3 Then FindSame = "не найдено"
Next cell
End Function

Private Function Equality(t1 As String, t2 As String) As Integer
Equality = 0
For n = 1 To Len(t1)
For k = n To Len(t1)
s = Mid(t1, n, k)
s1 = "*" & s & "*"
If t2 Like s1 Then
If (k - n + 1) > Equality Then Equality = k - n + 1
End If
Next k
Next n
End Function

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

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

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

=FindSame(A2;$D$2:$D$11)

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

Если количество подряд идущих совпадений символов меньше трех, то функция выводит "не найдено". Большие и маленькие буквы - не различаются.
АИ
Александр И Вика Чемезовы
93 227
Лучший ответ
Нет времени читать справку? F1
Антон Меньшин
Антон Меньшин
3 520