Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2014, 11:27   #1
Thez
Пользователь
 
Регистрация: 23.02.2014
Сообщений: 27
По умолчанию Умный алгоритм сравнения текста

Здравствуйте,

Есть столбец с текстом (F1:F25 во вложенном файле), каждую ячейку этого столбца нужно сравнить с каждой ячейкой столбца A1:A22, и, если совпадение успешно, то отнести текст ячейки (столбца F) в столбец D (если 2 текста F проходят по ячейке A, то отнести оба текста через запятую) (в пример: "Начальник отдельного поста" и "Начальник пожарной части" из F должны пройти совпадение по "Начальник (службы, ... " их A столбца и оба должны уйти в D через запятую)

Если использовать полное совпадение, то результат получается неверным (в пример: "Ведущий инженер (по направлениям)" не будет равен просто "Ведущий инженер"), и, даже, если использовать функцию InStr() для нахождения совпадения, то опять же не прокатит (в пример: есть "Ведущий инженер", а есть просто "Инженер" и они не должны быть равны.

Также алгоритм должен правильно обрабатывать регистр (в пример: "Пожарный" должен быть равен "пожарный", да так, чтобы в слолбец D ушёл только один из них)

Во вложенном файле на листе 1 исходные данные, а на листе 2, то что должно получиться после выполнения макроса.

Самому придумать алгоритм, к сожалению, не получается, поэтому надеюсь на вашу помощь
Вложения
Тип файла: zip Книга1231.zip (9.6 Кб, 11 просмотров)

Последний раз редактировалось Thez; 12.03.2014 в 11:29.
Thez вне форума Ответить с цитированием
Старый 12.03.2014, 11:41   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

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

т.е. если вы четко понимаете, как это должно работать, и можете объяснить, почему должно находиться именно это, а не то или другое, - тогда мы сможем помочь.

А в вашем случае, всегда найдутся данные, где либо программа не найдёт совпадение, либо найдет но неправильно.
Искусственный интеллект ещё не изобрели, а сравнение строк «по похожести» дает очень много ошибок, и не всегда находит совпадения.

PS: Проще вручную сделать таблицу соответствий...
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
доработать алгоритм сравнения чисел. GoldSieg Общие вопросы C/C++ 10 27.11.2013 13:47
Алгоритм сравнения спектров (звуков) chertovich Общие вопросы по программированию, компьютерный форум 3 09.02.2013 14:53
алгоритм сравнения больших чисел со сдвигом WOLFak Паскаль, Turbo Pascal, PascalABC.NET 0 29.12.2008 22:36
Алгоритм сравнения f3nix Общие вопросы Delphi 1 16.02.2008 11:12