Объединение массивов ячеек excel

#Руководства

  • 29 апр 2022

  • 0

Инструкции со скриншотами и нюансами. Учим использовать кнопку «Объединить» и функции СЦЕПИТЬ, СЦЕП, ОБЪЕДИНИТЬ. Рассказываем, какой метод выбрать.

Иллюстрация: Meery Mary для Skillbox Media

Ксеня Шестак

Рассказывает просто о сложных вещах из мира бизнеса и управления. До редактуры — пять лет в банке и три — в оценке имущества. Разбирается в Excel, финансах и корпоративной жизни.

Объединение ячеек в Excel позволяет из нескольких ячеек таблицы сделать одну. Такая опция обычно требуется в двух случаях:

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

Рассмотрим четыре способа объединения ячеек в Excel. Разберёмся, для каких случаев они подойдут и как их применять. В конце расскажем, какие из этих способов работают в «Google Таблицах».

  • Кнопка «Объединить» — когда нужно сделать шапку в таблице.
  • Функция СЦЕПИТЬ — когда нужно собрать данные из нескольких ячеек в одну.
  • Функция СЦЕП — когда нужно собрать данные из большого диапазона.
  • Функция ОБЪЕДИНИТЬ — когда нужно собрать данные из большого диапазона и автоматически разделить их пробелами.

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

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

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

Первоначальный вид таблицы каталога автомобилей
Скриншот: Skillbox

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

Выделяем ячейки, которые нужно объединить
Скриншот: Skillbox

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

Нажимаем кнопку «Объединить и поместить в центре»
Скриншот: Skillbox

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

В нашем случае получилась шапка части таблицы — «Характеристики автомобилей».

Так выглядит ячейка после объединения и смены оформления
Скриншот: Skillbox

По аналогии с предыдущими шагами уберём лишнюю пустую ячейку над ячейкой «Марка, модель». Для этого нужно выделить их одновременно и также нажать на кнопку «Объединить и поместить в центре».

Выделяем ячейки, которые хотим объединить, и нажимаем кнопку
Скриншот: Skillbox

Получаем таблицу в таком виде:

Так выглядит таблица после форматирования с помощью кнопки “Объединить ячейки”
Скриншот: Skillbox

Чтобы убрать объединение ячеек, выделим их и нажмём на кнопку «Отмена объединения ячеек». Можно выбирать всю таблицу целиком — тогда Excel сам найдёт объединённые ячейки и разъединит их. Можно выделить отдельный диапазон — в этом случае разъединится только он. Мы выделим и разъединим всю шапку таблицы.

Убираем объединение всех ячеек
Скриншот: Skillbox

Получим таблицу в таком виде. Можно внести необходимые изменения, если нужно, и объединить ячейки снова.

Так выглядит таблица после отмены объединения
Скриншот: Skillbox

Дополнительно в этом методе есть кнопка «Объединить по строкам». С помощью неё можно объединить ячейки выбранного диапазона построчно. Например, есть диапазон из трёх столбцов и семи строк — нужно из всех этих столбцов сделать один, но при этом оставить количество строк неизменным. Выделим всю таблицу целиком и нажмём эту кнопку.

Нажимаем кнопку «Объединить по строкам»
Скриншот: Skillbox

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

Итог объединения по строкам
Скриншот: Skillbox

Следующие три способа используются для объединения ячеек с сохранением всех данных в них. Они работают по такому принципу: функции собирают значения из выбранных ячеек в отдельную пустую ячейку.

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

Для чего подойдёт. Для объединения небольшого количества ячеек с сохранением всех данных.

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

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

Как сделать. Для начала выделим ячейку, в которую функция соберёт значения из объединяемых ячеек. В нашем случае создадим дополнительную колонку «Данные для квитанции» и выделим первую ячейку.

Выделяем ячейку, куда функция принесёт объединённые данные
Скриншот: Skillbox

Дальше открываем окно для построения функции. Есть два способа сделать это. Первый — перейти во вкладку «Формулы» и нажать на «Вставить функцию».

Нажимаем сюда, чтобы открыть окно построения
Скриншот: Skillbox

Второй способ — нажать на «fx» в строке ссылок на любой вкладке таблицы.

Чтобы открыть окно построения, понадобится один клик
Скриншот: Skillbox

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

Нажимаем сюда, чтобы открылась функция СЦЕПИТЬ
Скриншот: Skillbox

Появляется окно для ввода аргументов функции. «Текст 1», «Текст 2» — ячейки, значения которых мы объединяем. В нашем случае таких ячеек пять, поэтому с помощью кнопки + добавляем ещё три таких аргумента.

Так выглядит окно для ввода аргументов функции СЦЕПИТЬ
Скриншот: Skillbox

Заполняем аргументы функции. Поочерёдно нажимаем на окно каждого аргумента и из таблицы выбираем значение для него.

Порядок действий, чтобы указать значение, выглядит так:

  • Ставим курсор в окно «Текст1» в построителе формул.
  • Выбираем первое значение столбца «Год выпуска» в таблице. Это ячейка B4.

Выбранное значение переносится в построитель формул и одновременно появляется в формуле строки ссылок: fx=СЦЕПИТЬ(B4).

То же самое делаем для остальных аргументов: «Текст2» → значение ячейки «Объем», «Текст3» → значение ячейки «Коробка передач», «Текст4» → значение ячейки «Привод», «Текст5» → значение ячейки “Руль”.

В итоговом виде функция получается такой: fx=СЦЕПИТЬ(B4; C4; D4; E4; F4). Нажимаем кнопку «Готово».

Указать номер ячейки можно и вручную, но проще нажать на неё
Скриншот: Skillbox

Результат работы функции СЦЕПИТЬ
Скриншот: Skillbox

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

Добавляем в получившуюся функцию после значения каждого аргумента запятую и пробел, в таком виде, вместе с кавычками: «, «;

Устанавливаем курсор здесь, добавляем разделитель между данными ячеек
Скриншот: Skillbox

Получаем функцию в таком виде: fx=СЦЕПИТЬ(«год выпуска «;B4;», объем «;C4;», коробка передач «;D4;», привод «;E4;», руль «;F4). Нажимаем Enter.

Так значение объединённых ячеек выглядит визуально приятнее — появились запятые и пробелы
Скриншот: Skillbox

Таким же образом можно добавить не только пробелы и знаки препинания, но и целые слова и фразы.

Для нашего примера можно преобразовать функцию к такому виду: fx=СЦЕПИТЬ(«год выпуска «;B4;», объем «;C4;», коробка передач «;D4;», привод «;E4;», руль «;F4). Главное — не забывать указывать все необходимые пробелы, которые должны быть между объединёнными данными.

Теперь итоговое значение объединённых ячеек содержит в себе ещё и заголовки
Скриншот: Skillbox

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

Так выглядит результат. В этом виде значения ячеек можно забирать в квитанции
Скриншот: Skillbox

Для чего подойдёт. Для объединения больших диапазонов ячеек с сохранением всех данных.

Особенности метода. Можно указать сразу весь диапазон ячеек. Но функция, как и СЦЕПЛЕНИЕ, склеит их: значения не будут ничем разделены.

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

Как сделать. По аналогии с функцией СЦЕПЛЕНИЕ выделим ячейку, в которую функция будет собирать значения. Откроем окно для построения функций и найдём функцию СЦЕП.

Так выглядит окно для ввода аргументов функции СЦЕП
Скриншот: Skillbox

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

Выбранное значение диапазона переносится в построитель формул и одновременно появляется в формуле строки ссылок: fx=СЦЕП(B4:F4).

Указываем диапазон ячеек, которые хотим объединить, и нажимаем сюда
Скриншот: Skillbox

Результат работы функции СЦЕП
Скриншот: Skillbox

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

Вернёмся в окно построения функции и поменяем аргументы на такой вид: «Текст1» → значение ячейки «Год выпуска», «Текст2» → «, «, «Текст3» → значение ячейки «Объём», «Текст4» → «, «. И так далее до последней ячейки, которую нужно объединить: чередуем значения ячеек и аргумент-разделитель.

Затем нажимаем «Готово». Итоговое значение функции принимает вид: fx=СЦЕП(B4;», «;C4;», «;D4;», «;E4;», «;F4), и данные ячейки разделяются запятыми и пробелами.

В полях аргументов функции чередуем значения ячеек и разделитель между ними
Скриншот: Skillbox

Теперь данные в объединённой ячейке разделены между собой
Скриншот: Skillbox

Чтобы добавить не только запятые с пробелами, но и слова, нужно дописать их в промежуточных аргументах функции. Сделаем это на нашем примере. Вернёмся в построитель формул и заменим данные: 
«Текст2» → «, объём «, «Текст4» → «, коробка передач «, «Текст6» → «, привод «, «Текст8» → «, руль «.

Заменяем данные промежуточных аргументов
Скриншот: Skillbox

В итоге функция выдаёт значение, где все данные разделены между собой дополнительными словами. Формула при этом принимает вид: fx=СЦЕП (B4;”, объём “; C4;”, коробка передач “; D4;”, привод “; E4;”, руль “; F4).

Функция объединила данные ячеек и внесла между ними дополнительные слова
Скриншот: Skillbox

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

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

Так выглядит результат для всей таблицы
Скриншот: Skillbox

Для чего подойдёт. Для объединения больших диапазонов ячеек с сохранением данных.

Особенности метода. Можно указать сразу весь диапазон ячеек и разделитель для них. При этом значение самого разделителя будет одним для всех объединённых ячеек. Если нужно изменить разделитель для части ячеек — делать это придётся вручную в строке ссылок.

Как сделать. Выделим ячейку, в которую функция будет собирать значения. Откроем окно для построения функций и найдём функцию ОБЪЕДИНИТЬ.

Так выглядит окно для ввода аргументов функции ОБЪЕДИНИТЬ
Скриншот: Skillbox

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

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

В нашем случае в качестве разделителя добавим запятую и пробел: «, «.

Разделитель добавить между всеми значениями ячеек запятую и пробел
Скриншот: Skillbox

«Пропускать_пустые» — условное значение, которое определит, что функция будет делать с пустыми ячейками в диапазоне:

  • Если нужно, чтобы пустые ячейки игнорировались и разделители не дублировались в них, вводим 1 (ИСТИНА).
  • Если нужно, чтобы пустые ячейки обязательно учитывались, вводим 0 (ЛОЖЬ).

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

С этим значением аргумента при построении функции пустые ячейки будут игнорироваться
Скриншот: Skillbox

«Текст1» — значения ячеек, которые нужно объединить. Можно выбирать одним диапазоном или вводить каждое значение по отдельности.

В нашем примере выберем все ячейки одним диапазоном.

Можно выбирать каждую ячейку по отдельности или сразу весь диапазон
Скриншот: Skillbox

Итоговая функция в строке ссылок принимает вид: fx=ОБЪЕДИНИТЬ(«, «;1;B4:F4).

Нажимаем кнопку «Готово» и растягиваем полученную ячейку на все остальные строки.

Результат работы функции ОБЪЕДИНИТЬ
Скриншот: Skillbox

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

Какие методы объединения ячеек есть в «Google Таблицах»? В них есть кнопка «Объединить», которая работает по аналогии с Excel. Также есть функция СЦЕПИТЬ, но нет окна построителя формул — прописывать значения придётся вручную. Если вам нужен разделитель в виде запятой и пробела, то функция будет выглядеть так: fx=СЦЕПИТЬ(C4;», «;D4).

Научитесь: Excel + Google Таблицы с нуля до PRO
Узнать больше

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Еще…Меньше

Функция CONCAT объединяет текст из нескольких диапазонов и (или) строк, но не предоставляет аргументы delimiter или IgnoreEmpty. 

Функция CONCAT заменяет функцию CONCATENATE. Функция СЦЕПИТЬ (CONCATENATE) также будет поддерживаться для совместимости с более ранними версиями Excel. 

Синтаксис

СЦЕПИТЬ(текст1; [текст2]; …)

Аргумент

Описание

text1

(обязательно)

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

[text2, …]

(необязательно)

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

Например, выражение =СЦЕП(«Не»;» «;»слышны»;» «;»в»;» «;»саду»;» «;»даже»;» «;»шорохи.») вернет строку Не слышны в саду даже шорохи.

Совет: Чтобы включить разделители (например, интервалы или амперсанды (&)) между текстом, который требуется объединить, и удалить пустые аргументы, которые не должны отображаться в объединенном текстовом результате, можно использовать функцию TEXTJOIN.

Примечания

  • Если объединенная строка содержит свыше 32767 символов (ограничение для ячейки), функция СЦЕП вернет ошибку #ЗНАЧ!.

Примеры

Скопируйте данные примеров из приведенных ниже таблиц и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Пример 1

=СЦЕПИТЬ(B:B; C:C)

A’s

B’s

a1

b1

a2

b2

a4

b4

a5

b5

a6

b6

a7

b7

Так как эта функция допускает ссылки на целый столбец и строку, она возвращает следующий результат: A’sa1a2a4a5a6a7B’sb1b2b4b5b6b7

Пример 2

=СЦЕПИТЬ(B2:C8)

A’s

B’s

a1

b1

a2

b2

a4

b4

a5

b5

a6

b6

a7

b7

Результат: a1b1a2b2a4b4a5b5a6b6a7b7

Пример 3

Данные

Имя

Фамилия

вида

Виталий

Токарев

речная форель

Fourth

Pine

32

Формула

Описание

Результат

=СЦЕПИТЬ(«Популяция рек для «;A2;» «;A3;» составляет «;A4;» на километр.»)

Создает предложение, объединяя данные в столбце А с остальным текстом.

Популяция рек для вида речная форель составляет 32 на километр.

=СЦЕПИТЬ(B2;» «; C2)

Объединяет строку в ячейке В2, пробел и значение в ячейке С2.

Виталий Токарев

=СЦЕПИТЬ(C2; «, «; B2)

Объединяет текст в ячейке C2, строку, состоящую из запятой и пробела, и значение в ячейке B2.

Токарев, Виталий

=СЦЕПИТЬ(B3;» & «; C3)

Объединяет строку в ячейке B3, строку, состоящую из пробела, амперсанда и еще одного пробела, и значение в ячейке C3.

Fourth & Pine

=B3 & » & » & C3

Объединяет те же элементы, что и в предыдущем примере, но с помощью оператора & (амперсанд) вместо функции СЦЕПИТЬ.

Fourth & Pine

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Функция СЦЕПИТЬ

Функция ОБЪЕДИНИТЬ

Общие сведения о формулах в Excel

Рекомендации, позволяющие избежать появления неработающих формул

Поиск ошибок в формулах

Сочетания клавиш и горячие клавиши в Excel

Текстовые функции (справочник)

Функции Excel (по алфавиту)

Функции Excel (по категориям)

Нужна дополнительная помощь?


Иногда для удобства требуется объединить три и более списка значений в один.

Пусть дано 5 списков и все они разной длины (см. Файл примера ).

Задача

Объединим все значения из 5 списков в один. Задача объединения 2-х списков решена в одноименной

статье

.

Решение1 (Простое)

Объединенный спискок будем строить на основе функции СМЕЩ()

=СМЕЩ(заголовок первого списка;Номер элемента в списке;Номер списка-1)

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

Эта таблица позволит нам сопоставить каждой позиции объединенного списка Номер исходного списка:

=ГПР(СТРОКА()-СТРОКА($H$11);$B$7:$F$8;2;ИСТИНА)

  • выражение СТРОКА()-СТРОКА($H$11) генерирует последовательность 1; 2; 3; 4…
  • функция ГПР() — горизонтальный аналог ВПР() выбирает по позиции первого элемента каждого списка в объединенном списке номер исходного списка.

Номер списка является смещением по столбцам в формуле на основе СМЕЩ()

Подробности можно посмотреть в файле примера на листе Пример2.

Решение2 (сложное, с формулами массива и именованными формулами)

Сначала создадим

именованный диапазон

, содержащий значения из всех списков. Для этого:

  • выделите, диапазон

    A

    2:

    E

    10

    ;
  • на вкладке

    Формулы

    в группе

    Определенные имена

    выберите команду

    Присвоить имя

    ;
  • в поле

    Имя

    введите:

    Диапазон_Списков

    ;
  • убедитесь, что в поле

    Диапазон

    введена формула =пример!$A$2:$E$10
  • нажмите ОК.

Для вывода всех значений из 5 списков в один столбец будем использовать функцию ИНДЕКС() . Эта функция будет последовательно выводить значения из всех ячеек диапазона

Диапазон_Списков

на основании их номера столбца и номера строки. Осталось только определить адреса не пустых ячеек.

Создадим массив пар (номер столбца; номер строки) для всех ячеек диапазона. Для этого применим трюк: значения пары будем хранить в виде обычного числа, но формировать его будем по определенному правилу: правая часть числа будет содержать номер строки (для этого выделяется два разряда, т.е. максимальная длина списка может быть 99), а левая часть числа будет содержать номер столбца. Например, число 512 будет означать: 5-й столбец, 12-ая строка. Естественно, при необходимости можно увеличить разрядность для хранения номеров строк (формула из файла примера позволяет столбцам иметь до 9999 строк).

Технически осуществим это так. Сначала определим номер столбца и строки левого верхнего угла нашего

Диапазона_Списков

. Для этого создайте две

именованные формулы

=МИН(СТОЛБЕЦ(Диапазон_Списков)) и =МИН(СТРОКА(Диапазон_Списков))

Создайте еще одну

именованную формулу

Адреса:

=ЕСЛИ(ЕПУСТО(Диапазон_Списков);»»; —((СТОЛБЕЦ(Диапазон_Списков)-Мин_Столбец+1)&ВЫБОР(ДЛСТР(СТРОКА(Диапазон_Списков)-Мин_Строка+1);»0″;»»)&СТРОКА(Диапазон_Списков)-Мин_Строка+1))

Эта формула вернет массив адресов из нашего диапазона {101;201;301;401;501: 102;202;302;»»;502: 103;203;303;»»;503: 10…}. Вместо адресов пустых ячеек в массиве содержатся значения

Пустой текст

(«»). Номера столбцов и строк отсчитываются от левой верхней ячейки

Диапазона_список

.

Заключительный этап. Формируем объединенный список. Запишем в ячейке следующую формулу: =ЕСЛИОШИБКА(ИНДЕКС(Диапазон_Списков; —ПРАВСИМВ(НАИМЕНЬШИЙ(Адреса;СТРОКА(Z1));2);—ЛЕВСИМВ(НАИМЕНЬШИЙ(Адреса;СТРОКА(Z1)); ДЛСТР(НАИМЕНЬШИЙ(Адреса;СТРОКА(Z1)))-2));»»)

Функция НАИМЕНЬШИЙ() будет последовательно извлекать все числа, содержащие адреса ячеек. Функция ПРАВСИМВ() будет извлекать из этих чисел номер строки, а функция ЛЕВСИМВ() – номер столбца. Эти две функции возвращают текстовые значения, поэтому применим двойное отрицание (—), чтобы преобразовать текст в число (см. статью

Преобразование чисел из текстового формата в числовой (часть 1)

).

Таким образом можно объединить нужное количество столбцов, каждый из которых длиной не более 99 строк.

Для объединения столбцов, каждый из которых длиной не более 9999 строк нужно использовать формулу

=ЕСЛИОШИБКА(ИНДЕКС(Диапазон_Списков;—ПРАВСИМВ(НАИМЕНЬШИЙ(Адреса;СТРОКА(Z1));4);—ЛЕВСИМВ(НАИМЕНЬШИЙ(Адреса;СТРОКА(Z1));ДЛСТР(НАИМЕНЬШИЙ(Адреса;СТРОКА(Z1)))-4));»»)

Именованную формулу

Адреса

также придется подкорректировать:

=ЕСЛИ(ЕПУСТО(Диапазон_Списков);»»;—((СТОЛБЕЦ(Диапазон_Списков)-Мин_Столбец+1)&ВЫБОР(ДЛСТР(СТРОКА(Диапазон_Списков)-Мин_Строка+1);»000″;»00″;»0″;»»)&СТРОКА(Диапазон_Списков)-Мин_Строка+1))


Примечание

: при объединении большого количества столбцов с количеством строк >100, расчет формулы может притормаживать.

Хитрости »

5 Август 2013              151267 просмотров


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

Часто бывает ситуация, когда необходимо из трех разных столбцов сцепить данные в одну строку с разделителем. Допустим в А1 Фамилия, в В1Имя, в С1Отчество, а надо получить все вместе Фамилия Имя Отчество. Как обычно в Excel объединяют значения нескольких ячеек в одну? Правильно, при помощи функции СЦЕПИТЬ или при помощи амперсанда:
=СЦЕПИТЬ(A1;» «;B1;» «;C1;» «)
=A1&» «&B1&» «&C1&» «
Это достаточно эффективно, если необходимо сцепить значения из трех-пяти ячеек. А если ячеек 50? Или того больше? Не очень удобно объединять их все описанными выше способами. А других встроенных функций в Excel для подобных операций не существует. С момента написания статьи Microsoft порадовал нас новыми функциями и теперь в составе функций есть функция ОБЪЕДИНИТЬ(TEXTJOIN), которая способна решить задачу без лишних телодвижений.
=ОБЪЕДИНИТЬ(«, «;ИСТИНА;A2:A100)
=TEXTJOIN(«, «,TRUE,A2:A100)

    Разделитель(«, «) — разделитель, с которым объединять текст из указанных ячеек
    Пропускать пустые(ИСТИНА) — указывает пропускать ли пустые ячейки. Т.е. если указано ИСТИНА или 1(а так же если аргумент вовсе не указан) — пустые ячейки будут пропускаться и не попадут в общую строку сцепки. Если указано ЛОЖЬ — сцепляться будут все ячейки, независимо от их содержимого. Например, если указать три ячейки A1:A3 в которых А2 пустая, то при указании ИСТИНА результат будет таким: «один, два». Если указать ЛОЖЬ, то пустая ячейка тоже попадет в сцепку: «один, , два».
    Так же этот аргумент удобен, если неизвестен заранее размер диапазона сцепления. Можно указать ячейки чуть с запасом(A1:A300) и тогда сцепляться будут только ячейки заполненного диапазона.
    Текст(A2:A100) — указывается непосредственно диапазон либо текст для сцепления. Этот аргумент расширяемый — т.е. можно указать не один диапазон, а несколько или просто текст: =ОБЪЕДИНИТЬ(«, «;ИСТИНА;A2:A100;B2:B70;»текст»)

Правда и здесь не все так радужно: эта функция доступна только пользователям версий 2019 и выше, а так же офиса 365.


Поэтому я написал функцию пользователя, которая сцепляет данные из указанных ячеек в одну строку и использовать её можно в любой версии офиса. Чем отличается от стандартной функции СЦЕПИТЬ()? Тем, что в качестве ячеек для сцепки указывается не каждая из ячеек по очереди, а сразу весь диапазон с возможностью указания разделителя между значениями каждой ячейки. Так же, в функции сразу заложен алгоритм пропуска пустых ячеек и возможность сцеплять исключительно уникальные значения — т.е. в результате будут сцепляться только те ячейки, значения которых ранее еще не были добавлены в сцепку.

Option Explicit
'---------------------------------------------------------------------------------------
' Procedure : СцепитьМного
'             http://www.excel-vba.ru
' Purpose   : Функция сцепляет все указанные ячейки в одну с указанным разделителем.
' Аргументы функции:
' Диапазон    — диапазон ячеек, значения которых необходимо объединить в строку.
' Разделитель — необязательный аргумент.
'               Один или несколько символов, которые будут вставлены между каждым словом.
'               По умолчанию пробел.
' БезПовторов — необязательный аргумент.
'               Если указан как ИСТИНА или 1 — в результирующей строке будут значения без дубликатов.
'               Для английской локализации данный параметр указывается как TRUE и FALSE соответственно.
'---------------------------------------------------------------------------------------
Function СцепитьМного(Диапазон As Range, Optional Разделитель As String = " ", Optional БезПовторов As Boolean = False)
    Dim avData, lr As Long, lc As Long, sRes As String
    Dim oDict As Object, sTmpStr
    Set oDict = CreateObject("Scripting.Dictionary")
    oDict.comparemode = 1
 
    avData = Диапазон.Value
    If Not IsArray(avData) Then
        СцепитьМного = avData
        Exit Function
    End If
 
    For lc = 1 To UBound(avData, 2)
        For lr = 1 To UBound(avData, 1)
            If Len(avData(lr, lc)) Then
                sRes = sRes & Разделитель & avData(lr, lc)
                If БезПовторов Then
                    If Not oDict.exists(avData(lr, lc)) Then
                        oDict.Add avData(lr, lc), 0&
                    End If
                End If
            End If
        Next lr
    Next lc
    If Len(sRes) Then
        sRes = Mid(sRes, Len(Разделитель) + 1)
    End If
 
    If БезПовторов Then
        sRes = ""
        sTmpStr = oDict.keys
        For lr = LBound(sTmpStr) To UBound(sTmpStr)
            sRes = sRes & IIf(sRes <> "", Разделитель, "") & sTmpStr(lr)
        Next lr
    End If
    СцепитьМного = sRes
End Function

Чтобы правильно использовать приведенный код, необходимо сначала ознакомиться со статьей Что такое функция пользователя(UDF)?. Вкратце: скопировать текст кода выше, перейти в редактор VBA(Alt+F11) -создать стандартный модуль(InsertModule) и в него вставить скопированный текст. После чего функцию можно будет вызвать из Диспетчера функций(Shift+F3), отыскав её в категории Определенные пользователем (User Defined Functions).

Синтаксис функции:
=СцепитьМного(A2:A100;», «;ИСТИНА)

Диапазон — диапазон ячеек, значения которых необходимо объединить в строку.
Разделитель — необязательный аргумент. Один или несколько символов, которые будут вставлены между каждым словом. По умолчанию пробел.
БезПовторов — необязательный аргумент. Если указан как ИСТИНА или 1 — в результирующей строке будут значения без дубликатов. Например, из значений Сидоров, Петров, Сидоров, Иванов в результат попадут только Сидоров, Петров, Иванов. Если ЛОЖЬ или 0 — будут выведены все значения. Для английской локализации данный параметр указывается как TRUE и FALSE соответственно.

Скачать пример

  СцепитьМного.xls (52,5 KiB, 11 996 скачиваний)


Если необходимо объединять значения ячеек из «рваных»(несмежных) диапазонов(выделенных через Ctrl), то код нужно немного изменить:

Option Explicit
'---------------------------------------------------------------------------------------
' Procedure : СцепитьМного
'             http://www.excel-vba.ru
' Purpose   : Функция сцепляет все указанные ячейки в одну с указанным разделителем. Допускается указание несмежных диапазонов
' Аргументы функции:
' Диапазон    — диапазон ячеек, значения которых необходимо объединить в строку.
' Разделитель — необязательный аргумент.
'               Один или несколько символов, которые будут вставлены между каждым словом.
'               По умолчанию пробел.
' БезПовторов — необязательный аргумент.
'               Если указан как ИСТИНА или 1 — в результирующей строке будут значения без дубликатов.
'               Для английской локализации данный параметр указывается как TRUE и FALSE соответственно.
'---------------------------------------------------------------------------------------
Function СцепитьМного(диапазон As Range, Optional разделитель As String = " ", Optional БезПовторов As Boolean = False)
    Dim avData, lr As Long, lc As Long, sRes As String
    Dim ra As Range
 
    For Each ra In диапазон.Areas
      avData = ra.Value
      If Not IsArray(avData) Then
          ReDim avData(1 To 1, 1 To 1)
          avData(1, 1) = ra.Value
      End If
 
      For lc = 1 To UBound(avData, 2)
          For lr = 1 To UBound(avData, 1)
              If Len(avData(lr, lc)) Then
                  sRes = sRes & разделитель & avData(lr, lc)
              End If
          Next lr
      Next lc
    Next
    If Len(sRes) Then
        sRes = Mid(sRes, Len(разделитель) + 1)
    End If
 
    If БезПовторов Then
        Dim oDict As Object, sTmpStr
        Set oDict = CreateObject("Scripting.Dictionary")
        sTmpStr = Split(sRes, разделитель)
        On Error Resume Next
        For lr = LBound(sTmpStr) To UBound(sTmpStr)
            oDict.Add sTmpStr(lr), sTmpStr(lr)
        Next lr
        sRes = ""
        sTmpStr = oDict.Keys
        For lr = LBound(sTmpStr) To UBound(sTmpStr)
            sRes = sRes & IIf(sRes <> "", разделитель, "") & sTmpStr(lr)
        Next lr
    End If
    СцепитьМного = sRes
End Function

Однако в таком случае слегка изменится и синтаксис — такие диапазоны обязательно надо будет записывать в скобках:
Синтаксис функции:
=СцепитьМного((A2:A100;F4:F60;Y2:Z43);», «;ИСТИНА)
Иначе функция просто не сработает и выдаст ошибку #ЗНАЧ!(#VALUE!)


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

Function ОбъединитьВсеСРазделителем(Разделитель As String, ParamArray Значения()) As String
    Dim result As String, arg, x, rc As Range
    For Each arg In Значения
        Select Case TypeName(arg)
        Case "Range"                     'это диапазон
            'цикл по всем ячейкам
            For Each rc In arg.Cells
                If result = "" Then
                    result = rc.Value
                Else
                    result = result & Разделитель & rc.Value
                End If
            Next
        Case "Variant()"                 'это произвольный массив({"а";"б";"в"})
            'цикл по всем ячейкам
            For Each x In arg
                If result = "" Then
                    result = x
                Else
                    result = result & Разделитель & x
                End If
            Next
        Case Else 'это любой другой тип
            'суммируем
            If result = "" Then
                result = arg
            Else
                result = result & Разделитель & arg
            End If
        End Select
    Next
    ОбъединитьВсеСРазделителем = result
End Function

Также см.:
Сцепить_МН
Как сцепить несколько значений в одну ячейку по критерию? СцепитьЕсли
Что такое функция пользователя(UDF)?


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Skip to content

СЦЕПИТЬ в Excel: как объединять текстовые строки, ячейки и столбцы

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

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

  • Что такое «сцепить» в Excel?
  • Функция СЦЕПИТЬ
  • Функция СЦЕП
  • 6 вещей, о которых нужно помнить при объединении данных
  • Объединение значений нескольких ячеек
  • Объединение текстовой строки и значения ячейки
  • Как сцепить текст и значение, рассчитанное по формуле
  • Оператор «&» для объединения строк в Excel
  • Как сцепить ячейки с пробелами, запятой или другими символами
  • Как построчно объединить столбцы в Excel
  • Как сцепить диапазон ячеек в Excel
  • Как сцепить текст, число и дату в различных форматах
  • Надстройка «Объединить ячейки» — способ сцепить ячейки в Excel без использования формул

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

Что такое «сцепить» в Excel?

По сути, существует два способа объединения данных в ячейках электронных таблиц Excel:

  • Объединить ячейки
  • Объединить значения ячеек

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

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

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

На следующем скриншоте показана разница между этими двумя методами:

Объединение ячеек в Excel является предметом отдельной статьи, и в этом руководстве мы рассмотрим два основных способа объединения строк в Excel — с помощью функции СЦЕПИТЬ и оператора Excel &.

Функция СЦЕПИТЬ

Функция СЦЕПИТЬ (CONCATENATE на английском) в Excel предназначена для объединения разных фрагментов текста или объединения значений из нескольких ячеек в одну ячейку.

Синтаксис её следующий:

СЦЕПИТЬ(текст1; [текст2]; …)

Где текст — это текстовая строка, ссылка на ячейку или значение, определяемое формулой.

Функция СЦЕПИТЬ поддерживается во всех версиях Excel для Microsoft 365, Excel 2019 — Excel 2007.

Примечание. В Excel 365 — Excel 2019 также доступна функция СЦЕП (CONCAT на английском), которая является современным преемником СЦЕПИТЬ с точно таким же синтаксисом. Функция СЦЕПИТЬ сохранена для обратной совместимости, и Microsoft не обещает, что она будет поддерживаться в будущих версиях Excel.

Функция СЦЕП

Функция СЦЕП (CONCAT в английской версии)  в Excel используется для объединения данных из нескольких ячеек или диапазонов в одну ячейку.

Она относится к категории текстовых функций и доступна в Excel для Microsoft 365, Excel 2021, Excel 2019 и Excel для Интернета.

Синтаксис её простой:

СЦЕП(текст1; [текст2]; …)

Где текст1 (обязательный аргумент) и текст2 (необязательный) — данные, которые нужно соединить.

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

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

=СЦЕП(«john»; «@gmail.com»)

6 вещей, о которых нужно помнить при объединении данных

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

  1. Для работы функций СЦЕПИТЬ и СЦЕП требуется хотя бы один текстовый аргумент. Если какой-либо из аргументов недействителен (например, представлен другой функцией, которая выдает ошибку), то произойдет ошибка.
  2. Результатом этих функций всегда является текстовая строка, даже если вы объединяете числа.
  3. Если результирующая строка превышает 32 767 символов, возникает ошибка #ЗНАЧ! .
  4. В СЦЕПИТЬ и СЦЕП нет предопределенного параметра для разделителя между объединяемыми значениями. Чтобы разделить объединенные фрагменты текста, поместите разделители между ссылками на ячейки, например:

=СЦЕП(A1;” “;A2;”-“;A3)

  1. Пустые ячейки игнорируются.
  2. Функция СЦЕПИТЬ не распознает массивы. Каждая ссылка на ячейку должна быть указана отдельно. Например, вы должны написать 

=СЦЕПИТЬ(A1; A2; A3) вместо =СЦЕПИТЬ(A1:A3).

Ниже вы найдете несколько примеров использования функций объединения данных в Excel.

Объединение значений нескольких ячеек

Простейшая формула для объединения значений ячеек A1 и B1 выглядит следующим образом:

=СЦЕПИТЬ(A1; B1)

=СЦЕП(A1; B1)

Обратите внимание, что значения будут соединяться вместе без какого-либо разделителя, как в строке 2 на скриншоте ниже.

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

=СЦЕПИТЬ(A3;B3)

Чтобы разделить составные значения с помощью других разделителей, таких как запятая, пробел или косая черта, см. раздел Как СЦЕПИТЬ формулы со специальными символами.

Объединение текстовой строки и значения ячейки

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

=СЦЕПИТЬ(A9;B9;» завершено»)

Приведенная выше формула информирует пользователя о том, что определенное задание завершено, как в строке 9 на скриншоте выше. Обратите внимание, что мы добавляем пробел перед словом «завершено», чтобы разделить объединенные текстовые строки.

Естественно, вы также можете добавить текстовую строку в начале или в середине формулы:

=СЦЕПИТЬ(«Смотри «;A10; » «; B10)

Пробел («») добавляется между объединенными значениями, чтобы результат отображался как «Задание 1», а не «Задание1».

Объединение текста и значения, рассчитанного по формуле

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

Например, вы можете использовать следующую формулу для возврата текущей даты:

=СЦЕПИТЬ(«Сегодня «; ТЕКСТ(СЕГОДНЯ(); «dd-mmm-yy»))

Совет. Если вы хотите удалить исходные данные, не затрагивая результирующие текстовые строки, используйте «Специальная вставка — только значения», чтобы преобразовать формулы в их значения. 

Оператор «&» для объединения строк в Excel

В Microsoft Excel оператор & — это еще один способ объединения ячеек. Этот метод очень удобен во многих случаях, потому что ввод знака амперсанда (&) намного быстрее, чем ввод слова «СЦЕПИТЬ» :)

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

Примеры формул Excel «&»

Чтобы увидеть оператор объединения в действии, давайте перепишем формулы, рассмотренные чуть выше:

Объедините значения в A1 и B1:

=A1&B1

Объедините значения в A1 и B1, разделенные пробелом:

=A1&» «&B1

Объедините значения в A1, B1 и текстовую строку:

=A1 & B1 & » завершено»

Объедините строку и результат функции ТЕКСТ / СЕГОДНЯ:

=»Сегодня » & ТЕКСТ(СЕГОДНЯ(), «dd-mmm-yy»)

Функция СЦЕПИТЬ и оператор «&» возвращают совершенно идентичные результаты.

Оператор Excel «&» против функции СЦЕПИТЬ

Многие пользователи задаются вопросом, какой способ объединения строк в Excel более эффективен — функция СЦЕПИТЬ или оператор «&».

Единственным существенным различием между оператором СЦЕПИТЬ и оператором «&» является ограничение в 255 строк функции СЦЕПИТЬ в Excel и отсутствие таких ограничений при использовании амперсанда. Кроме этого, нет никакой разницы между этими двумя методами слияния, а также нет отличий в скорости между формулами СЦЕПИТЬ и «&».

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

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

Как сцепить ячейки с пробелами, запятой или другими символами

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

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

Как сцепить две ячейки с пробелом:

=СЦЕПИТЬ(A1; » «; B1)

или

=A1 & » » & B1

Объединение двух ячеек с запятой:

=СЦЕПИТЬ(A1; «, «; B1)

или

=A1 & «, » & B1

Объединение двух ячеек с дефисом:

=СЦЕПИТЬ(A1; «-«; B1)

или

=A1 & «-» & B1

На этом скриншоте показано, как могут выглядеть результаты:

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

Проблема в том, что вы не можете просто ввести в формулу перенос строки, как обычный символ, и поэтому необходима специальная функция СИМВОЛ для подачи соответствующего ASCII-кода в формулу:

  • В Windows используйте СИМВОЛ(10), где 10 — это код ASCII для перевода строки.
  • В системе Mac используйте СИМВОЛ(13), где 13 — код ASCII для возврата каретки.

В этом примере у нас есть фрагменты адреса в столбцах от A до F, и мы объединяем их в столбце G с помощью оператора «&». Сцепленные значения разделяются запятой («,»), пробелом (» «) и разрывом строки СИМВОЛ(10):

=A2&» «&B2&СИМВОЛ(10)&C2&СИМВОЛ(10)&D2&», «&E2&» «&F2

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

Таким же образом вы можете разделить объединенные данные другими символами, такими как:

  • Двойные кавычки («») — СИМВОЛ(34)
  • Косая черта (/) — СИМВОЛ(47)
  • Звездочка (*) — СИМВОЛ(42)
  • Полный список кодов ASCII доступен здесь .

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

В любом случае, все приведенные ниже формулы дают одинаковые результаты:

=A1 & СИМВОЛ(47) & B1

=A1 & «/» & B1

=СЦЕПИТЬ(A1; СИМВОЛ(47); B1)

=СЦЕПИТЬ(A1; «/»; B1)

Как построчно объединить столбцы в Excel

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

Например, чтобы объединить два столбца (столбец A и B), разделяя значения пробелом, введите следующую формулу в ячейку C2, а затем скопируйте ее в другие ячейки. Когда вы перетаскиваете маркер заполнения, чтобы скопировать формулу, указатель мыши принимает форму креста, как показано ниже:

Совет. Быстрый способ скопировать формулу в другие ячейки столбца — выделить ячейку с формулой и дважды щелкнуть маркер заполнения.

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

Как сцепить диапазон ячеек в Excel

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

Чтобы объединить все значения из диапазона ячеек, скажем, от A1 до A4, вам понадобится одна из следующих формул:

=СЦЕПИТЬ(A1; A2; A3; A4)
или

=A1 & A2 & A3 & A4

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

1. Нажмите CTRL, чтобы выбрать несколько ячеек для объединения.

Чтобы быстро выбрать несколько ячеек, вы можете нажать клавишу CTRL и кликнуть мышкой каждую ячейку, которую хотите включить в формулу СЦЕПИТЬ. Вот подробные шаги:

  1. Выберите ячейку, в которую вы хотите ввести формулу.
  2. Введите =СЦЕПИТЬ( в этой ячейке или в строке формул.
  3. Нажмите и удерживайте Ctrl и кликните последовательно на каждую ячейку, которую вы хотите объединить.
  4. Отпустите Ctrl, введите закрывающую скобку в строке формул и нажмите ENTER.

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

2. Используйте функцию ТРАНСП, чтобы получить диапазон

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

  1. В ячейку, куда вы хотите записать результат объединения, введите формулу ТРАНСП, например:

=ТРАНСП(A1:A10)

  • Установите курсор в строку формул и нажмите F9, чтобы заменить это выражение вычисленными значениями. В результате у вас будет массив значений для объединения.
  • Удалите фигурные скобки, окружающие значения массива.

  • Введите =СЦЕПИТЬ( перед первым значением, затем введите закрывающую скобку после последнего значения и нажмите Enter.

Примечание. Какой бы метод вы ни использовали, итоговое значение в C1 представляет собой текстовую строку (обратите внимание на ее выравнивание по левому краю в ячейке), даже если каждое из исходных значений является числом. Это связано с тем, что функция СЦЕПИТЬ всегда возвращает текстовую строку независимо от типа исходных данных.

3. Сцепить два или более столбца

А сейчас рассмотрим функцию СЦЕП, которая позволяет гораздо проще и быстрее сцепить несколько ячеек, строк или столбцов.

Чтобы объединить столбцы построчно, вам нужно сделать следующее:

  • Напишите формулу СЦЕП для объединения ячеек в первой строке.
  • Скопируйте формулу на столько строк, сколько необходимо.

Например, чтобы объединить текст в столбцах A, B, C и D в каждой строке, введите эту формулу в E2:

=СЦЕП(A2:D2)

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

Из-за использования относительных ссылок формула корректируется соответствующим образом для каждой строки. То есть в E3 ссылка изменится на A3:В3, и так далее.

Чтобы объединить значения из всех ячеек в определенном столбце, укажите ссылку на столбец в формуле СЦЕП. Например:

=СЦЕП(A:A)

Поскольку функция пропускает пустые ячейки, в результирующей строке не будет пробелов:

Чтобы объединить все ячейки в столбце, кроме заголовка, используйте ссылку на диапазон, например A2:A1048576, где A2 — первая ячейка с данными, а A1048576 — последняя ячейка в столбце:

=СЦЕП(A2:A1048576)

Примечание. При объединении всех ячеек в столбце имейте в виду, что Excel имеет ограничение на общее количество символов, которое может содержать ячейка — до 32 767. Если результирующая строка превышает этот предел, ваша формула выдаст ошибку #ЗНАЧ!.

4. Сцепить диапазон ячеек

Объединение диапазона ячеек в Excel раньше было проблемой. Теперь вы можете просто поместить ссылку на диапазон в функцию СЦЕП:

=СЦЕП(A2:C3)

В результате все значения из указанного диапазона объединяются слева направо и затем вниз до следующей строки:

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

=СЦЕП(A2:C3; A5:C6)

Как видно из этих примеров, использование функции СЦЕП намного предпочтительнее и проще.

Как сцепить текст, число и дату в различных форматах

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

Функция ТЕКСТ([значение], [формат_текста]) имеет два аргумента:

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

Во втором аргументе ( [формат_текста] ) вы вводите желаемый формат, используя коды, которые может понять функция ТЕКСТ.

Мы уже рассматривали ранее, что если нужно сцепить дату и текст, то приходится использовать функцию ТЕКСТ для отображения даты в нужном формате. Например:

=СЦЕПИТЬ(«Сегодня «; ТЕКСТ(СЕГОДНЯ(); «dd-mmm-yy»))

или

=»Сегодня «& ТЕКСТ(СЕГОДНЯ(); «dd-mmm-yy»)

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

Вы это можете видеть на скриншоте ниже.

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

=A2 & » » & ТЕКСТ(B2; «$# ##0,0»)  – отображать число с одним знаком после запятой и знаком $.

=A2 & » » & ТЕКСТ(B2; «₽# ##0,0») – отображает число и  знак рубля ₽.

=A2&» «&ТЕКСТ(B2;»#__?/10»)  – отображать число в виде дроби.

СЦЕП против СЦЕПИТЬ в Excel

Фактически, функция СЦЕП является заменой СЦЕПИТЬ в новых версиях Excel. Хотя старая функция по-прежнему поддерживается из соображений совместимости, вместо нее рекомендуется использовать более новую функцию.

С технической точки зрения существует два основных различия между СЦЕП и СЦЕПИТЬ в Excel:

  1. Прежде всего, функция СЦЕП преодолевает самое большое ограничение своего предшественника — невозможность обработки диапазона ячеек. В отличие от функции СЦЕПИТЬ, она может объединять все значения в диапазоне, избавляя вас от необходимости указывать каждую ссылку на ячейку по отдельности.
  2. Функция СЦЕП доступна только в Excel 365, Excel 2021, Excel 2019 (Windows и Mac) и Excel Online. Функция СЦЕПИТЬ поддерживается во всех версиях Excel с 2007 по 365.

Во всем остальном эти две функции по существу одинаковы.

Надстройка «Объединить ячейки» — способ сцепить ячейки в Excel без использования формул

С надстройкой «Объединить ячейки», включенной в Ultimate Suite for Excel , вы можете эффективно выполнять следующие задачи:

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

Инструмент «Объединить ячейки» работает со всеми версиями Excel и может объединять все типы данных, включая текстовые строки, числа, даты и специальные символы. Два его ключевых преимущества — простота и скорость — любое объединение делается в пару кликов. А теперь позвольте мне показать вам это в действии.

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

  • Ячейки в одну под » Как сцепить «;
  • Выберите нужный разделитель в разделе « Разделить значения с помощью », в данном примере это точка с запятой и пробел;
  • Выберите, где вы хотите разместить результат;
  • И самое главное – снимите флажок «Объединить все области в выделенном». Именно этот параметр определяет, объединяются ли сами ячейки или только сцепляются их значения.

Процесс вы видите на скриншоте ниже.

Вот сам результат:

Чтобы объединить два или более столбца, вы настраиваете параметры «Ячейки слияния» аналогичным образом, но выбираете «Столбцы» в разделе « Что объединять»:

Чтобы проверить, как надстройка Merge Cells будет работать с вашими наборами данных, вы можете использовать эту ссылку для загрузки полнофункциональной пробной версии Ultimate Suite для Excel.

Возможно, эти статьи вам будут интересны:

Как быстро посчитать количество слов в Excel В статье объясняется, как подсчитывать слова в Excel с помощью функции ДЛСТР в сочетании с другими функциями Excel, а также приводятся формулы для подсчета общего количества или конкретных слов в…
Как быстро извлечь число из текста в Excel В этом кратком руководстве показано, как можно быстро извлекать число из различных текстовых выражений в Excel с помощью формул или специального инструмента «Извлечь». Проблема выделения числа из текста возникает достаточно…
Функция ПРАВСИМВ в Excel — примеры и советы. В последних нескольких статьях мы обсуждали различные текстовые функции. Сегодня наше внимание сосредоточено на ПРАВСИМВ (RIGHT в английской версии), которая предназначена для возврата указанного количества символов из крайней правой части…
Функция ЛЕВСИМВ в Excel. Примеры использования и советы. В руководстве показано, как использовать функцию ЛЕВСИМВ (LEFT) в Excel, чтобы получить подстроку из начала текстовой строки, извлечь текст перед определенным символом, заставить формулу возвращать число и многое другое. Среди…
5 примеров с функцией ДЛСТР в Excel. Вы ищете формулу Excel для подсчета символов в ячейке? Если да, то вы, безусловно, попали на нужную страницу. В этом коротком руководстве вы узнаете, как использовать функцию ДЛСТР (LEN в английской версии)…
Как быстро сосчитать количество символов в ячейке Excel В руководстве объясняется, как считать символы в Excel. Вы изучите формулы, позволяющие получить общее количество символов в диапазоне и подсчитывать только определенные символы в одной или нескольких ячейках. В нашем предыдущем…
Объединение ячеек в Excel без потери данных В руководстве описываются различные методы быстрого объединения двух или нескольких ячеек в Excel без потери данных. В таблицах Эксель вам часто может потребоваться соединить две или более ячейки в одну…
Как преобразовать текст в число в Excel — 10 способов. В этом  руководстве показано множество различных способов преобразования текста в число в Excel: опция проверки ошибок в числах, формулы, математические операции, специальная вставка и многое другое. Иногда значения в ваших…

Понравилась статья? Поделить с друзьями:
  • Объединение листов excel в один макросом
  • Объединение книг с листами в excel
  • Объединение книг excel в одну книгу файлов
  • Объединение источников данных excel
  • Объеденить ячейки в excel