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

Вход

Регистрация

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

 

= Мир MS Excel/Простая метрика сходства текстовых строк - Страница 9 - Мир MS Excel

Старая форма входа
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Готовые решения » Простая метрика сходства текстовых строк (Нечеткий поиск - варианты решения)
Простая метрика сходства текстовых строк
Zliliya Дата: Воскресенье, 16.03.2014, 14:17 | Сообщение № 161
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Alex_ST, прошу помочь девушке!!! :( :( :( :( Думаю для вас это пустяковый вопрос.
Вопрос по функции FuzzyVLOOKUР, она мне идеально подходит в работе.
Когда я скачала всем известный пример с форума, у меня все работает в excel, НО когда скопировала или набрала FuzzyVLOOKUР в новой книге, то НЕ работает. ПОЧЕМУ???
Наверно это завязано на макросах, но в этом я ... тук, тук.
Извиняюсь за тупой вопрос, но надеюсь подскажите :) :) :)
К сообщению приложен файл: _Excel.xlsx (16.6 Kb)
 
Ответить
СообщениеAlex_ST, прошу помочь девушке!!! :( :( :( :( Думаю для вас это пустяковый вопрос.
Вопрос по функции FuzzyVLOOKUР, она мне идеально подходит в работе.
Когда я скачала всем известный пример с форума, у меня все работает в excel, НО когда скопировала или набрала FuzzyVLOOKUР в новой книге, то НЕ работает. ПОЧЕМУ???
Наверно это завязано на макросах, но в этом я ... тук, тук.
Извиняюсь за тупой вопрос, но надеюсь подскажите :) :) :)

Автор - Zliliya
Дата добавления - 16.03.2014 в 14:17
Alex_ST Дата: Воскресенье, 16.03.2014, 16:34 | Сообщение № 162
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
Alex_ST, прошу помочь девушке!!!
Я бы и рад был помочь, да вот в чём проблемы:
- функции нечёткого поиска писАл не я
А основные творцы нечёткого поиска здесь - nerv , Формуляр и v__step

- FuzzyVLOOKUР тут выкладывалась неоднократно и потому догадаться, в примере из какого поста у Вас всё работает, а в своей книге - не представляется возможным
- посмотрите на подпись под моими постами, а за одно и на рекомендации форума по формату выкладываемых файлов. Я НЕ ЛЮБЛЮ Офис версий старше чем 2003. А потому дома его на компе и не держу. А на работе мне некогда заниматься программами, да и сисадмины не дают скачивать файлы с макросами.
- Вы приложили пример, в котором по определению не может быть никаких макросов, а потому даже пытаться понять, почему у Вас не работает, нет смысла. Ответ единственный: у Вас в книге НЕТ МАКРОСОВ, потому они и не работают.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Воскресенье, 16.03.2014, 16:35
 
Ответить
Сообщение
Alex_ST, прошу помочь девушке!!!
Я бы и рад был помочь, да вот в чём проблемы:
- функции нечёткого поиска писАл не я
А основные творцы нечёткого поиска здесь - nerv , Формуляр и v__step

- FuzzyVLOOKUР тут выкладывалась неоднократно и потому догадаться, в примере из какого поста у Вас всё работает, а в своей книге - не представляется возможным
- посмотрите на подпись под моими постами, а за одно и на рекомендации форума по формату выкладываемых файлов. Я НЕ ЛЮБЛЮ Офис версий старше чем 2003. А потому дома его на компе и не держу. А на работе мне некогда заниматься программами, да и сисадмины не дают скачивать файлы с макросами.
- Вы приложили пример, в котором по определению не может быть никаких макросов, а потому даже пытаться понять, почему у Вас не работает, нет смысла. Ответ единственный: у Вас в книге НЕТ МАКРОСОВ, потому они и не работают.

Автор - Alex_ST
Дата добавления - 16.03.2014 в 16:34
Zliliya Дата: Воскресенье, 16.03.2014, 17:28 | Сообщение № 163
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Спасибо,
hands
у Вас в книге НЕТ МАКРОСОВ, потому они и не работают.

Я взяла из примера код макроса и вставила его в свой файл, и о боже заработало!!!
 
Ответить
СообщениеСпасибо,
hands
у Вас в книге НЕТ МАКРОСОВ, потому они и не работают.

Я взяла из примера код макроса и вставила его в свой файл, и о боже заработало!!!

Автор - Zliliya
Дата добавления - 16.03.2014 в 17:28
Alex_ST Дата: Воскресенье, 16.03.2014, 21:40 | Сообщение № 164
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
Я взяла из примера код макроса
из какого конкретно примера?
FuzzyVLOOKUР тут выкладывалась неоднократно
но раз заработало, то и слава Богу! Значит, вопрос снят.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Воскресенье, 16.03.2014, 21:40
 
Ответить
Сообщение
Я взяла из примера код макроса
из какого конкретно примера?
FuzzyVLOOKUР тут выкладывалась неоднократно
но раз заработало, то и слава Богу! Значит, вопрос снят.

Автор - Alex_ST
Дата добавления - 16.03.2014 в 21:40
Формуляр Дата: Среда, 16.04.2014, 23:15 | Сообщение № 165
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Добавил к "обычной" версии SimText возможность сравнения неполных фрагментов.
Сравнение неполных фрагментов позволяет учитывать слова, которые короче заданной длины фрагмента - Q.
В данном примере Q=3, тем не менее, поиск успешно различает модели по 1-символьным индексам, что ранее было невозможно.
Кроме того, возможность увеличения длины фрагента без ущерба для сравнения коротких слов значительно снижает влияние случайных совпадений. В данном случае, iPad и iPhone дают 0% сходства, а при Q=2 дают 33%.

Возникают уже некоторые проблемы с учётом разных версий в названиях файлов.
На данный момент сформировались 2 ветки алгоритма: "обычная" - или "первоначальная" - будет называться просто SimText<№ версии>, алгоритм с попарным сравнением слов будет называться SimTextХ<№ версии>.
Да ещё наклёвывается отдельная ветка для индексирования по справочнику она будет называться SimTextIdx<№ версии>.
К сообщению приложен файл: SimText451.rar (34.0 Kb)


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Среда, 16.04.2014, 23:17
 
Ответить
СообщениеДобавил к "обычной" версии SimText возможность сравнения неполных фрагментов.
Сравнение неполных фрагментов позволяет учитывать слова, которые короче заданной длины фрагмента - Q.
В данном примере Q=3, тем не менее, поиск успешно различает модели по 1-символьным индексам, что ранее было невозможно.
Кроме того, возможность увеличения длины фрагента без ущерба для сравнения коротких слов значительно снижает влияние случайных совпадений. В данном случае, iPad и iPhone дают 0% сходства, а при Q=2 дают 33%.

Возникают уже некоторые проблемы с учётом разных версий в названиях файлов.
На данный момент сформировались 2 ветки алгоритма: "обычная" - или "первоначальная" - будет называться просто SimText<№ версии>, алгоритм с попарным сравнением слов будет называться SimTextХ<№ версии>.
Да ещё наклёвывается отдельная ветка для индексирования по справочнику она будет называться SimTextIdx<№ версии>.

Автор - Формуляр
Дата добавления - 16.04.2014 в 23:15
Vlad_i_mir Дата: Среда, 30.04.2014, 23:20 | Сообщение № 166
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Формуляр, доброго времени суток!
Сразу скажу в VBA очень плохо разбираюсь.
Подскажите пожалуйста, что нужно поменять в коде, что бы функция "=FindBestMatchTxt" возвращала не ссылку на ячейку, а значение ячейки. Если я правильно понял необходимо изменить следующую часть кода:
[vba]
Код
Public Function FindBestMatchTxt(lookup_value As Variant, lookup_array As Variant, _
                     Optional threshold As Double = 0) As Integer
[/vba]
В какой части кода меняется метрика "F="? Что она регулирует?
 
Ответить
СообщениеФормуляр, доброго времени суток!
Сразу скажу в VBA очень плохо разбираюсь.
Подскажите пожалуйста, что нужно поменять в коде, что бы функция "=FindBestMatchTxt" возвращала не ссылку на ячейку, а значение ячейки. Если я правильно понял необходимо изменить следующую часть кода:
[vba]
Код
Public Function FindBestMatchTxt(lookup_value As Variant, lookup_array As Variant, _
                     Optional threshold As Double = 0) As Integer
[/vba]
В какой части кода меняется метрика "F="? Что она регулирует?

Автор - Vlad_i_mir
Дата добавления - 30.04.2014 в 23:20
Vlad_i_mir Дата: Пятница, 02.05.2014, 18:46 | Сообщение № 167
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Формуляр, Саша, доброго времени суток!
Попробовал Ваш код VBA ( функцию "=FindBestMatchTxt") применить к своему случаю, он практически такой же как описываются у Вас, но у меня не названия фирм, а адреса. Не получилось, он не верно определяет по последней составляющей - номеру дома или корпуса. В VBA не силён поэтому не могу понять в чём причина. Пробовал менять Q (с 2 на 3 и 3 на 2) и F (c 0 на 1 и 1 на 0) - не помогло.
Помогите пожалуйста.
Файл пример прикладываю.
К сообщению приложен файл: SimText.xls--.rar (46.5 Kb)


Сообщение отредактировал Vlad_i_mir - Пятница, 02.05.2014, 18:59
 
Ответить
СообщениеФормуляр, Саша, доброго времени суток!
Попробовал Ваш код VBA ( функцию "=FindBestMatchTxt") применить к своему случаю, он практически такой же как описываются у Вас, но у меня не названия фирм, а адреса. Не получилось, он не верно определяет по последней составляющей - номеру дома или корпуса. В VBA не силён поэтому не могу понять в чём причина. Пробовал менять Q (с 2 на 3 и 3 на 2) и F (c 0 на 1 и 1 на 0) - не помогло.
Помогите пожалуйста.
Файл пример прикладываю.

Автор - Vlad_i_mir
Дата добавления - 02.05.2014 в 18:46
Vlad_i_mir Дата: Суббота, 03.05.2014, 19:37 | Сообщение № 168
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Формуляр, Саша, доброго времени суток!
Попробовал Ваш код VBA ( функцию "=FindBestMatchTxt") применить к своему случаю, он практически такой же как описываются у Вас, но у меня не названия фирм, а адреса. Не получилось, он не верно определяет по последней составляющей - номеру дома или корпуса. В VBA не силён поэтому не могу понять в чём причина. Пробовал менять Q (с 2 на 3 и 3 на 2) и F (c 0 на 1 и 1 на 0) - не помогло.
Помогите пожалуйста.
Файл пример прикладываю.
К сообщению приложен файл: SimText.xls--.rar(46Kb)

Помогите пожалуйста кто-нибудь разобраться в чём причина. В VBA к сожалению не силён.
К сообщению приложен файл: 4103385.rar (46.5 Kb)


Сообщение отредактировал Vlad_i_mir - Воскресенье, 04.05.2014, 10:10
 
Ответить
Сообщение
Формуляр, Саша, доброго времени суток!
Попробовал Ваш код VBA ( функцию "=FindBestMatchTxt") применить к своему случаю, он практически такой же как описываются у Вас, но у меня не названия фирм, а адреса. Не получилось, он не верно определяет по последней составляющей - номеру дома или корпуса. В VBA не силён поэтому не могу понять в чём причина. Пробовал менять Q (с 2 на 3 и 3 на 2) и F (c 0 на 1 и 1 на 0) - не помогло.
Помогите пожалуйста.
Файл пример прикладываю.
К сообщению приложен файл: SimText.xls--.rar(46Kb)

Помогите пожалуйста кто-нибудь разобраться в чём причина. В VBA к сожалению не силён.

Автор - Vlad_i_mir
Дата добавления - 03.05.2014 в 19:37
Формуляр Дата: Понедельник, 05.05.2014, 21:19 | Сообщение № 169
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Во-первых, нет разделителя перед номером дома, поэтому номер воспринимается как продолжение предыдущего слова.
Во-вторых, вы использовали не самую свежую версию, в которой не полностью поддерживалась опция сравнения цифр.
К тому же, в списке поиска много дублей, что совершенно бессмысленно и замедляет пересчёт.
А самое главное, FindBestMatchTxt() вообще плохо подходит под данную задачу: она ищет заданную ключевую строку в списке поиска, а вам надо наоборот, подбирать ключевые строки из списка поиска под образцовую строку. Получается, вроде бы, та же задача только задом-наперёд.
Установка F=20 дала более-менее подходящий результат.

Однако, гораздо лучше использовать для вашей цели не поиск, а индексирование, как вот здесь.
Посмотрю в ближайшее время, как адаптировать для ваших нужд.
К сообщению приложен файл: SimText_Vlad_i_.rar (40.3 Kb)


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Понедельник, 05.05.2014, 21:21
 
Ответить
СообщениеВо-первых, нет разделителя перед номером дома, поэтому номер воспринимается как продолжение предыдущего слова.
Во-вторых, вы использовали не самую свежую версию, в которой не полностью поддерживалась опция сравнения цифр.
К тому же, в списке поиска много дублей, что совершенно бессмысленно и замедляет пересчёт.
А самое главное, FindBestMatchTxt() вообще плохо подходит под данную задачу: она ищет заданную ключевую строку в списке поиска, а вам надо наоборот, подбирать ключевые строки из списка поиска под образцовую строку. Получается, вроде бы, та же задача только задом-наперёд.
Установка F=20 дала более-менее подходящий результат.

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

Автор - Формуляр
Дата добавления - 05.05.2014 в 21:19
Vlad_i_mir Дата: Понедельник, 05.05.2014, 22:04 | Сообщение № 170
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Александр, результат если "причесать" списки действительно значительно лучше, ну и F=20.
Буду следить за темой, если у Вас получиться адаптировать ваш код к моей ситуации, буду рад, это мне очень поможет. Часто приходится сталкиваться с проблемой сопоставления адресов.
 
Ответить
СообщениеАлександр, результат если "причесать" списки действительно значительно лучше, ну и F=20.
Буду следить за темой, если у Вас получиться адаптировать ваш код к моей ситуации, буду рад, это мне очень поможет. Часто приходится сталкиваться с проблемой сопоставления адресов.

Автор - Vlad_i_mir
Дата добавления - 05.05.2014 в 22:04
Формуляр Дата: Воскресенье, 18.05.2014, 21:47 | Сообщение № 171
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Vlad_i_mir, добил наконец-то вариант индексирвания списка под вашу задачу.
Но понял, что получилась уже какая-то иная "сказочка", и что люди с аналогичными задачами врядли догадаются искать решение в данной теме.
По сему, предлагаю продолжить разговор в новой теме Индексирование списка на базе нечёткого поиска


Excel 2003 EN, 2013 EN
 
Ответить
СообщениеVlad_i_mir, добил наконец-то вариант индексирвания списка под вашу задачу.
Но понял, что получилась уже какая-то иная "сказочка", и что люди с аналогичными задачами врядли догадаются искать решение в данной теме.
По сему, предлагаю продолжить разговор в новой теме Индексирование списка на базе нечёткого поиска

Автор - Формуляр
Дата добавления - 18.05.2014 в 21:47
illios Дата: Вторник, 03.06.2014, 12:22 | Сообщение № 172
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток,
попробовал для своих нужд функцию "FuzzyVLOOKUP" результаты немного неоднозначные
если при больших объемах данных (от 20 тыс.) идет падение производительности, то это понятно.
но почему такие неоднозначные результаты поиска, я не могу понять, функцию я переименовал, для облегчения работы
прикладываю файл с результатами работы
К сообщению приложен файл: 214312.xls (84.0 Kb)
 
Ответить
СообщениеДоброго времени суток,
попробовал для своих нужд функцию "FuzzyVLOOKUP" результаты немного неоднозначные
если при больших объемах данных (от 20 тыс.) идет падение производительности, то это понятно.
но почему такие неоднозначные результаты поиска, я не могу понять, функцию я переименовал, для облегчения работы
прикладываю файл с результатами работы

Автор - illios
Дата добавления - 03.06.2014 в 12:22
Формуляр Дата: Вторник, 03.06.2014, 23:43 | Сообщение № 173
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
На счёт FuzzyVLOOKUP сказать ничего не могу, а вот индексирование на базе SimText работает, вроде, прилично.
К сообщению приложен файл: SimTextIdx_illi.zip (80.8 Kb)


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Среда, 04.06.2014, 09:18
 
Ответить
СообщениеНа счёт FuzzyVLOOKUP сказать ничего не могу, а вот индексирование на базе SimText работает, вроде, прилично.

Автор - Формуляр
Дата добавления - 03.06.2014 в 23:43
illios Дата: Среда, 04.06.2014, 09:54 | Сообщение № 174
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
при попытке задать массив более 30 000 строк SimText выбивает ошибку #ЗНАЧ
база с которой необходимо работать - 100 000 строк, в одном листе или по 50 000 в 2 листах
 
Ответить
Сообщениепри попытке задать массив более 30 000 строк SimText выбивает ошибку #ЗНАЧ
база с которой необходимо работать - 100 000 строк, в одном листе или по 50 000 в 2 листах

Автор - illios
Дата добавления - 04.06.2014 в 09:54
Формуляр Дата: Среда, 04.06.2014, 10:49 | Сообщение № 175
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Да, на таких списках Integer повышибало...
Подправил.
В SearchList на листе Sheet1 сейчас 55555 строк.
На таких объёмах лучше использовать вызов через макрос, чем напрямую UDF. Тогда и ошибки будт диагностироваться по-человечески.

Подозреваю, что более серьёзные проблемы могут вылезти на справочнике. Какой там примерно объём (в записях и в словах)?
К сообщению приложен файл: 9711328.zip (80.0 Kb)


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Среда, 04.06.2014, 10:51
 
Ответить
СообщениеДа, на таких списках Integer повышибало...
Подправил.
В SearchList на листе Sheet1 сейчас 55555 строк.
На таких объёмах лучше использовать вызов через макрос, чем напрямую UDF. Тогда и ошибки будт диагностироваться по-человечески.

Подозреваю, что более серьёзные проблемы могут вылезти на справочнике. Какой там примерно объём (в записях и в словах)?

Автор - Формуляр
Дата добавления - 04.06.2014 в 10:49
illios Дата: Среда, 04.06.2014, 11:59 | Сообщение № 176
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
53 тыс. строк, в строке максимум 40 символов
выбило со следующей ошибкой
К сообщению приложен файл: 8288198.jpg (14.9 Kb)
 
Ответить
Сообщение53 тыс. строк, в строке максимум 40 символов
выбило со следующей ошибкой

Автор - illios
Дата добавления - 04.06.2014 в 11:59
Формуляр Дата: Среда, 04.06.2014, 13:21 | Сообщение № 177
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
53 тыс. строк, в строке максимум 40 символов

Так это получается справочник размером с индексируемый список поиска что ли?
Конечно будет вышибать. Там довольно жёсткие ограничения по объёму прописаны в этой теме. На такой справочник никакой оперативки не хватит.

При таком раскладе остаётся FindBestMatchTxt(). Только будет всё очень небыстро.
К сообщению приложен файл: SimText_illios.xls (84.5 Kb)


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Среда, 04.06.2014, 19:46
 
Ответить
Сообщение
53 тыс. строк, в строке максимум 40 символов

Так это получается справочник размером с индексируемый список поиска что ли?
Конечно будет вышибать. Там довольно жёсткие ограничения по объёму прописаны в этой теме. На такой справочник никакой оперативки не хватит.

При таком раскладе остаётся FindBestMatchTxt(). Только будет всё очень небыстро.

Автор - Формуляр
Дата добавления - 04.06.2014 в 13:21
SvetaS Дата: Среда, 16.09.2015, 22:12 | Сообщение № 178
Группа: Пользователи
Ранг: Новичок
Сообщений: 44
Репутация: -10 ±
Замечаний: 80% ±

Excel 2013
Добрый День! Формуляр, может быть Вы могли бы помочь, пожалуйста.
Добрый Вечер!
Реализую задачу нечёткого поиска на VBA из Excel 2016 на 300 000 строках
на маленьком объёме вроде работало, но файл в 300 000 строк. Получаю ОШИБКУ - "RunTime Error 7 - Out of Memory"

Добавлено (16.09.2015, 19:22)
---------------------------------------------
ОПИСАНИЕ ЗАДАЧИ
Есть файл - пример привожу в файле "Дано " на 5 стоках, так как размер данных большой. Всего строк в файле от 150 000 до 300 000 строк.
В файле, в колонке "описание товара" приводится описание различного товара через ";".
необходимо: 1) строки содержащие символ ";" разложить "по строкам" вниз (по строкам, а не по столбцам, т.е. увеличив число строк в файле )
2) количество написанное напротив описания товара в строках с ";" внести в колонку "Кол-во товара"
3) вес написанный напротив упаковки продукции в описании товара внести в отдельную колонку - например 100 гр, или 1,5 кг
4) если указано количество продаж, сделать перевод строки в кг
5) каждой строке, после разложения строк содержащих ";" , по ключевому слову присвоить группу с названием товара в отдельной колонке
- чтобы можно было понять что за товар находится в описании строки
группы строк выделяются по информации находящейся в описании товара:
- Марки компании
- Марки бренда Например, Снежный Краб, Крабыч, Своя Линия, Розумна цена, и т.д.
- типа продукции например, Икра мойвы,
- группы продукции 1, например Икра, Краб Палочки, и т.д.
- группы продукции 2, например Морепродукты, Продукты из сурими, и т.д.
- состояния продукции (кулинарной обработки) например: в масле, по корейски, по мексикански, охлаждённая, замороженная и т.д.
- упаковки продукции (пластик, вакумная упаковка, пресервы, железная банка и т.д.)
- количества граммов продукции - вес выделить в кг отдельно, если продукция в штуках

6) после присвоения группы - создать сводную по группам - ДЛЯ ПРОВЕРКИ НАБОРА ГРУПП

7) создать отчёт

My WebPage ( Мир MS Excel/Загрузить данные в массив 300 000 строк - Мир MS Excel)
К сообщению приложен файл: 9703490.xlsx (14.5 Kb) · 4679547.xlsx (57.1 Kb)
 
Ответить
СообщениеДобрый День! Формуляр, может быть Вы могли бы помочь, пожалуйста.
Добрый Вечер!
Реализую задачу нечёткого поиска на VBA из Excel 2016 на 300 000 строках
на маленьком объёме вроде работало, но файл в 300 000 строк. Получаю ОШИБКУ - "RunTime Error 7 - Out of Memory"

Добавлено (16.09.2015, 19:22)
---------------------------------------------
ОПИСАНИЕ ЗАДАЧИ
Есть файл - пример привожу в файле "Дано " на 5 стоках, так как размер данных большой. Всего строк в файле от 150 000 до 300 000 строк.
В файле, в колонке "описание товара" приводится описание различного товара через ";".
необходимо: 1) строки содержащие символ ";" разложить "по строкам" вниз (по строкам, а не по столбцам, т.е. увеличив число строк в файле )
2) количество написанное напротив описания товара в строках с ";" внести в колонку "Кол-во товара"
3) вес написанный напротив упаковки продукции в описании товара внести в отдельную колонку - например 100 гр, или 1,5 кг
4) если указано количество продаж, сделать перевод строки в кг
5) каждой строке, после разложения строк содержащих ";" , по ключевому слову присвоить группу с названием товара в отдельной колонке
- чтобы можно было понять что за товар находится в описании строки
группы строк выделяются по информации находящейся в описании товара:
- Марки компании
- Марки бренда Например, Снежный Краб, Крабыч, Своя Линия, Розумна цена, и т.д.
- типа продукции например, Икра мойвы,
- группы продукции 1, например Икра, Краб Палочки, и т.д.
- группы продукции 2, например Морепродукты, Продукты из сурими, и т.д.
- состояния продукции (кулинарной обработки) например: в масле, по корейски, по мексикански, охлаждённая, замороженная и т.д.
- упаковки продукции (пластик, вакумная упаковка, пресервы, железная банка и т.д.)
- количества граммов продукции - вес выделить в кг отдельно, если продукция в штуках

6) после присвоения группы - создать сводную по группам - ДЛЯ ПРОВЕРКИ НАБОРА ГРУПП

7) создать отчёт

My WebPage ( Мир MS Excel/Загрузить данные в массив 300 000 строк - Мир MS Excel)

Автор - SvetaS
Дата добавления - 16.09.2015 в 22:12
SvetaS Дата: Среда, 16.09.2015, 22:15 | Сообщение № 179
Группа: Пользователи
Ранг: Новичок
Сообщений: 44
Репутация: -10 ±
Замечаний: 80% ±

Excel 2013
Формуляр, помогите, пожалуйста
[moder]Прекратите раскидывать свой вопрос по разным темам. Это нарушение Правил форума. Если Александр (Формуляр) сочтёт нужным, он ответит и в Вашей теме. А Вам замечание за дублирование[/moder]


Сообщение отредактировал Pelena - Четверг, 17.09.2015, 11:27
 
Ответить
СообщениеФормуляр, помогите, пожалуйста
[moder]Прекратите раскидывать свой вопрос по разным темам. Это нарушение Правил форума. Если Александр (Формуляр) сочтёт нужным, он ответит и в Вашей теме. А Вам замечание за дублирование[/moder]

Автор - SvetaS
Дата добавления - 16.09.2015 в 22:15
Формуляр Дата: Четверг, 17.09.2015, 21:51 | Сообщение № 180
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
SvetaS, здравствуйте.
на маленьком объёме вроде работало, но файл в 300 000 строк. Получаю ОШИБКУ - "RunTime Error 7 - Out of Memory"
Посмотрел ваши файлы. Не нашёл никаких следов использования моих макросов.
Так что, ничего по поводу ошибки сказать не могу.
Не понимаю, при чём тут 300 000 строк. Где справочник, где образец? Какой версией пользуетесь, с какими нстройками?


Excel 2003 EN, 2013 EN
 
Ответить
СообщениеSvetaS, здравствуйте.
на маленьком объёме вроде работало, но файл в 300 000 строк. Получаю ОШИБКУ - "RunTime Error 7 - Out of Memory"
Посмотрел ваши файлы. Не нашёл никаких следов использования моих макросов.
Так что, ничего по поводу ошибки сказать не могу.
Не понимаю, при чём тут 300 000 строк. Где справочник, где образец? Какой версией пользуетесь, с какими нстройками?

Автор - Формуляр
Дата добавления - 17.09.2015 в 21:51
Мир MS Excel » Вопросы и решения » Готовые решения » Простая метрика сходства текстовых строк (Нечеткий поиск - варианты решения)
Поиск:

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