Как убрать пропуски между строками в excel

Удаляем в EXCEL пропуски в списке (формулы)

history 24 апреля 2013 г.
    Группы статей

  • Вывод отобранных значений в отдельный диапазон
  • Отбор строк в таблице
  • Пустые ячейки

Если список значений содержит пропуски (пустые ячейки), то это может существенно затруднить его дальнейший анализ. С помощью формул уберем пустые ячейки из колонки с данными. Также напишем формулу, чтобы удалить нули из списка значений. В конце статьи научимся удалять вообще любое заданное значение из списка: символ, число, текстовую строку.

Пусть имеется список с пустыми ячейками (столбец А ).

Задача

Убрать пустые ячейки из списка, сформировав формулами список в соседнем столбце. То есть под словом "убрать" будем понимать не удаление значения из исходного списка, а формирование еще одного списка, но уже без лишних символов. Чтобы действительно убрать значения из списка нужно использовать макросы — программу на VBA.

Решение

Для избавления от пустых ячеек запишем в ячейке B2 формулу массива и скопируем ее вниз (см. файл примера): =ЕСЛИОШИБКА(ДВССЫЛ("A"&НАИМЕНЬШИЙ(ЕСЛИ(ЕПУСТО($A$2:$A$14);"";СТРОКА($A$2:$A$14));СТРОКА(A1)));"")

Получим в соседнем столбце B список со значениями из исходого, но уже без пропусков. Формула работает одинакового и для текстовых значений и для чисел. Алгоритм работы формулы следующий:

  • ЕСЛИ(ЕПУСТО($A$2:$A$14);"";СТРОКА($A$2:$A$14)) – если ячейка не пуста, то эта часть формулы возвращает номер строки. То есть формируется массив номеров строк, НЕ содержащих пустоты <2:"":4:5:6:"":"":9:10:"":"":13:14>На месте пустых ячеек в массиве будет символ "" (пустой текст), но можно его заменить в формуле на любую текстовую строку, например "ккк". Проверить результат можно выделив эту часть формулы и нажав клавишу F9 ;
  • Функция НАИМЕНЬШИЙ() сортирует массив строк по возрастанию. В сортированном списке сначала будут идти номера строк затем значения "", т.к. в EXCEL считается, что любое текстовое значение больше любого числа (значение пустой текст — текстовое значение);
  • Далее для функции ДВССЫЛ() формируются адреса ячеек с непустыми значениями. Например, ДВССЫЛ("A"&2) возвращает значение из ячейки А2 . Для пустых ячеек будет формироваться ошибочные адреса ячеек, состоящие только из символа А. Это вызовет ошибку после применения функции ДВССЫЛ();
  • Функция ЕСЛИОШИБКА() вместо ошибки будет возвращать "". Этот символ не отображается в ячейке и ячейка выглядит пустой.

На самом деле в соседнем столбце B список будет отличаться не только тем, что в нем значения будут идти подряд без пропусков. Если в исходном списке пустые ячейки действительно не содержали ничего, то в новом списке в пустых ячейках будут значения Пустой текст "". Хотя внешний вид пустых ячеек из обоих списков будет неотличим, но формулы увидят разницу. То есть, если Вы планируете делать дальнейшие манипуляции с новым списком, то имейте ввиду, что теперь пустые ячейки в конце списка теперь не совсем пусты — они содержат текстовое значение "". Подробнее про это специфическое значение читайте здесь .

Изменим немного формулу: =ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ( ЕПУСТО($A$2:$A$14);"";$A$2:$A$14);СТРОКА(A1));"")

Получим тот же список, но еще и сортированный по возрастанию (работает только для чисел).

Список также можно сформировать в столбце С другой формулой массива :

СписокСпропусками в формуле — это динамический диапазон , который образован формулой:

Длину списка с пропусками можно вычислить с помощью формулы:

СОВЕТ:

Для удаления и выделения пустых строк и ячеек традиционными средствами EXCEL, пользуйтесь идеями из статей Удаляем пустые строки в таблице и Выделение группы ячеек . О том, что EXCEL понимает под пустыми ячейками, читайте в статье Подсчет пустых ячеек .

Удаляем заданные символы из списка

Часто в списке присутствуют ненужные для дальнейшего анализа значения, например 0 (нуль).

Немного модернизировав вышеуказанную формулу получим универсальный подход для удаления вообще любого символа, числа или текстовой строки из исходного списка (см. файл примера, в котором на листе Произвольный символ приведена универсальнаяформула).

Пусть исходный список находится в диапазоне A12:A24, а в ячейке B6 содержится значение которое нужно удалить из ячеек списка.

Единственным отличием является выражение $A$12:$A$24=$B$6, которое заменило формулу с ЕПУСТО(. )

Теперь если значение в исходном списке не равно искомому значению, то вместо него будет выведено значение "" (в конце списка).

Изменение междустрочных интервалов

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

В этой статье

Уменьшение междустрочных интервалов в ячейке

Если текст расположен в ячейке слишком широко, вы можете уменьшить междустрочные интервалы. Часто можно улучшить читаемость, изменив выравнивания текста для сближения строк.

Щелкните правой кнопкой мыши необходимую ячейку и выберите пункт Формат ячеек в контекстном меню.

В контекстном меню выберите элемент

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

Вкладка

Нажмите кнопку OK. Текст расположен равномерно.

Текст будет выровнен и равномерно расположен в выбранной части ячейки.

Совет: Если в одной ячейке осталось слишком много места из-за того, что в другой находится больше текста, вы можете выбрать вертикальное выравнивание По середине, чтобы заполнить пространство более равномерно.

Увеличение междустрочных интервалов в ячейке

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

Щелкните правой кнопкой мыши необходимую ячейку и выберите пункт Формат ячеек в контекстном меню.

На вкладке Выравнивание в раскрывающемся списке по вертикали выберите пункт Распределенное.

Нажмите кнопку ОК.

Текст будет равномерно распределен по ячейке. Если изменить высоту строки, междустрочные интервалы автоматически изменятся для равномерного распределения текста.

Замена текста ячейки надписью

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

Дважды щелкните необходимую ячейку, выделите весь текст и нажмите клавиши CTRL+X.

Текст выделен.

Щелкните другую ячейку, чтобы отменить выделение.

При необходимости измените высоту строки.

На вкладке Вставить щелкните Надпись.

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

Щелкните надпись, чтобы выделить ее, а затем нажмите клавиши CTRL+V для вставки скопированного текста.

В текстовое поле вставлен новый текст.

Выделите весь текст надписи, щелкните его правой кнопкой мыши и в контекстном меню выберите пункт Абзац.

В контекстном меню выберите элемент

Выберите подходящие междустрочные интервалы.

Изображение диалогового окна

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

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

Ссылка на основную публикацию