Как объединить ячейки таблицы в html. Всё про объединение ячеек в Excel

Здравствуйте, сегодня я расскажу вам, как сделать в html объединение ячеек в таблице по горизонтали и по вертикали.

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

Table{ border-collapse: collapse; } td{ border: 1px solid black; width: 60px; height: 50px; }

Объединение ячеек по горизонтали

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

  1. Прописываем нужной ячейке атрибут colspan = «число ячеек, которые нужно объединить»
  2. Удаляем все лишние ячейки

Например:

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

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

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

Объединение по вертикали

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

Давайте объединим последние ячейки в ряде 2 и 3. Для этого последней клетке в ряде 2 запишем rowspan = "2" . Теперь нужно в ряде 3 удалить последнюю ячейку. Если этого не делать, то опять же, будут вылезать лишние ячейки, что будет сильно портить внешний вид нашей таблицы.

Объединение по обеим сторонам

Одной ячейке можно задать оба атрибута. Давайте тоже посмотрим, как это работает. Объединим в одну ячейку 2 первые клетки ряда 2, и две первые – ряда 3. Итого 4 клетки объединим в одну.

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

Объединение ячеек в MS Office Excel

Весь процесс банален и прост, поэтому он не отнимет у Вас много времени. Если потрудитесь запомнить инструкцию, то совсем скоро на объединение в любой версии программы Эксель у Вас будет уходить несколько секунд. Итак, давайте рассмотрим весь процесс изнутри на примере Excel 2016:

Как видите, проблем действительно не возникло. Если у Вас более ранняя версия программы Excel, кнопка объединения ячеек будет также находиться на вкладке «Главная», в разделе «Выравнивание», только на сей раз она подписана как «Объединить и поместить в центре».


Но на тот случай, если у Вас вдруг возникнут какие-то проблемы и Вы не сможете найти её в одной из версий табличного редактора, мы подготовили универсальный способ.

Как объединить ячейки в Экселе: универсальная инструкция

К счастью, и здесь совсем ничего сложного нет. Он также отнимет даже у самого неопытного пользователя всего лишь одну минуту времени. Давайте поскорее рассмотрим данный способ:

К счастью, вовсе необязательно делать границы ячеек прозрачными, чтобы те выглядели как одна целая – в табличном редакторе есть прекрасная функция и Вы теперь умеете ею пользоваться!

Иногда эксель удивляет своими требованиями делать что-то через э… макросы. Вот недавно, встала задача разбить несколько объединенных ячеек по одной, чтобы можно было нормально отсортировать весь диапазон. Думаю, никому не надо объяснять, как просто убрать объединение ячеек, разбив их по одной (я имею ввиду формат-выравнивание-убрать галку с «объединение ячеек»). Но, к сожалению, эксель обладает очень интересным свойством при отмене объединения ячеек не спрашивать, как именно мы хотели бы их вернуть в нормальное, разъединенное состояние, а тупо пишет в верхнюю левую ячейку значение, которое было в объединенной, а все остальные ячейки оставляет незаполненными. Ну, естественно, ни о какой нормальной сортировке по прежде объединенным ячейкам говорить не приходится. И хорошо бы их было всего штук 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) )

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

Используем контекстное меню

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

Появится следующее диалоговое окно, в котором перейдите на вкладку «Выравнивание» . Поставьте галочку в поле «Объединение ячеек» . Здесь же можно задать выравнивание текста в блоке, или выбрать для него ориентацию. Нажмите «ОК» .

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

После объединения, осталось слово «объединим» , вместо «объединим эти ячейки» .

Используем кнопочку на ленте

Выделяем нужные блоки, переходим на вкладку «Главная» и кликаем на кнопочку «Объединить и поместить в центре» .

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

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

Копируем ранее объединенные

Если в документе у Вас уже есть объединенные блоки с нужным текстом, то выделите их, скопируйте – используя комбинацию «Ctrl+C» , и вставьте в нужную область документа – «Ctrl+V» .

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

Использование функции СЦЕПИТЬ

Четвертый способ – объединим ячейки в Excel, сохранив данные, используя функцию «СЦЕПИТЬ» . Объединять будем А1 —В1 и А2 —В2 .

Добавим между ними дополнительный столбец. Выделяем В1 , на вкладке «Главная» кликаем по стрелочке возле кнопки «Вставить» и выбираем из списка «Вставить столбцы на лист» .

Дальше выделяем В1 , в нее вставился новый столбец, и прописываем следующую формулу, чтобы сцепить А1 —С1 : =СЦЕПИТЬ(А1;» «;С1) . В кавычках посредине впишите разделитель: «;» , «:» , «,» , у меня там стоит пробел.

Таким же образом объединяем А2 —С2 . Можно просто растянуть формулу по столбцу, потянув за правый нижний уголок В1 .

Для того чтобы оставить в таблице только объединенные ячейки, выделяем их и нажимаем «Ctrl+C» . Кликаем по ним правой кнопкой мыши и выбираем из меню «Специальная вставка» – «Значения» .

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

Удалим столбец А и С . Выделяем А1:А2 , на вкладке «Главная» нажимаем на стрелочку возле кнопки «Удалить» и выбираем из списка «Удалить столбцы с листа» . Также удаляем данные в С1:С2 .

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

Использование макросов

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

Запускаем редактор VBA, используя комбинацию клавиш «Alt+F11» , и создаем новый модуль.

Теперь в область для ввода VBA-кода вставляю следующий код. Макрос будет называться «MergeCell» . Сохраняем созданный макрос. Если у Вас Excel 2007 и выше, при сохранении документа в поле «Тип файла» выберите «Книга Excel с поддержкой макросов» .

Закрываем редактор VBA комбинацией «Alt+Q» , после этого откроется документ Excel.

Теперь нужно выполнить созданный макрос. Выделяем в документе ячейки, которые нужно объединить. Переходим на вкладку Разработчик и кликаем по кнопочке «Макросы» . В следующем окне выбираем из списка макрос с нужным названием – «MergeCell» , и нажимаем «Выполнить» .

Выделенные блоки объединены, и при этом данные сохранились. Чтобы текст нормально отображался в ячейке, перейдите на вкладку «Главная» и кликните по кнопочке «Перенос текста» .

Иногда, работая в Microsoft Excel, возникает надобность в объединении ячеек. Как же это сделать? Рассмотрим этот процесс на примере Excel 2007.

Объединить можно неограниченное количество ячеек всего лишь одной кнопкой. Это позволяет из нескольких маленьких создать одну большую ячейку. Итак, как же это сделать?

Допустим, нужно создать сложную таблицу с объемной шапкой.

Ячейки строки «Направление специальностей », что является самой первой на изображении, нужно объединить в одну. Для этого выделяем ячейки, которые необходимо объединить (в данном случае это с В2 по D2) и находим на панели инструментов вот эту кнопку:

Стрелочка рядом с кнопкой означает, что у нее есть несколько функций.

Из них нам необходимо выбрать пункт «Объединить ячейки ». Вот результат:

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

С помощью этой же кнопки можно и удалить объединенные ранее ячейки с помощью соответствующего пункта «Удалить объединение ячеек ». Аналогичная опция простого объединения - «Объединить и поместить по центру ». В этом случае текст, который располагается в объединенной ячейки будет располагаться по центру, а не слева (то же самое, что к ячейке было вручную применено Выравнивание текста по центру ). Еще одна возможность, «Объединение по строкам », предупреждает пользователя о том что при объединении удалятся все данные, кроме того, что находится слева.

Выглядит это примерно так:

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

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

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

Такой вариант подойдет тем пользователям, кто работает с текстом через Формат ячеек и ему нужно произвести объединение, так сказать, заодно. Результат будет абсолютно тем же, что и в первом способе.

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то