powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel. Поиск похожего слова.
17 сообщений из 17, страница 1 из 1
Excel. Поиск похожего слова.
    #34360614
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подобное выражение
s="диск"
Set r = ActiveSheet.Range("A1:A3000")
Set g = r.Find(What:=s)
ищет в столбце А в строках от 1 до 3000 точное совпадение или вхождение в слово слова диск, без учета регистра.
Вопрос: как организовать поиск похожего слова. Например с отличием в 1 букву? Или похожее скажем на 80 процентов?
...
Рейтинг: 0 / 0
Excel. Поиск похожего слова.
    #34360837
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
например, в цикле поочередно менять по одной букве на "?" и собирать результаты поиска
...
Рейтинг: 0 / 0
Excel. Поиск похожего слова.
    #34360905
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё равно наверное придётся думать какие похожие слова могут встречаться
Что-то типа "диск*","*диск","дис*", "*иск"
...
Рейтинг: 0 / 0
Excel. Поиск похожего слова.
    #34360940
excel-ufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://www.planetaexcel.ru/tip.php?aid=68&PHPSESSID=99bc51d19af2a8c6b82ffd4c303c64f1
просмотри данную функцию
...
Рейтинг: 0 / 0
Excel. Поиск похожего слова.
    #34361184
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
excel-ufahttp://www.planetaexcel.ru/tip.php?aid=68&PHPSESSID=99bc51d19af2a8c6b82ffd4c303c64f1
просмотри данную функцию
Это не совсем то. Но поже, что можно приспособить.
Спасибо!
...
Рейтинг: 0 / 0
Excel. Поиск похожего слова.
    #34375253
Фотография Sinner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот, может это поможет
...
Рейтинг: 0 / 0
Excel. Поиск похожего слова.
    #34376104
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще вариант:

http://j-walk.com/ss/excel/tips/tip77.htm

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Excel. Поиск похожего слова.
    #34376453
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)еще вариант:

http://j-walk.com/ss/excel/tips/tip77.htm

KL
[MVP - Microsoft Excel]
Я так реализовал
Sub poiskpoh(pp)
Rem поиск похожего слова
Set r = ActiveSheet.Range("C" & kon & ":C60000")
Set g = r.Find(What:="")
For i = 3 To g.Row - 1

If Len(pp) = Len(Range("C" & i)) Then
s4et = 0
txt = UCase(pp)
mask = UCase(Range("C" & i))
For j = 1 To Len(pp)
If Mid(txt, j, 1) = Mid(mask, j, 1) Then s4et = s4et + 1
Next j
Rem MsgBox (Range("C" & i) & " " & pp & " " & s4et)
If s4et / Len(pp) > 0.5 Then MsgBox (s4et & " букв из " & Len(pp) & " Слово " & pp & " похоже на слово " & Range("C" & i) & " с точностью " & 100 * s4et / Len(pp) & " %")
End If

Next i
End Sub
...
Рейтинг: 0 / 0
Excel. Поиск похожего слова.
    #34376679
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
talgat
Я так реализовал
Sub poiskpoh(pp)
Rem поиск похожего слова
Set r = ActiveSheet.Range("C" & kon & ":C60000")
Set g = r.Find(What:="")
For i = 3 To g.Row - 1

If Len(pp) = Len(Range("C" & i)) Then
s4et = 0
txt = UCase(pp)
mask = UCase(Range("C" & i))
For j = 1 To Len(pp)
If Mid(txt, j, 1) = Mid(mask, j, 1) Then s4et = s4et + 1
Next j
Rem MsgBox (Range("C" & i) & " " & pp & " " & s4et)
If s4et / Len(pp) > 0.5 Then MsgBox (s4et & " букв из " & Len(pp) & " Слово " & pp & " похоже на слово " & Range("C" & i) & " с точностью " & 100 * s4et / Len(pp) & " %")
End If

Next i
End Sub
Коментарии: слова (база) в столбце "С" с 3 строки. Выводятся на подтверждение слова в которых буквы совпали более чем на 50% (If s4et / Len(pp) > 0.5) от длины слова. В другой процедуре выводится еще запрос типа "добавить похожее слово в базу" и "произвести замену в предложении"
...
Рейтинг: 0 / 0
Excel. Поиск похожего слова.
    #34376680
Фотография Sinner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
If Len(pp) = Len(Range("C" & i)) Then

Т.е. Если в искомом слове утеряна одна буква, то оно не похоже?

типа "подоконник" и "подоконик"
...
Рейтинг: 0 / 0
Excel. Поиск похожего слова.
    #34376735
Ffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делал когда-то похожую программу.
Создал таблицу соответствий.
В одной колонке правильное название фирм, в другой варианты неправильного написания.
Например:
Фирма 1 - Фир*1.
Неправильные значения в таблице исправляются на правильные.
Программа до сих пор работает. Табличка пополняется.

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

В общем случае, это скорее организационный вопрос (создание справочников),
чем программный.
...
Рейтинг: 0 / 0
Excel. Поиск похожего слова.
    #34377053
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sinner
Код: plaintext
If Len(pp) = Len(Range("C" & i)) Then

Т.е. Если в искомом слове утеряна одна буква, то оно не похоже?

типа "подоконник" и "подоконик"
Ваша правда. Как быть?
...
Рейтинг: 0 / 0
Excel. Поиск похожего слова.
    #34377676
Фотография Sinner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я до этого присылал функцию
...
Рейтинг: 0 / 0
Excel. Поиск похожего слова.
    #34377727
Фотография Sinner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в первом своем ответе
...
Рейтинг: 0 / 0
Excel. Поиск похожего слова.
    #34377793
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sinnerв первом своем ответе
Скачал. Разберусь. Спасибо всем!
...
Рейтинг: 0 / 0
Excel. Поиск похожего слова.
    #34649390
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
talgat Sinnerв первом своем ответе
Скачал. Разберусь. Спасибо всем!
как реализовал? поделись опытом
...
Рейтинг: 0 / 0
Excel. Поиск похожего слова.
    #34654533
kyber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще, задачка довольно нетривиальная. Советую поискать сайтах-коллекциях алгоритмов и т.п. На каком-то сайте по Дельфи я встречал парочку алгоритмов, реализующих неточный поиск - функция возвращала определенную степень похожести (в одном из них даже прорабатывался вариант написания задом-наперед). Но ссылки у меня не осталось:(
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel. Поиск похожего слова.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]