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

Вход

Регистрация

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

 

= Мир MS Excel/Удаление строк с условием - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Удаление строк с условием (Формулы/Formulas)
Удаление строк с условием
Caryaga Дата: Четверг, 03.08.2017, 15:50 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Коллеги и мастера Excel,

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

Я не знаю, необходим ли здесь файл, поэтому если что, извините.
К сообщению приложен файл: sample_kolbasa.xlsx (9.9 Kb)


Сообщение отредактировал Caryaga - Четверг, 03.08.2017, 15:55
 
Ответить
СообщениеКоллеги и мастера Excel,

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

Я не знаю, необходим ли здесь файл, поэтому если что, извините.

Автор - Caryaga
Дата добавления - 03.08.2017 в 15:50
_Boroda_ Дата: Четверг, 03.08.2017, 15:51 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Необходим

И как с Вашей новой темой "
удалить предлоги до "-", не трогая текст после черты.

" http://www.excelworld.ru/forum/2-34725-227454-16-1501743340 ? Решение давно уже ждет Вас


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНеобходим

И как с Вашей новой темой "
удалить предлоги до "-", не трогая текст после черты.

" http://www.excelworld.ru/forum/2-34725-227454-16-1501743340 ? Решение давно уже ждет Вас

Автор - _Boroda_
Дата добавления - 03.08.2017 в 15:51
Caryaga Дата: Четверг, 03.08.2017, 15:56 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
_Boroda_, Исправил начальный пост, добавив файл
 
Ответить
Сообщение_Boroda_, Исправил начальный пост, добавив файл

Автор - Caryaga
Дата добавления - 03.08.2017 в 15:56
Caryaga Дата: Четверг, 03.08.2017, 16:00 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Решение давно уже ждет Вас


Вы имеете в виду формулу из предыдущей темы?
 
Ответить
Сообщение
Решение давно уже ждет Вас


Вы имеете в виду формулу из предыдущей темы?

Автор - Caryaga
Дата добавления - 03.08.2017 в 16:00
Caryaga Дата: Четверг, 03.08.2017, 16:12 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Хорошо, но вопрос из текущей темы и из конца предыдущей не совпадают. Если это не так, то простите. Значит я чего-то не понял.
 
Ответить
СообщениеХорошо, но вопрос из текущей темы и из конца предыдущей не совпадают. Если это не так, то простите. Значит я чего-то не понял.

Автор - Caryaga
Дата добавления - 03.08.2017 в 16:12
_Boroda_ Дата: Четверг, 03.08.2017, 17:00 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Формулы не умеют удалять строки. Поэтому или формулой, а потом фильтр и удалять руками (столбец В в файле), или макрос (кнопка в файле). Макрос заодно удаляет еще и дубликаты в исходном тексте
[vba]
Код
Sub tt()
    With Sheets("для удаления")
        r00_ = 1
        r01_ = .Range("A" & .Rows.Count).End(3).Row
        If r01_ <= r00_ Then Exit Sub
        n0_ = r01_ - r00_ + 1
        ar0 = .Range("A" & r00_).Resize(n0_)
    End With
    r10_ = 1
    r11_ = Range("A" & Rows.Count).End(3).Row
    If r11_ <= r10_ Then Exit Sub
    n1_ = r11_ - r10_ + 1
    ar1 = Range("A" & r10_).Resize(n1_)
    Set slov = CreateObject("Scripting.Dictionary")
    With slov
        For i = 1 To n0_
            aaa = .Item(ar0(i, 1))
        Next
        n0_ = .Count
        For j = 1 To n1_
            aaa = .Item(ar1(j, 1))
        Next
        n_ = .Count
        Application.ScreenUpdating = 0
        Application.Calculation = xlCalculationManual
        Range("A" & r10_).Resize(n1_).ClearContents
        Range("A" & r10_).Resize(n_) = Application.Transpose(.Keys)
        'У Transpose ограничение на длину текста - 255 символов и кол-во элементов - 65536 записей
        Range("A" & r10_).Resize(n0_).Delete Shift:=xlUp
    End With
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = 1
End Sub
[/vba]
К сообщению приложен файл: sample_kolbasa_.xlsm (20.4 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеФормулы не умеют удалять строки. Поэтому или формулой, а потом фильтр и удалять руками (столбец В в файле), или макрос (кнопка в файле). Макрос заодно удаляет еще и дубликаты в исходном тексте
[vba]
Код
Sub tt()
    With Sheets("для удаления")
        r00_ = 1
        r01_ = .Range("A" & .Rows.Count).End(3).Row
        If r01_ <= r00_ Then Exit Sub
        n0_ = r01_ - r00_ + 1
        ar0 = .Range("A" & r00_).Resize(n0_)
    End With
    r10_ = 1
    r11_ = Range("A" & Rows.Count).End(3).Row
    If r11_ <= r10_ Then Exit Sub
    n1_ = r11_ - r10_ + 1
    ar1 = Range("A" & r10_).Resize(n1_)
    Set slov = CreateObject("Scripting.Dictionary")
    With slov
        For i = 1 To n0_
            aaa = .Item(ar0(i, 1))
        Next
        n0_ = .Count
        For j = 1 To n1_
            aaa = .Item(ar1(j, 1))
        Next
        n_ = .Count
        Application.ScreenUpdating = 0
        Application.Calculation = xlCalculationManual
        Range("A" & r10_).Resize(n1_).ClearContents
        Range("A" & r10_).Resize(n_) = Application.Transpose(.Keys)
        'У Transpose ограничение на длину текста - 255 символов и кол-во элементов - 65536 записей
        Range("A" & r10_).Resize(n0_).Delete Shift:=xlUp
    End With
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = 1
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 03.08.2017 в 17:00
Caryaga Дата: Пятница, 04.08.2017, 09:09 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
_Boroda_, простите, не увидел Ваш отредактированный пост) удалите, пожалуйста, мой ответ. сейчас протестирую и попробую разобраться в функциях. Огромное Вам спасибо!
 
Ответить
Сообщение_Boroda_, простите, не увидел Ваш отредактированный пост) удалите, пожалуйста, мой ответ. сейчас протестирую и попробую разобраться в функциях. Огромное Вам спасибо!

Автор - Caryaga
Дата добавления - 04.08.2017 в 09:09
Caryaga Дата: Пятница, 04.08.2017, 13:05 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
_Boroda_, такой вопрос - работает ли формула не при точном совпадении слов? например, если в случае искомого текста будет "мясная колбаса рецепт", а в качестве просматриваемого массива слово "рецепт". Найдет ли она совпадение? у меня не получилось так
 
Ответить
Сообщение_Boroda_, такой вопрос - работает ли формула не при точном совпадении слов? например, если в случае искомого текста будет "мясная колбаса рецепт", а в качестве просматриваемого массива слово "рецепт". Найдет ли она совпадение? у меня не получилось так

Автор - Caryaga
Дата добавления - 04.08.2017 в 13:05
_Boroda_ Дата: Пятница, 04.08.2017, 13:10 | Сообщение № 9
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Конечно не работает. Вы что писали в первом сообщении -
нужно удалить, если определенная ячейка этой строки имеет точное совпадение с ячейкой на другом листе


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеКонечно не работает. Вы что писали в первом сообщении -
нужно удалить, если определенная ячейка этой строки имеет точное совпадение с ячейкой на другом листе

Автор - _Boroda_
Дата добавления - 04.08.2017 в 13:10
Caryaga Дата: Пятница, 04.08.2017, 13:16 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
_Boroda_, да, я понимаю, что это немного другая задача. привыкаю к жесткой логике экселя) просто решил модифицировать формулу и снова потерпел неудачу.
 
Ответить
Сообщение_Boroda_, да, я понимаю, что это немного другая задача. привыкаю к жесткой логике экселя) просто решил модифицировать формулу и снова потерпел неудачу.

Автор - Caryaga
Дата добавления - 04.08.2017 в 13:16
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Удаление строк с условием (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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