0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как в Excel удалить строки, не содержащие определенного текста?

Как удалить определенные строки в Excel

Прежде чем перейти к теме этой статьи, важно понять, о чем идет речь. Давайте рассмотрим иерархию объектов в Excel. Рабочая книга — это файл Excel, содержащий рабочие листы. С другой стороны, рабочий лист — это электронная таблица, основной тип документа, который Excel использует для хранения и обработки данных. Рабочие листы представляют собой таблицы, состоящие из ячеек, расположенных в столбцах и строках, и являются частью рабочей книги. Основным элементом рабочего листа является ячейка. Это ячейки, которые содержат информацию: текст, значения, формулы. Каждая ячейка имеет свой адрес: номер строки и номер столбца, на пересечении которых находится ячейка. В этой статье мы более подробно остановимся на рядах.

Строки в Excel и основные действия с ними

65 536 строк существует в Excel 2003, и 1 048 576 строк существует в Excel 2007 и Excel 2010. Наиболее распространенными действиями со строками являются копирование, вставка, добавление новых строк, удаление и скрытие. Столбцы можно преобразовывать в строки в Excel и наоборот. Транспозиция — это преобразование такого рода. Чтобы преобразовать строку в столбец, необходимо скопировать данные строки, затем щелкнуть правой кнопкой мыши и из контекстного меню выбрать «Специальная вставка. «. Появится диалоговое окно «Специальная вставка». Установите флажок «транспонировать» и нажмите OK.

как транспонировать строку в столбец

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

Читайте так же:
Изменить цвет диаграммы в зависимости от значения в Excel

Далее мы рассмотрим инструмент, реализующий программное скрытие и удаление пустых строк, а также скрытие и удаление любых строк, согласно заданным пользователем условиям, при этом все параметры для программы задаются не в редакторе кода, а в диалоговом окне, что очень удобно. С помощью дополнения можно выбирать видимые или скрытые строки, а также фильтровать строки.

Надстройка для удаления и скрытия строк по условию

1) Скрывать или удалять строки;

2) Выберите одно из нескольких условий для искомых значений (соответствует, не соответствует, содержит, не содержит, начинается, не начинается, заканчивается, не заканчивается)

3) Найти пустые строки и строки, содержащие заданный текст (или массив текстовых значений)

4) Позволяет одновременно искать различные текстовые выражения, введенные в поле ввода текста, с использованием разделительного символа. В качестве разделителя используется точка с запятой ( ;);

Для обработки данных выбирайте различные диапазоны;

6) Ограничьте выбранные диапазоны номерами строк сверху и/или снизу, чтобы не повредить пики и строки с разными типами промежуточных итогов;

7) Позволяет искать в строках текст как с учетом регистра, так и без учета регистра.

Примеры использования надстройки в видео

Диалоговое окно надстройки

удаление и скрытие пустых строк и строк по условию

Из изображения диалогового окна можно понять, какие функции предоставляет надстройка — удаление/скрытие пустых столбцов и столбцов, соответствующих заданным критериям. Надстройка предназначена для работы в Microsoft Excel 2007/2010/2013.

Макрос может скрывать или не скрывать/отображать пустые строки, может скрывать или не скрывать/отображать строки, удовлетворяющие определенным условиям, таким как содержание определенного текста или его отсутствие, может учитывать или не учитывать регистр при поиске текста в строках. Чтобы гарантировать, что заголовки или промежуточные результаты не пострадают при удалении/скрытии в таблицах, было введено дополнительное ограничение на номер строки, которое можно использовать для задания области действия макроса. Если пользователь не укажет диапазон, макрос будет работать со строками в так называемом полезном диапазоне, т.е. от строки первой заполненной ячейки до строки последней заполненной ячейки. Пользователю также предлагается ограничить обработку активным листом или всеми листами активной рабочей книги.

Читайте так же:
Как включить (включить / выключить) защиту листа в Excel?

Удалить все строки в Notepad ++, кроме строк, содержащих слово, которое мне нужно?

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

Как мне это сделать?

Существует простой способ сделать это. Вам необходимо выполнить 3 шага.

Перейдите в меню «Поиск»> «Найти . «> Выберите вкладку «Марк». Активируйте регулярные выражения. Выполните поиск по ^ ( ^ — начало строки). Не забудьте отметить «Закладки строки» и нажмите «Отметить все».

==> Все строки, которые вы хотите сохранить, имеют закладки

Перейдите в меню «Поиск — Закладка — Обратная Закладка

==Все строки, которые вы хотите удалить, будут добавлены к маркерам.

Перейдите к меню «Поиск — Закладка — Удалить выделенные строки».

==> Все отмеченные строки будут удалены.

На самом деле это можно сделать в два этапа, начиная с версии 6.3. Когда я впервые попробовал это сделать, у меня не было 5.9, но я думаю, что это можно сделать.

Используя сообщение Стемы в качестве основы для этого ответа. Теперь на один шаг меньше. Пометьте линии и удалите не помеченные. Это сделано. Далее следуют подробные инструкции.

Меню поиска «Найти». Выберите вкладку Выбор в диалоговом окне Поиск. Включите регулярные выражения. Поиск ^ ( ^ для начала строки). Не забудьте выбрать «Линейные вкладки» и нажмите «Выбрать все».

==> Все строки, которые вы хотите сохранить, теперь имеют закладку

Удалить незамеченные строки — меню Поиск — Закладки — Удалить незамеченные строки.

==> Все не отмеченные закладкой строки будут удалены.

Чистое регулярное выражение только решение

Двухступенчатый вариант

Заменять регулярное выражение на

Замените тест на нужный текст

Одношаговый вариант

Используйте ^(?!). *rn для замены совпадений пустой строкой. Обобщенной версией будет ^(. *?test). *rn . Это не приведет к удалению пустой строки в конце файла. Все остальные строки удаляются, включая несколько последовательных пустых строк.

Читайте так же:
Как быстро преобразовать книгу в лист Google?

Объяснение:

(?!) — это негативное сообщение. ^.*test. *$ выделяет всю строку, содержащую нужный текст.

[rn] <2,>соответствует любому rn , встречающемуся более чем один раз, когда это строка Windows New. если у вас Linux или другая операционная система, вам может понадобиться возиться с этим. во-вторых, заменить его одной обратной строкой.

Мне кажется, что проще всего использовать функцию «Найти все в текущем документе», затем скопировать результаты в новый файл или выделить все и заменить в текущем файле.

Это позволит найти все строки, содержащие ваш текст, и перечислить их ниже. Просто щелкните правой кнопкой мыши по результату поиска и скопируйте/вставьте.

Перейдите в раздел Поиск -> Поиск . -> Включить регулярные выражения. Найдите «^ Path» (^ — начало строки).

Щелкните на кнопке «Найти все в текущем документе».

Появится окно «Find Result» со всеми строками шаблона. Выберите копировать/вставить в новой вкладке Блокнот ++.

На этой новой вкладке нажмите: Меню Поиск -> Заменить — -> Включить регулярные выражения.

В поле «Найти что:» используйте шаблон: «Строка d +:». Оставьте поле «Заменить на» пустым.

Нажмите кнопку «Заменить все».

Если вам не нужен путь к файловой системе, попробуйте это сделать из командной строки, используя Perl:

Если вы не увидите ожидаемых результатов, скорректируйте его соответствующим образом, как это было с Strawberry Perl в Windows.

Это неуклюже, но скопируйте все это в Excel, затем используйте =IF(LEFT(A1,6)=»»,A1,»») и скопируйте формулу вниз. Затем скопируйте его обратно в Notepad++. Это не идеальное решение, но оно довольно простое (если у вас есть Excel). Предупреждение: это не очень хорошо работает с отступами (Excel будет перемещать столбцы и т.д.).

Не существует простого способа сделать то, что вы хотите сделать с помощью Notepad++. Вам придется либо загрузить программу на свой компьютер, либо написать сценарий на VB (я предполагаю, что вы работаете в Windows).

Читайте так же:
Как быстро подсчитать количество ячеек до изменения значения в Excel?

Вы можете делать то, что хотите, одним из двух способов с помощью sed. Утилита sed является любимой в * nix и может быть найдена для Windows от великих людей из GnuWin ( http://gnuwin32.sourceforge.net/packages/sed.htm ). Вы должны загрузить эту программу, а затем запустить команду из командной строки.

Удалить все строки, не содержащие:
sed -i ‘/^<PATH>/!d’ file

Вывести все строки, содержащие в новый файл:
sed -n ‘/^<PATH>/p’ file > newfile

Я предлагаю вам использовать печать строк, которые вы хотите в новый файл. Причина этого в том, что вы, вероятно, не получите выражение regex в первый раз. Утилита sed использует базовый синтаксис регулярных выражений (см. Ссылку на http://www.regular-expressions.info/reference.html ). Если это что-то вроде пути * nix (/ var / www), то вам нужно экранировать символ /, чтобы ваше регулярное выражение работало.

Пример: sed -n ‘/^/var/www/p’ file > newfile
это распечатает все строки, которые начинаются с ‘/ var / www’. Если бы я подал запрос на экранирование символа /, команда выдаст ошибку. Вы можете экранировать специальный символ (такой как /) с помощью символа обратной косой черты .

Более эффективное решение — регулярное выражение для замены:

И ничто не может заменить его

Используйте Поиск->Заменить и введите регулярное выражение типа ^[^ ]. * Используя Регулярные выражения, замените каждую строку пустой строкой. На следующем шаге необходимо заменить nn на n, используя Extended несколько раз, пока не будет найдено 0 экземпляров. (Используйте rnrn и rn в зависимости от формата файла). В строке с большим количеством пустых строк использование nnnnnnnnnn или даже большего количества n : s в строке поиска будет быстрее.

голоса
Рейтинг статьи
Читайте так же:
Как автоматически объединить пустые ячейки выше / слева в Excel?
Ссылка на основную публикацию
Adblock
detector