Здравствуйте! Помогите решить задачку, нужно на Листе1 столбец A, проверить все строки по минус словам которые даны на Листе2, если на Листе1 встречается минус слово, эту строку полностью нужно удалить. Спасибо:)
Найти и удалить строки по списку минус слов
09.10.2015 10:47:36
|
|
|
|
09.10.2015 10:49:00
|
|
|
|
09.10.2015 11:11:19
Доброе время суток
Присоединюсь к Игорю. Тема не избитая. Ещё один вариант на регулярных (не пропадать же добру ![]() Успехов. |
|
|
|
09.10.2015 12:10:10
Спасибо большое, оба способа работают отлично
![]() |
|
|
|
09.10.2015 13:38:49
Андрей VG, ваш способ хорош тем что наглядно можно увидеть что отфильтровывается и внести коррективы. Но есть один момент при использовании большого словаря (от 10 тыс минус слов) происходит сильный загруз процессора
![]() Hugo, способ HUGO вроде быстрый, не пробовал больше 2000 слов, но не видно что удалилось, хотя изначально об этом сам не просил
Изменено: |
|
|
|
09.10.2015 16:39:51
|
|
|
|
09.10.2015 16:45:00
Нет проблем моим кодом вместо удалений проставить единички, по которым позже удалить что угодно вручную.
|
|
|
|
09.10.2015 16:53:46
|
|||
|
|
12.03.2016 01:20:31
Помогите пожалуйста разобраться куда проставить единички, чтобы все сработало как нужно (чтобы он не удалял а единичку выставлял) |
|||
|
|
12.03.2016 06:35:03
wb1, замените 10ю строку на:
|
|||
|
|
13.03.2016 17:02:13
JayBhagavan, Спасибо, все получилось. Есть проблема - он меняет на единички только слова, причем регистр должен соответствовать. Ну регистр еще ладно, его можно встроенными формулами привести к единому значению, а вот как быть с цифрами? например 'мазда 323' или просто '323' - он игнорирует.
|
|
|
|
13.03.2016 17:23:50
С регистром думаю ошибаетесь, или код изменили - но в любом случае без примера говорить рано.
Ну а с числами просто - в списке имеете числа, а проверяте текст - вот и не находит. Нужно всё приводить к одному типу - думаю оптимально и надёжно в обоих случаях применить Trim() - так и возможные пробелы уберёте, которые вполне возможны при ручном заполнении файлов. |
|
|
|
13.03.2016 17:35:54
Да, вероятно в случае с регистром не работало из-за лишних пробелов.
|
|||
|
|
13.03.2016 18:14:54
Достаточно один раз применить Trim():
А добавлять в список для поиска "mazda 5" нет смысла - в словаре оно будет, на когда просматривается первый лист, то там анализируются слова! Отдельно каждое слово! Но можно доработать - сперва проверяем всё значение, затем уже каждое слово:
Ну и вывод сделал рядом, чтоб не портить исходные данные.
Изменено: |
|||||
|
|
13.03.2016 18:46:18
Hugo, очень круто. Спасибо!!
|
|
|
|
16.08.2017 13:39:52
|
||||
|
|
|||
Читают тему