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

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

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

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

По сути, существует два способа объединения данных в таблицах:

  • соединить ячейки,
  • соединить их содержимое.

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

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

Объединение ячеек в Excel является темой отдельной статьи. А в этом руководстве мы рассмотрим два основных способа слияния их содержимого - с помощью функции СЦЕПИТЬ (CONCATENATE в английской версии), ОБЪЕДИНИТЬ ( или TEXTJOIN) и СЦЕП ( или CONCAT), а также оператора &.

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

Синтаксис её выглядит следующим образом:

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

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

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

Как сцепить несколько ячеек.

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

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

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

Чтобы разделить их пробелом, введите “ “ во втором аргументе, как в строке 4.

=СЦЕПИТЬ(A4, " ", B4)

Чтобы разделить объединенные значения с другими разделителями, такими как запятая, пробел или косая черта, смотрите здесь.

Объединение текстовой строки и ссылки.

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

=СЦЕПИТЬ(A3;B3;" выполнено")

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

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

=СЦЕПИТЬ("Смотри ";A4; " "; B4)

Между объединенными элементами добавляется пробел (" "), поэтому результат отображается как "задание 2", а не "задание2".

Объединение текстовой строки и вычисляемой формулы

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

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

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

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

  • Для ее работы требуется как минимум один текстовый аргумент.
  • В одной формуле вы можете соединить до 255 элементов, всего 8 192 символа.
  • Результатом всегда является текст, даже если все исходные элементы являются числами.
  • Она не распознает массивы. Каждая ссылка должна быть указана отдельно. Например, вы должны написать 

=СЦЕПИТЬ(A1, A2, A3) 

вместо   

=СЦЕПИТЬ(A1:A3)

  • Если хотя бы один из аргументов функции СЦЕПИТЬ недопустим, выражение возвращает ошибку #ЗНАЧ!

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

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

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

Чтобы увидеть оператор конкатенации в действии, давайте перепишем примеры, уже рассмотренные выше:

Слить вместе A1 и B1:

=A1&B1

Соедините A1 и B1 через пробел:

=A1&" "&B1

Соединить A1, B1 и текст:

=A1 & B1 & " выполнено"

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

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

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

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

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

Единственное существенное отличие между ними - это максимальное ограничение в 255 аргументов функции СЦЕПИТЬ и отсутствие таких ограничений при использовании амперсанда. 

Кроме этого, нет никакой разницы между этими двумя методами конкатенации, и нет никакой разницы в скорости работы между СЦЕПИТЬ и "&".

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

Объединить с пробелом, запятой и другими символами

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

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

Так можно сцепить с пробелом:

=СЦЕПИТЬ(A1; " "; B1)   или   =A1 & " " & B1

Объединение через запятую:

=СЦЕПИТЬ(A1; ", "; B1)   или   =A1 & ", " & B1

Соединяем с дефисом:

=СЦЕПИТЬ(A1; "-"; B1)   или    =A1 & "-" & B1

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

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

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

Проблема заключается в том, что вы не можете просто ввести разрыв строки, как обычный символ, и поэтому необходима специальная функция CHAR для предоставления соответствующего кода 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)

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

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

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

=A1 & "/" & B1

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

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

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

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

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

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

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

Как объединить диапазон.

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

Чтобы интегрировать несколько ячеек, скажем, от А1 до А4, вам понадобится что-то подобное:

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

или

=A1 & A2 & A3 & A4

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

Метод 1. Используем клавишу CTRL.

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

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

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

Способ 2. Используйте ТРАНСП

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

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

  1. Там, где вы хотите вывести объединенный диапазон, запишите:

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

  1. На панели формул нажмите клавишу F9, чтобы заменить выражение результатом вычисления. В результате у вас будет массив чисел для объединения.
  2. Удалите фигурные скобки, окружающие значения массива.
  1. Введите = СЦЕПИТЬ (перед первым значением), затем введите закрывающую скобку после последнего и нажмите Enter.

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

Объединение чисел и дат в различных форматах

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

ТЕКСТ(значение; формат) имеет два аргумента:

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

Например:

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

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

=A2 & " " & ТЕКСТ(B2; "$# ##0,0") - отобразить число с двумя десятичными знаками и знак $.

=A2 & " " & ТЕКСТ(B2; "0,#") - не отображает лишние нули и знак валюты.

=A2&" "&ТЕКСТ(B2;"#_??/??")  - отобразить десятичную часть в виде дроби.

="Сегодня  " & ТЕКСТ(СЕГОДНЯ();"dd.mm.yyyy") & "  " & A2 & " " & ТЕКСТ(B2;"$# ##0,0") – показать текст, дату и число.

Используем новые функции СЦЕП и ОБЪЕДИНИТЬ.

Долгое время СЦЕПИТЬ была первой функцией, о которой мы думали, когда нам нужно было соединить текст в Excel. Но несколько новых игроков недавно вошли в игру. Я говорю о ОБЪЕДИНИТЬ (или TEXTJOIN) и СЦЕП ( или CONCAT), разработанных, чтобы помочь вам интегрировать несколько значений. Используйте эти простые функции всякий раз, когда вам нужно сложить вместе части имен, адресов или фраз, соединить цифры и слова. В настоящее время они доступны в Excel 2016, Excel Online и Mobile, Excel для планшетов и телефонов Android.

Функция ОБЪЕДИНИТЬ складывает текст из нескольких диапазонов или строк. Вы можете указать разделитель между каждым текстовым значением и дать указание игнорировать пустые ячейки. Даже если разделитель - пустая строка, ОБЪЕДИНИТЬ успешно сработает.

Вот как она выглядит:

ОБЪЕДИНИТЬ(разделитель, игнорировать_пустые, ТЕКСТ1, [ТЕКСТ2],…)

Он имеет 3 обязательных и 1 необязательный аргументы:

  • Разделитель позволяет указать любой символ для разделения текста. Это может быть запятая, пробел, амперсанд или что угодно. Символы должны быть заключены в двойные кавычки или это может быть ссылка на допустимую текстовую ячейку. Любые числа будут рассматриваться как текст.
  • Второй параметр является обязательным аргументом. Если это ИСТИНА, пустые ячейки будут игнорироваться. Но вы можете приказать учитывать пустые, установив для него - ЛОЖЬ.
  • ТЕКСТ1 позволяет вам указать диапазон для объединения, а не вводить каждое из них.
  • [ТЕКСТ2,…] - это необязательный аргумент, который позволяет указывать дополнительные диапазоны для включения, если ваш диапазон не является непрерывным.

Для текстовых элементов может быть не более 252 аргументов. Если результат превышает предел 32767 символов, она возвращает ошибку #ЗНАЧ!.

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

Кроме того, СЦЕП является стандартной функцией, используемой в Google Sheets. 

СЦЕПИТЬ продолжает поддерживаться для обеспечения совместимости с предыдущими версиями Excel.

Выглядит это следующим образом:

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

Есть только два аргумента, один из которых является необязательным:

  • ТЕКСТ1 - текстовая запись, которую нужно присоединить. Это может быть отдельный элемент или область таблицы.
  • [ТЕКСТ2,…] обозначает дополнительные текстовые элементы для объединения.

Для текстовых данных может быть не более 253 аргументов.

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

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

=СЦЕПИТЬ(A2;B2;C2;D2;E2)

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

=СЦЕП(A2:E2)

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

=СЦЕПИТЬ(A2;" ";B2;" ";C2;" ";D2;" ";E2)

и

=СЦЕП(A2;" ";B2;" ";C2;" ";D2;" ";E2)

Как легко увидеть, они не обрабатывают пустые ячейки, что приводит к появлению лишних пробелов (например, в G3 и G8).

Поэтому функции ОБЪЕДИНИТЬ суждено стать действительно популярным выбором для пользователей, работающих с большими объемами текстовых данных. 

Вы просто указываете разделитель (если нужно), выбираете «игнорировать пустые» и определяете диапазон. Это гораздо более разумное и быстрое решение.

=ОБЪЕДИНИТЬ(" ";ИСТИНА;A2:E2)

Если у вас есть Excel 2016, изучите применение ОБЪЕДИНИТЬ и СЦЕП, чтобы увидеть, насколько они полезны, и попрощайтесь с традиционными способами при объединении.

 Спасибо за чтение!