Как в экселе сделать объединение ячеек. Объединение ячеек через контекстное меню. Как разделить ячейку в экселе

Как в экселе сделать объединение ячеек. Объединение ячеек через контекстное меню. Как разделить ячейку в экселе

Бывают случаи, когда нужно объединить несколько ячеек, например, при создании шапок таблиц. Microsoft Excel 2013 позволяет это сделать. При этом должно соблюдаться условие: заполнена может быть только левая ячейка выделенного диапазона, а остальные ячейки должны быть пустыми. Для слияния нескольких ячеек в одну надо выделить их, а затем щелкнуть мышью на кнопке Объединить вкладки Главная . Выделенные ячейки объединятся в одну, а данные в объединенной ячейке разместятся с выравниванием по центру (рис. 1.14).

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

Щелкните мышью на объединенной ячейке, а затем - на стрелке в правой части кнопки Объединить . В появившемся меню выберите пункт Отменить объединение ячеек . Щелкните правой кнопкой мыши на объединенной ячейке и в появившемся контекстном меню выберите левой кнопкой мыши пункт Формат ячеек . В появившемся диалоговом окне перейдите на вкладку Выравнивание и сбросьте флажок Объединение ячеек (галочки в квадратике быть не должно). Щелкните мышью на кнопке OK .

Выравнивание содержимого ячеек

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

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

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

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

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

Нас интересует вкладка Выравнивание .

В свойстве Отображение помечаем галочкой Объединение и нажимаем ОК .

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

Кнопка на ленте для excel 2007 и выше

Для объединения также можно использовать кнопку на ленте.

В версии Office 2013 она располагается на вкладке Главная и выглядит так.

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

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

В Office 2010 кнопка имеет почти такой же вид с подобным выпадающим списком.

В Office 2003 кнопка объединения с аналогичной функцией находится на панели инструментов Форматирование .

Склеить ячейки можно, используя копипаст , то есть скопировать (Ctrl+C) объединенную, после чего вставить (Ctrl+V) ее в требуемое место.

Используем функцию «СЦЕПИТЬ»

В Excel есть функция Сцепить . Объединяет несколько строк в одну.

В самой функции СЦЕПИТЬ следует через точку с запятой указать нужные нам ячейки или диапазон:

=СЦЕПИТЬ (яч1;яч2;…) от 1 до 255 аргументов функции.

Аналогичную процедуру сцепления можно произвести таким образом:

Пишем макросы

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

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

Выделить необходимые поля и выполнить макрос. Редактор VBA открывается комбинацией Alt+F11 .

Вносим программный код Макроса и выполняем.

Чтобы запустить созданный макрос, нажмите Alt+F8 . Запустится окно Макрос (Macro). В перечне Имя макроса (Macro name) выберите требуемый и нажмите Выполнить (Run).

Как объединить столбцы

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

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

В открывшемся окне ставим галочку – Пустые ячейки , после чего ОК .

В во втором столбце есть пустые столбцы – выделите их.

После знака равно вносим формулу значения соответствующего поля нужного столбца:

После чего Ctrl+Enter и значения вставятся только в пустые ячейки второго столбца.

Как объединить ячейки при помощи горячих клавиш

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

При любом последующем выделении нажимать F 4 (повтор последней команды!).

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

При работе в программе 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.

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

class="eliadunit">

При необходимости в программе Excel имеется возможность объедения данные из нескольких ячеек в одну. Склеить можно как однотипные данные (число+число) так и разнотипные (число+слово). Эти операция проделываются при помощи формулы СПЕЦИТЬ (или в английском варианте CONCATENATE). Аналогом этой формулы является использование знака под названием амперсанд (&). Научиться использовать сцепление в Excel лучше на реальных примерах.

Первый пример: использование объединение слов в одну ячейку в Excel (например, при написании объявлений в Яндекс Директ). Задача: добавить к тексту объявления слова «Звоните!» и «Звоните сейчас!». В столбце B находится текст объявления, в столбце C – слово «Звоните», в следующем столбце: «!» или «сейчас!»:

С целью масштабного объединения в столбце A вставляем формулы (знак амперсанд вставляется при английской раскладке Shift+7):

=СЦЕПИТЬ(B1;" ";C1;D1)

=B2&" "&C2&D2

=СЦЕПИТЬ(B3;" ";C3;D3)

=B4&" "&C4&D4

class="eliadunit">

В кавычках стоит знак пробела. Можно таким образов вставлять слова или даже предложения. В результате получаем такую картину в Excel:

Обычно подобное объединение используют к тексту и соответственно формула СЦЕПИТЬ относится к текстовым. Но её можно использовать и с числами. Вот пример:

Стоит обратить внимание на то, что с полученными результатами можно работать как с числами. Суммировать, умножать, делить и т.д. Но использовать в числовой формуле не получить. Например, если в ячейки суммы прописать формулу =СУММ (A2:A5), то подсчёт составит 0.

Далее разберем пример, когда нужно объединить текст и ячейку с числом, к которой применен какой-либо формат отображения (дата, финансы и др.). Если использовать только амперсанд или формулу СЦЕПИТЬ, требуемое значение будет отображаться некорректно (столбец A):

Для правильного отображения (столбец B), нужно использовать формулу ТЕКСТ. Её синтаксис следующий: ТЕКСТ(номер ячейки или значениеформат числового значения»). С форматами можно познакомиться в меню Excel во вкладке «Главная», раздел «Число».

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



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows