sonyps4.ru

Объединить ячейки в экселе без потери. Как объединить ячейки в Excel стандартными средствами? Сделать это несложно

Для объединения двух и более ячеек в одну используются атрибуты colspan и rowspan тега . Атрибут colspan устанавливает число ячеек объединяемых по горизонтали. Аналогично работает и атрибут rowspan , с тем лишь отличием, что объединяет ячейки по вертикали. Перед добавлением атрибутов проверьте число ячеек в каждой строке, чтобы не возникло ошибок. Так, заменяет три ячейки, поэтому в следующей строке должно быть три тега или конструкция вида ...... . Если число ячеек в каждой строке не будет совпадать, появятся пустые фантомные ячейки. В примере 12.3 приведен хотя и валидный, но неверный код, в котором как раз проявляется подобная ошибка.

Пример 12.3. Неверное объединение ячеек

Неправильное использование colspan

Ячейка 1 Ячейка 2
Ячейка 3 Ячейка 4

Результат данного примера показан на рис. 12.5.

Рис. 12.5. Появление дополнительной ячейки в таблице

В первой строке примера задано три ячейки, две из них объединены с помощью атрибута colspan , а во второй строке добавлено только две ячейки. Из-за этого возникает дополнительная ячейка, которая отображается в браузере. Ее хорошо видно на рис. 12.5.

Правильное использование атрибутов colspan и rowspan продемонстрировано в примере 12.4.

Пример 12.4. Объединение ячеек по вертикали и горизонтали

Объединение ячеек

Браузер Internet Explorer Opera Firefox
6.07.07.08.09.01.02.0
Поддерживается НетДаНетДаДаДаДа

Результат данного примера показан на рис. 12.6.

Рис. 12.6. Таблица с объединенными ячейками

В данной таблице установлено восемь колонок и три строки. Часть ячеек с надписями «Internet Explorer» , «Opera» и «Firefox» объединены где по две, а где и по три ячейки. В ячейке с надписью «Браузер» применено объединение по вертикали.

Работа в редакторе таблиц Excel - это необходимый навык для каждого современного офисного работника. Microsoft Excel имеет очень широкие возможности , и, обладая должным набором знаний о работе в этой программе, можно более эффективно решать определённые задачи. В этой статье мы рассмотрим, как объединить ячейки, строки или столбцы в Excel. К сожалению, это является проблемой для большинства пользователей. Но не пугайтесь. Эта статья ответит на все ваши вопросы. Давайте же начнём. Поехали!

Пользователи в любой момент могут придать таблице нужный вид

Вообще, группировка данных - это достаточно непростая тема, если полностью в ней не разобраться. Объединение блоков таблицы выполняется при помощи кнопки <-a->, которая находится в блоке «Выравнивание» в ленте инструментов. Обратите внимание, что при объединении из данных останется только левое и первое значение, остальное будет удалено. Также в случае, если некоторые строки объединены, по ним не получится вести фильтрацию, и автофильтр не будет работать.

Теперь выделите те области, которые вы ходите объединить в одну, вы можете сделать это, зажав клавишу Ctrl. Далее, нажмите на кнопку <-a-> в панели инструментов. Нажав на стрелочку в этой кнопке, вы откроете список вариантов объединения :

  • Поместить по центру;
  • По строкам;
  • Ячейки;
  • Отмена.

После того как вы выберите нужный вариант, области будут объединены согласно указанным параметрам.

Можно обойтись без главной панели инструментов. После выделения нужной области кликните по ней правой кнопкой мыши и выберите пункт «Формат ячеек». Далее, перейдите на вкладку «Выравнивание» и отметьте галочкой пункт «Объединить ячейки».

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

Существует более продвинутый способ сгруппировать несколько значений таблицы в одну область. Для этого можно использовать формулы. Если у вас имеются блоки с текстом или числами, и вы ходите сгруппировать всё это, то пропишите в поле для формул следующее без кавычек: «=СЦЕПИТЬ (номер строки и столбца каждой ячейки через точку с запятой)». Например: «=СЦЕПИТЬ (B2;C2;D2;E2)». В таком случае значения будут сгруппированы подряд. Если между ними вы хотите

Здесь рассмотрим, как в Excel объединить ячейки, текст ячеек, ячейки без потери данных, столбцы, строки, списки, таблицы , т.д.
Как объединить ячейки в Excel.
Выделяем ячейки, которые хотим объединить. На закладке «Главная» в разделе «Выравнивание» нажимаем на кнопку «Объединить». Ещё функцию "Объединить" можно вызвать из контекстного меню - «Функции Excel. Контекстное меню».
Выделяем ячейки, которые нужно объединить. Нажимаем на ячейку выделенного диапазона правой мышкой. Из появившегося контекстного меню выбираем функцию «Формат ячеек». В появившемся диалоговом окне переходим на закладку «Выравнивание» и ставим галочку у функции» «объединение ячеек».

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

Было. Стало.
Выравнивание текста, цифр по горизонтали – регулирует расположение данных ячейки относительно её границ - слева, по центру, справа.

Выравнивание по вертикали – регулирует расположение данных по вертикали - вверху ячейки, по центру, внизу ячейки.
Можно совмещать эти функции в одной ячейке. Например: по центру по вертикали и по центру по горизонтали. Текст будет расположен в средине ячейки.
В разделе «Ориентация» можно развернуть текст в ячейке, передвинув красный ромбик, или, установив цифру градусов поворота текста. На закладке «Главная» в разделе «Выравнивание» есть кнопки этих функций.
Здесь же есть ещё две кнопки. Эти кнопки регулируют отступ текста, цифры в ячейке. Иногда, поиск ничего не находит, но, возможно, причина в том, что в ячейке установлен отступ, а мы в поисковую строку ввели искомое без отступа.
Чтобы убрать отступ в ячейках Excel , выделяем их и нажимаем кнопку «Уменьшить отступ».
Можно перенести большой текст из одной ячейки Excel в несколько ячеек . Это кнопка «Перенос текста». Часть функций не выведена кнопками на закладке, п.э. нужно вызвать окно формата ячеек, нажав в правом нижнем углу раздела «Выравнивание» маленькую кнопку со стрелкой.
Если текст не входит в ячейку, можно поставить «Переносить по словам ». В таблице бывает нужно развернуть текст в Excel - настраиваем ориентацию.
Внимание!
Когда объединяем заполненные ячейки, то сохраняется содержимое только из первой ячейки, в других ячейках – теряется. Появится такое предупреждающее окно.
Но, Excel дает нам возможность объединить и ячейки и данные в ячейках.
Как объединить ячейки в Excel без потери данных .
Для этого нужно воспользоваться функцией «СЦЕПИТЬ». Например, у нас есть такая таблица. Нам нужно объединить ячейки А и В.
1. Так как при объединении ячеек сохраняются данные только в первой левой ячейке, то мы вставим в таблицу столбец между столбцами А и В.
2. В этом столбце напишем формулу, которая объединит данные из ячеек столбцов А и В. В ячейке В2 пишем такую формулу. =СЦЕПИТЬ(A7;",";D7)

3. Копируем формулу по столбцу.
4. Теперь, если мы хотим в таблице оставить только столбец с объединенными ячейками (В2), а столбцы А и С (с исходными данными) удалить, то сначала копируем столбец с объединенными данными как ЗНАЧЕНИЕ (копировать - специальная вставка - значение - нажимаем в конце не «Enter», а «Esc»). Мы скопировали значение столбца В в новый столбец С.

5. Теперь столбцы С и D объединяем, а столбец А с исходными данными и столбец В с формулой удаляем. Получилась такая же таблица, только ячейки А и В объединены и данные в них объединены.

Если ячейки с исходными данными удалять не нужно, то не нужно копировать значение столбца с формулой (пункт 4 не нужно делать). А столбец с формулой объединить со вторым столбцом.

Можно столбец А просто скрыть, чтобы не мешал.
Как найти в таблице все объединенные ячейки, читайте в статье "Как найти объединенные ячейки в Excel ". Например, когда мы копируем данные из другой программы, то числа в Excel не обрабатываются, формулы не работают. Чтобф все заработало, нужно сменить формат значений.
Как удалить объединение ячеек в Excel .
Чтобы объединенные ячейки разъединить, нужно выделить эти ячейки и нажать кнопку «Объединить и поместить в центре». Ячейки разъединятся, а содержимое ячейки будет помещено в первой верхней ячейке.
В Excel можно объединить не только ячейки в одну, но многое другое.
Можно объединить содержимое из разных ячеек в одной ячейке. Например, объединить слова или слова и числа из разных ячеек в одно предложение. Как это сделать, смотрите в статье «Как объединить слова из разных ячеек в текст Excel» .
Можно объединить слова, другие данные не только в предложение, но и через знаки, например – косую черточку, другие знаки. Пример: сметана/молоко.
Можно составить предложение не только из ячеек, расположенных в строке, но и в столбце . Для этого нужно написать формулу. Как написать такую формулу, читайте в статье «Функция «СЦЕПИТЬ» в Excel».
Можно объединить списки в Excel в один. Например, есть несколько отдельных списков. Нам нужно из них составить один. Читайте об этом в статье «Как в Excel сделать список из двух» .
Можно объединить таблицы в Excel. В Excel есть функция «Консолидация», которая может объединить данные из нескольких таблиц в одну. Читайте «Как объединить таблицы в Excel».
Можно, ухитриться, и объединить сводные таблицы в Excel. В Excel нет функции объединить сводные таблицы, но есть способ сделать это. Все описано в статье «Сводная таблица в Excel из нескольких таблиц» .
Формат числа очень важен при работе некоторых формул, например, посчитать часы, минуты, т.д. Как правильно применить числовые форматы, смотрите в статье «

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

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

Самый простой способ

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

2 . Нажимаем на кнопку на вкладке «Главная» (вверху).

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

Еще один простой способ

1 . Выделяем нужные ячейки и жмем по одной из них правой кнопкой мышки. Появляется контекстное меню, в котором выбираем пункт «Формат ячеек».

2 . В окошке выбираем вкладку «Выравнивание» и ставим галочку напротив пункта «Объединение ячеек», после чего нажимаем OK.

Объединение ячеек с данными

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

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

Способ первый (через сцепление)

Шаг 1: склеиваем данные

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

Склеивание через функцию «СЦЕПИТЬ» . Допустим, у нас есть отдельно имя, фамилия и отчество. Все эти данные нужно объединить, а для этого сначала склеить их.

1 . Щелкаем по пустой ячейке.

2 . Печатаем знак = и большими буквами слово СЦЕПИТЬ

3 . Открываем скобку и щелкаем по первой ячейке с данными, затем печатаем точку с запятой и щелкаем по второй, затем опять точку с запятой - и по третьей. После это закрываем скобку.

4 . Нажимаем клавишу Enter на клавиатуре.

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

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

Склеивание через знак & . Находится этот символ там же, где цифра 7 на клавиатуре. Набирать его нужно на английской раскладке при зажатой клавише Shift.

Принцип почти такой же, как и при склеивании через функцию СЦЕПИТЬ:

1 . Щелкаем в пустой ячейке и печатаем в ней знак =

2 . Нажимаем на первую ячейку с данными, печатаем символ & и нажимаем на вторую ячейку, затем опять вводим & и нажимаем на третью и так далее.

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

Шаг 2: убираем дубли

Не важно, каким способом, но данные мы склеили.

Если нужно получить такой же результат и для остальных ячеек, эту «формулу» можно растянуть:

  • Щелкаем по ячейке с результатом
  • Наводим на маленький черный квадратик внизу справа
  • Когда курсор примет вид тонкого черного плюса, нажимаем левую кнопку мышки и, не отпуская ее, растягиваем по другим ячейкам

У меня получилось вот что:

Подробнее о «растягивании» можно узнать из вот этого урока .

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

Иногда это подходит, но что делать, если нужны только склеенные данные? Выход есть!

1 . Выделяем новые (склеенные) ячейки.

2 . Щелкаем по любой из них правой кнопкой мышки и из меню выбираем «Копировать».

3 . Выделяем какие-нибудь другие пустые ячейки.

4 . Нажимаем по любой из них правой кнопкой мышки и выбираем «Специальная вставка».

5 . В окошке выбираем пункт «Значения» (вверху) и нажимаем ОК.

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

Собственно, теперь все предыдущие данные можно удалить, а эти (новые) скопировать и вставить на их место.

Способ второй (через Блокнот)

Честно говоря, мне этот способ даже больше нравится - он быстрее.

1 . Выделяем в Экселе ячейки с нужными данными (можно выделить целые столбы/строки).

2 . Копируем их (правая кнопка мыши - Копировать).

3 . Открываем программу Блокнот: Пуск - Все программы - Стандартные - Блокнот. Или открываем Пуск и печатаем слово блокнот в поле для поиска (внизу).

4 . Вставляем в окно программы скопированные данные (правой кнопкой мышки по пустому месту - Вставить).

5 . Копируем символ табуляции.

Для этого в пустой строчке Блокнота (перейти на нее можно, нажав на Enter) нажимаем один раз клавишу Tab на клавиатуре.

Указатель сразу перемещается чуть правее. Зажимаем левую кнопку мышки и выделяем этот отрезок, который визуально похож на десяток пробелов. Затем копируем (правой кнопкой по выделенному - Копировать).

6 . Вверху программы Блокнот нажимаем на пункт «Правка» и выбираем «Заменить…».

7 . В первое поле («Что:») вставляем скопированный символ табуляции, а во второе поле («Чем:») вставляем необходимый нам разделитель, например, жмем клавишу пробел.

8 . Нажимаем на кнопку «Заменить все» и закрываем это маленькое окошко.

После этого данные в Блокноте немного изменятся - текст как будто бы чуть-чуть сожмется.

9 . Выделяем все это в Блокноте и копируем.

10 . Переходим в программу Excel и вставляем скопированные данные (удалив предыдущие).

Способ третий (макрос)

Еще один вариант объединения ячеек в Экселе без потери данных. Он чуть более сложный - для тех, кто знает, что такое Visual Basic.

Данный способ я позаимствовал из вот этой статьи . Кстати, очень клёвый сайт, советую всем, кто работает с программой Excel.

1 . Открываем вкладку «Вид» и нажимаем на кнопку «Макросы».

2 . Печатаем название для макроса, нажимаем «Создать».

3 . Откроется редактор Visual Basic. Вставляем туда следующий код:

Sub MergeToOneCell()
Const sDELIM As String = " " "разделитель в данном случае пробел.
Dim rCell As Range
Dim sMergeStr As String
If TypeName(Selection) <> "Range" Then Exit Sub "если выделяются не ячейки, тогда программа выходит
With Selection
For Each rCell In .Cells
sMergeStr =sMergeStr & sDELIM & rCell.Text "процесс сбора текста из ячеек
Next rCell
Application.DisplayAlerts = False "выключаем обычное предупреждение о потере текста
.Merge Across:=False "объединение ячеек
Application.DisplayAlerts = True
.Item(1).Value = Mid(sMergeStr, 1 + Len(sDELIM)) " добавляем к объединенным ячейкам суммированный текст
End With
End Sub

4 . Закрываем редактор Visual Basic.

Теперь, чтобы объединить ячейки с данными, нужно их выделить, после чего на вкладке «Вид» нажать кнопку «Макросы» и в новом окошке на «Выполнить».

Иногда эксель удивляет своими требованиями делать что-то через э… макросы. Вот недавно, встала задача разбить несколько объединенных ячеек по одной, чтобы можно было нормально отсортировать весь диапазон. Думаю, никому не надо объяснять, как просто убрать объединение ячеек, разбив их по одной (я имею ввиду формат-выравнивание-убрать галку с «объединение ячеек»). Но, к сожалению, эксель обладает очень интересным свойством при отмене объединения ячеек не спрашивать, как именно мы хотели бы их вернуть в нормальное, разъединенное состояние, а тупо пишет в верхнюю левую ячейку значение, которое было в объединенной, а все остальные ячейки оставляет незаполненными. Ну, естественно, ни о какой нормальной сортировке по прежде объединенным ячейкам говорить не приходится. И хорошо бы их было всего штук 200-300. А если их шестьдесят тысяч, разбитых на группы по 10 ячеек? Вручную шесть тысяч значений потом копировать в оставшиеся пустыми ячейки?

Типичная картина — хотим отсортировать список пофамильно, чтобы Кузнецов шел все-таки после Иванова. Пример, разумеется, очень упрощенный.

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

А нам то надо, чтобы в каждой ячейке было соответствующее значение, иначе при сортировке получится черти что!

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

  • разгруппировать ячейки выделенного диапазона с заполнением

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

Итак, создаем макрос с кодом:

ABAP

Sub UnMerge_And_Fill_By_Value() " разгруппировать все ячейки в Selection и ячейки каждой бывшей группы заполнить значениями из их первых ячеек Dim Address As String Dim Cell As Range If TypeName(Selection) <> "Range" Then Exit Sub End If If Selection.Cells.Count = 1 Then Exit Sub End If Application.ScreenUpdating = False For Each Cell In Intersect(Selection, ActiveSheet.UsedRange).Cells If Cell.MergeCells Then Address = Cell.MergeArea.Address Cell.UnMerge Range(Address).Value = Cell.Value End If Next End Sub

SubUnMerge_And_Fill_By_Value () "разгруппироватьвсеячейкивSelectionиячейкикаждойбывшейгруппызаполнитьзначениямиизихпервыхячеек

DimAddressAs String

DimCellAs Range

If TypeName (Selection) & lt ; & gt ; "Range" Then

Exit Sub

EndIf

If Selection. Cells. Count = 1 Then

Exit Sub

EndIf

Application. ScreenUpdating= False

For EachCellIn Intersect (Selection, ActiveSheet. UsedRange) . Cells

If Cell. MergeCellsThen

Address= Cell. MergeArea. Address

Cell. UnMerge

Range (Address) . Value = Cell. Value

EndIf

Next

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

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

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

Тоже на всякий случай приведу код:

ABAP

Sub MergeCls() Dim ri As Integer, r2 As Integer, Col As Integer r1 = ActiveCell.Row r2 = ActiveCell.Row Col = ActiveCell.Column Do If Cells(r1, Col) <> Cells(r2 + 1, Col) Then If r1 <> r2 Then Range(Cells(r1 + 1, Col), Cells(r2, Col)).ClearContents With Range(Cells(r1, Col), Cells(r2, Col)) .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = True .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = True End With End If r1 = r2 + 1 End If r2 = r2 + 1 Loop Until Cells(r2, Col) = "" End Sub

SubMergeCls ()

DimriAs Integer, r2As Integer, ColAs Integer

r1= ActiveCell. Row

r2= ActiveCell. Row

Col= ActiveCell. Column

If Cells (r1, Col) & lt ; & gt ; Cells (r2+ 1 , Col) Then

If r1& lt ; & gt ; r2Then

Range (Cells (r1+ 1 , Col) , Cells (r2, Col) ) . ClearContents

With Range (Cells (r1, Col) , Cells (r2, Col) )



Загрузка...