Невозможно отсортировать таблицу, содержащую объединенные ячейки слов

Обновлено: 03.07.2024

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

Однако использование объединенных ячеек имеет огромный недостаток: вы не можете сортировать содержащие их таблицы. Если вы попытаетесь, вы получите сообщение "Для операции требуется, чтобы объединенные ячейки были одинакового размера".

Самое очевидное решение проблемы — не использовать объединенные ячейки. Предположим, например, что у вас есть рабочий лист, в котором каждая «запись» фактически состоит из двух строк, и что первый столбец рабочего листа содержит объединенные ячейки. (Каждая двухстрочная запись начинается с двух объединенных ячеек, охватывающих две строки. Эта объединенная ячейка содержит название проекта.)

Лучше разделить ячейки в первом столбце, но тогда вы можете задаться вопросом, как правильно отсортировать записи на листе; как сохранить пары строк вместе во время сортировки. Вы можете сделать это, поместив название вашего проекта в первую строку, а имя проекта, добавив «zz» во вторую строку. Например, если первая строка содержит «Wilburn Chemical» (название проекта), то вторая строка может содержать «Wilburn Chemicalzz». Отформатируйте ячейку второй строки так, чтобы имя не отображалось (например, белый текст на белом фоне), и тогда вы сможете успешно сортировать по своему усмотрению.

Еще одно решение — использовать макрос для манипулирования рабочим листом и выполнения сортировки. Предполагая, что объединенные ячейки находятся в столбце A (как описано ранее), вы можете использовать следующий макрос для сортировки данных по содержимому столбца A:

Макрос вставляет временный столбец, считывает элементы из первого столбца списка, добавляет номер строки, копирует его во временный столбец, разъединяет ячейки, сортирует список, удаляет временный столбец и повторно объединяет столбец A. (Одна только сортировка таблицы с объединенными ячейками требует много работы!)

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

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

Биография автора

На его счету более 50 научно-популярных книг и множество журнальных статей. Аллен Уайатт является всемирно признанным автором. Он является президентом Sharon Parq Associates, компании, предоставляющей компьютерные и издательские услуги. Узнайте больше об Аллене.


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

На самом деле у вас нет способа сортировать данные с объединенными ячейками напрямую. Сначала вам нужно разъединить все объединенные ячейки, а затем отсортировать список. Эта статья познакомит вас с несколькими хитростями.

Быстрое разделение всех объединенных ячеек без потери данных в Excel:

Утилита Unmerge Cell в Kutools for Excel может помочь вам быстро разъединить все объединенные ячейки в выбранном диапазоне без потери данных в Excel. Смотрите снимок экрана: Загрузите полнофункциональную 60-дневную бесплатную пробную версию Kutools for Excel прямо сейчас!


Kutools for Excel: с более чем 200 удобными надстройками Excel, которые можно бесплатно попробовать без ограничений в течение 60 дней. Загрузите бесплатную пробную версию прямо сейчас!

  • Повторное использование всего: добавляйте наиболее часто используемые или сложные формулы, диаграммы и другие объекты в избранное и быстро используйте их повторно в будущем.
  • Более 20 текстовых функций: извлечение числа из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
  • Инструменты объединения: несколько книг и листов в одну; Объединение нескольких ячеек/строк/столбцов без потери данных; Объединить повторяющиеся строки и суммировать.
  • Инструменты разделения: разделение данных на несколько листов в зависимости от значения; Одна рабочая книга для нескольких файлов Excel, PDF или CSV; Один столбец в несколько столбцов.
  • Вставить, пропуская скрытые/отфильтрованные строки; Подсчет и сумма по цвету фона; Массовая рассылка персонализированных электронных писем нескольким получателям.
  • Суперфильтр: создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировка по неделям, дням, частоте и т. д.; Фильтр по полужирному шрифту, формулам, комментариям.
  • Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.

Сортировка данных с объединенными ячейками путем разделения всех ячеек сначала

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

<р>1. Выберите список с объединенными ячейками, которые необходимо отсортировать, затем нажмите «Главная» > «Объединить и центрировать», чтобы разъединить выбранные объединенные ячейки. Смотрите скриншот:


<р>2. Теперь вы можете видеть пустые ячейки, существующие в выбранном диапазоне. Оставьте выбранным диапазон, затем нажмите «Найти и выбрать» > «Перейти к специальному» на вкладке «Главная».


<р>3. В диалоговом окне «Перейти к специальному» выберите параметр «Пробелы» и нажмите кнопку «ОК».


<р>4. Затем выбираются все пустые ячейки. Введите знак = в строке формул, а затем укажите ссылку на ячейку, расположенную над первой пустой ячейкой, а затем одновременно нажмите клавиши Ctrl + Enter.

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


<р>5. Теперь вы можете приступить к сортировке списка. И после сортировки вы можете снова объединить ту же ячейку, если вам нужно.

Сортировка данных с объединенными ячейками с помощью Kutools for Excel

Вы можете легко разъединить ячейки в выбранном диапазоне без потери данных с помощью утилиты Unmerge Cell & Fill Value в Kutools for Excel. Пожалуйста, сделайте следующее.

Перед применением Kutools for Excel сначала загрузите и установите его.

<р>1. Выберите список, который нужно отсортировать с помощью объединенных ячеек, затем нажмите Kutools > Объединить и разделить > Разъединить ячейку и заполнить значение. Смотрите скриншот:


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


<р>2. Теперь вы можете приступить к сортировке данных. После сортировки вы можете выбрать список и нажать Kutools > Объединить и разделить > Объединить одинаковые ячейки, чтобы снова объединить ячейки с одинаковыми значениями.

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

Пожалуйста, выберите список с объединенными ячейками, которые нужно выбрать, затем нажмите Kutools > Выбрать > Выбрать объединенные ячейки. Затем появится диалоговое окно, чтобы сообщить вам, сколько объединенных ячеек существует в выбранном диапазоне, нажмите кнопку «ОК», после чего все объединенные ячейки будут выбраны немедленно. Смотрите скриншот:


Вкладка Office — просмотр, редактирование и управление книгами в Excel с вкладками:

Вкладка Office переносит интерфейс с вкладками, который используется в веб-браузерах, таких как Google Chrome, новые версии Internet Explorer и Firefox, в Microsoft Excel. Это будет инструмент, экономящий время и незаменимый в вашей работе. См. демо ниже:

В некоторых случаях вы не можете работать с рабочей книгой, состоящей из объединенных ячеек. Чтобы использовать фильтр, сортировку или другие функции, вам нужно разъединить ячейки и поместить во все из них данные из объединенных ячеек. Этот совет показывает, как сделать это эффективно.

Первый шаг: разделение всех объединенных ячеек

1. Выберите все ячейки на листе.

Быстрый способ сделать это — щелкнуть треугольник на пересечении заголовков строк и столбцов:

Выбрать все ячейки в Excel 2013

2. На вкладке "Главная" в группе "Выравнивание" нажмите "Объединить и центрировать":

Объединение и центрирование в Excel 2013

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

ПРИМЕЧАНИЕ. Если кнопка "Объединить и центрировать" не выделена, объединенных ячеек нет.

Второй шаг: заполнение пробелов на листе

3. Выберите диапазон с пробелами.

4. На вкладке «Главная» в группе «Редактирование» выберите раскрывающийся список «Найти и выбрать», а затем нажмите «Перейти к специальному». :

Перейти к специальному в Excel 2013

5. В диалоговом окне "Перейти к специальному" выберите параметр "Пробелы" и нажмите "ОК":

Пробелы в Excel 2013

Это действие выделяет пустые ячейки в исходном выделении.

6. В строке формул введите знак равенства (=), затем адрес первой ячейки с записью в столбце (в данном примере = B9) и нажмите Ctrl+Enter:

Панель формул в Excel 2013

7. Снова выберите исходный диапазон и нажмите Ctrl+C, чтобы скопировать выделение.

8. На вкладке "Главная" в группе "Буфер обмена" выберите раскрывающийся список "Вставить" и нажмите "Вставить значения", чтобы преобразовать формулы в значения:

Группа буфера обмена в Excel 2013

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

Разъединение всех объединенных ячеек

Разъединение всех объединенных ячеек

Полезные функции Excel для работы с большим объемом данных

Полезные функции Excel для работы с большими объемами данных

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

Вставить результаты в ячейку без формул

Вставить результаты в ячейку без формул

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

У меня есть таблица из 12 столбцов (столбцы B-M). Каждая строка форматируется одинаково, и
последние 8 столбцов каждой строки (столбцы от F до M, все имеют ширину 9)
объединяются в отдельные ячейки строки.

Какой код можно использовать для размещения строк в алфавитном порядке, сначала по столбцу C,
а затем по столбцу B?

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

Я ценю вашу помощь, -Джон

Реклама

Том Хатчинс

Разъедините ячейки в столбцах F–M и установите ширину столбца F равной 72. Затем
отсортируйте в обычном режиме. В любом случае все данные находятся в столбце F; столбцы G-M пусты.

Надеюсь, это поможет,

Том, хорошая идея, за исключением того, что мой босс не будет слишком доволен, когда я сдвину всю его сводную
статистику вправо на рабочем листе с таблицей! Строки над
таблицей содержат набор столбцов сводных данных, и таблица охватывает эти
строки. Мне пришлось объединить все эти ячейки в строки таблицы, чтобы компенсировать
и сделать таблицу так, как хочет мой босс. Существует аналогичная проблема с данными
под таблицей. Я также не могу переместить таблицу вправо, так как она должна
печатать в строке со всеми остальными данными.

Оооо. Как отсортировать таблицу, содержащую объединенные ячейки?

Реклама

Том Хатчинс

Извините, если это сообщение публикуется дважды. Один из способов – разъединить ячейки, отсортировать таблицу,
затем снова объединить ячейки. Вот пример:

Sub SortTable()
Dim Tbl As Range
'Начать с выбранной ячейки в таблице
'Выбрать все ячейки в текущем регионе
Selection.CurrentRegion.Select
Set Tbl = Selection
'Разъединить все объединенные ячейки.
Selection.UnMerge
'Теперь сортируем таблицу
Tbl.Sort Key1:=Range("A5"), Key2:=Range("B5"), Header:=xlYes
'Пройтись по каждой строке таблицы и повторно объединить столбцы FM
Tbl.Cells(1, 1).Activate
Do While Not Intersect(ActiveCell, Tbl) Is Nothing
Range ("F" & ActiveCell.Row & ":M" & ActiveCell.Row).Объединить
ActiveCell.Offset(1, 0).Activate
Цикл
'Освободить переменную объекта
Set Tbl = Nothing
End Sub

Конечно, вам придется отредактировать параметры команды Sort. Вам также может
нужно использовать что-то другое, кроме CurrentRegion, для указания диапазона таблицы.

Задать вопрос

Хотите ответить в этой теме или задать свой вопрос?

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

Похожие темы

< td style="padding: 5px 10px; min-width:50px; text-align:center">3
Объединить данные с помощью макроса 9 13 мая 2010 г.
Сортировка данных. Помощь. 2 12 октября 2005 г.
Измените размер строки, но скопируйте, но пропустите столбцы, которые мне не нужны копировать 6 30 августа 2013 г.
сортировать динамический диапазон активной ячейки 18 ноября 2009 г.
Дополнительный вопрос о транспонировании/группировке 7 31 января 2010 г.
Сортировка и выравнивание 2 диапазонов 1 24 июня 2010 г.
Сортировка строк не по порядку после последовательной нумерации всех строк 1 16 декабря 2009 г.
Объединение строк 2 21 октября 2008 г.

PC Review – это веб-сайт, посвященный обзорам компьютерной техники, с полезными форумами технической поддержки, на которых работают специалисты по ПК. Если у вас возникли проблемы с компьютером, обратитесь за советом на наш форум.

Читайте также: