Excel формула склеить текст

Надпись на заборе: «Катя + Миша + Семён + Юра + Дмитрий Васильевич +
товарищ Никитин + рыжий сантехник + Витенька + телемастер Жора +
сволочь Редулов + не вспомнить имени, длинноволосый такой +
ещё 19 мужиков + муж = любовь!»

Способ 1. Функции СЦЕПИТЬ, СЦЕП и ОБЪЕДИНИТЬ

В категории Текстовые есть функция СЦЕПИТЬ (CONCATENATE), которая соединяет содержимое нескольких ячеек (до 255) в одно целое, позволяя комбинировать их с произвольным текстом. Например, вот так:

Склейка текста функцией СЦЕПИТЬ

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

Очевидно, что если нужно собрать много фрагментов, то использовать эту функцию уже не очень удобно, т.к. придется прописывать ссылки на каждую ячейку-фрагмент по отдельности. Поэтому, начиная с 2016 версии Excel, на замену функции СЦЕПИТЬ пришла ее более совершенная версия с похожим названием и тем же синтаксисом — функция СЦЕП (CONCAT). Ее принципиальное отличие в том, что теперь в качестве аргументов можно задавать не одиночные ячейки, а целые диапазоны — текст из всех ячеек всех диапазонов будет объединен в одно целое:

Склейка функцией СЦЕП

Для массового объединения также удобно использовать новую функцию ОБЪЕДИНИТЬ (TEXTJOIN), появившуюся начиная с Excel 2016. У нее следующий синтаксис:

=ОБЪЕДИНИТЬ(Разделитель; Пропускать_ли_пустые_ячейки; Диапазон1; Диапазон2 … )

где

  • Разделитель — символ, который будет вставлен между фрагментами
  • Второй аргумент отвечает за то, нужно ли игнорировать пустые ячейки (ИСТИНА или ЛОЖЬ)
  • Диапазон 1, 2, 3 … — диапазоны ячеек, содержимое которых хотим склеить

Например:

Склейка текста функцией ОБЪЕДИНИТЬ

Способ 2. Символ для склеивания текста (&)

Это универсальный и компактный способ сцепки, работающий абсолютно во всех версиях Excel. 

Для суммирования содержимого нескольких ячеек используют знак плюс «+«, а для склеивания содержимого ячеек используют знак «&» (расположен на большинстве клавиатур на цифре «7»). При его использовании необходимо помнить, что:

  • Этот символ надо ставить в каждой точке соединения, т.е. на всех «стыках» текстовых строк также, как вы ставите несколько плюсов при сложении нескольких чисел (2+8+6+4+8)
  • Если нужно приклеить произвольный текст (даже если это всего лишь точка или пробел, не говоря уж о целом слове), то этот текст надо заключать в кавычки. В предыдущем примере с функцией СЦЕПИТЬ о кавычках заботится сам Excel — в этом же случае их надо ставить вручную.

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

Сцепка текста амперсандом

Если сочетать это с функцией извлечения из текста первых букв — ЛЕВСИМВ (LEFT), то можно получить фамилию с инициалами одной формулой:

Склейка ФИО

Способ 3. Макрос для объединения ячеек без потери текста.

Имеем текст в нескольких ячейках и желание — объединить эти ячейки в одну, слив туда же их текст. Проблема в одном — кнопка Объединить и поместить в центре (Merge and Center) в Excel объединять-то ячейки умеет, а вот с текстом сложность — в живых остается только текст из верхней левой ячейки. 

Чтобы объединение ячеек происходило с объединением текста (как в таблицах Word) придется использовать макрос. Для этого откройте редактор Visual Basic  на вкладке Разработчик — Visual Basic (Developer — Visual Basic) или сочетанием клавиш Alt+F11, вставим в нашу книгу новый программный модуль (меню Insert — Module) и скопируем туда текст такого простого макроса:

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

Теперь, если выделить несколько ячеек и запустить этот макрос с помощью сочетания клавиш Alt+F8 или кнопкой Макросы на вкладке Разработчик (Developer — Macros), то Excel объединит выделенные ячейки в одну, слив туда же и текст через пробелы.

Ссылки по теме

  • Делим текст на куски
  • Объединение нескольких ячеек в одну с сохранением текста с помощью надстройки PLEX
  • Что такое макросы, как их использовать, куда вставлять код макроса на VBA

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

Данные из нескольких ячеек можно объединить в одну с помощью символа «амперсанд» (&) или функции СЦЕП.

Ваш браузер не поддерживает видео. Установите Microsoft Silverlight, Adobe Flash Player или Internet Explorer 9.

Объединение данных с помощью символа «амперсанд» (&)

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

  2. Введите = (знак равенства) и выберите первую ячейку, которую нужно объединить.

  3. Введите символ & и пробел, заключенный в кавычки.

  4. Выберите следующую ячейку, которую нужно объединить, и нажмите клавишу ВВОД. Пример формулы: =A2&» «&B2.

Объединение данных с помощью функции СЦЕП

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

  2. Введите выражение = СЦЕП(.

  3. Выберите первую ячейку, которую нужно объединить.

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

  4. Введите закрывающую скобку в конце формулы и нажмите клавишу ВВОД. Пример формулы: =CONCAT(A2, » Семья»).

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

Подключитесь к эксперту. Учитесь у живых инструкторов.

См. также

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

Функция CONCAT

Объединение и отмена объединения ячеек

СЦЕПИТЬ

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

Автоматическая нумерация строк

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

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

В этой статье мы на примерах рассмотрим, как в Excel объединить ячейки с текстом. Объединить текст в нескольких ячейках можно несколькими способами. Рассмотрим каждый из них.

Все рассмотренные далее способы объединения текста применяются для всех версий: Excel 2003, Excel 2007, Excel 2010, Excel 2013, Excel 2016. Рассмотрим каждый из них.

Объединить ячейки с текстом с помощью знака амперсанда

Итак, первый способ. Самый простой способ объединить текст в нескольких ячейках в Excel – это использовать знак амперсанда (&).

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

1-obedinit-tekst-v-excel

Объединить текст в Excel – Таблица с данными

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

1. Переходим ячейку D2. В данной ячейке мы будем объединять текст из нескольких ячеек.

2. Вводим знак =, и кликаем по ячейке с фамилией (A2), затем вводим знак амперсанда & при помощи сочетания клавиш SHIFT+7.

3. Далее нам необходимо поставить разделитель, чтобы наша фамилия «не слиплась» с именем и отчеством. В данном случае мы будем использовать пробел. Для этого после амперсанда ставим пробел, заключенный в кавычки (» «).

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

4. Далее снова вводим знак амперсанда &, и кликаем по ячейке с именем (B2).

5. Опять таки не забываем по разделитель – пробел в кавычках (» «).

6. Осталось только присоединить отчество. Вводим знак & и кликаем на ячейку С2.

7. Нажимаем клавишу Enter и любуемся полученным результатом.

Получившаяся формула выглядит так:

=A2&» «&B2&» «&C2

И в нашей ячейке D2 появился объединенный текст из трех ячеек.

2-obedinit-tekst-v-excel

Объединить текст в Excel – Объединить текст с помощью амперсанда

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

3-obedinit-tekst-v-excel

Объединить текст в Excel – Объединенный текст для всех сотрудников

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

=A2&» «&B2

3_1-obedinit-tekst-v-excel

Объединить текст в Excel – Объединить 2 ячейки с текстом

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

Для того чтобы объединить ячейки с текстом, и в тоже время ограничить количество символов в имени и отчестве, нам понадобится функция ЛЕВСИМВ. Данная функция возвращает первый символ, или указанное число первых символов тестовой строки.

Для получения желаемого результата введите следующую формулу:

=A2&» «&ЛЕВСИМВ(B2)&». «&ЛЕВСИМВ(C2)&».»

Таким образом мы получим следующую таблицу:

4-obedinit-tekst-v-excel

Объединить текст в Excel – Объединенный текст фамилии и инициалов с помощью амперсанда

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

Объединить текст в ячейках с помощью функции СЦЕПИТЬ

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

Добавим к таблице столбец с названием города.

5-obedinit-tekst-v-excel

Объединить текст в Excel – Дополнение исходной таблицы

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

Тогда в ячейке мы вводим в следующую формулу:

=СЦЕПИТЬ(A2;» «;B2;» «; C2;», проживающий в городе «;D2)

Заполняем оставшиеся ячейки с помощью маркера заполнения и в результате получаем такой результат:

6-obedinit-tekst-v-excel

Объединить текст в Excel – Объединение текста с помощью формулы СЦЕПИТЬ

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

Объединить текст с датой или числами

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

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

Предположим у нас есть следующая таблица:

7-obedinit-tekst-v-excel

Объединить текст в Excel – Исходная таблица с данными

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

Для этого мы должны ввести в ячейку (D2) следующую формулу для первого сотрудника:

=СЦЕПИТЬ(A2; » «; ТЕКСТ($B$1;»ДД.ММ.ГГ»);» реализовал «; B2;» единиц товаров, что составило «;ТЕКСТ(C2;»0%»);» от общего объема продаж»)

Не стоит пугаться. Сейчас мы разберем эту формулу по порядку.

1. А2 – ссылка на ячейку фамилии нашего сотрудника.

2. » « – далее мы вставляем разделитель, в нашем случае это пробел.

3. ТЕКСТ($B$1;»ДД.ММ.ГГ») – при помощи функции ТЕКСТ мы задаем вид даты.

$B$1 – это абсолютная ссылка на дату, ДД.ММ.ГГ – это формат отображаемой даты. В нашем случае исходная дата 13 ноября 2017 г., а мы ее преобразовываем в 13.11.17 (ДД.ММ.ГГ).

4. » реализовал « – продолжаем формировать необходимое нам предложение.

5. B2 – ссылка на ячейку, где хранится информация о количестве реализованной продукции.

6. » единиц товаров, что составило « – добавляем текст.

7. ТЕКСТ(C2;»0%») – ссылка на ячейку C2 указывает на количество процентов, а «0%» – процентный формат.

8. » от общего объема продаж» – завершаем наше предложение.

И заполняем для остальных сотрудников с помощью маркера заполнения.

В результате мы получаем следующее:

8-obedinit-tekst-v-excel

Объединить текст в Excel – Объединить текст в ячейке с датой и числами

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

Объединить текст в ячейках с помощью функции ОБЪЕДИНИТЬ

В версии MS Excel 2016 появилась еще одна функция для объединения текста – функция ОБЪЕДИНИТЬ. Если вы пользователь более ранних версий, то для того чтобы объединить текст, используйте вышеописанные способы.

Обратите внимание, что функция Объединить доступна только при наличии подписки на Office 365.

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

Сперва разберем синтаксис функции ОБЪЕДИНИТЬ:

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

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

Рассмотрим пример, как объединить текст в Excel используя функцию ОБЪЕДИНИТЬ.

4-obedinit-tekst-v-excel

Объединить текст в Excel – Объединить текст с помощью функции ОБЪЕДИНИТЬ

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

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

​Смотрите также​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Function СЦЕПДИАП_A(Диапазон As Variant,​ а потом уже​ перегружаться, а потом​ умолчанию включен перенос​

Объединение данных с помощью символа «амперсанд» (&)

  1. ​ Lib «msvbvm60» (ByVal​ = Out &​- необходимо выбирать​

  2. ​ обоих работающих кнопок,​ чем именно я​ отличие от Excel).​ — выходим с​

  3. ​ Delimeter Next i​​ составляющие я уже​​ часто приходиться объединять​ двух вариантов: перенести​

  4. ​ нас есть такой​Данные из нескольких ячеек​ Optional Разделитель As​ её сцеплять Join’ом.​​ отвлекли. Вот сразу​​ строк внутри ячейки​

Объединение данных с помощью функции СЦЕП

  1. ​ pSrc As Long,​ Mid(Txt, i, 1)​ для столбцов с​

  2. ​ в том виде,​​ прошу помочь)​​ После нажатия на​

  3. ​ ошибкой If SearchRange1.Count​ ‘выводим результаты без​

    ​ писал. Теперь же​ Имена и Фамилии​ текст по строкам​ список клиентов с​ можно объединить в​

  4. ​ String = «​ Надо будет попробовать​ и не отписался.​’—————————————————————————————​​ ByVal pDst As​​ & » «​

support.office.com

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

​ датами, причем формат​​ в котором мне​Sanja​ОК​ <> TextRange.Count Or​ последнего разделителя MergeIf​ давайте рассмотрим близкую,​ сотрудников в одну​
​ или объединить несколько​ адресами.​ одну с помощью​ «, _​ подпилить-подсократить код на​Но всё равно,​Разделитель = Разделитель​ Long) As Long​ Else Out =​ даты (день-месяц-год, месяц-день-год​ и было нужно)​: В файле (пост​
​получаем новый столбец​
​ SearchRange2.Count <> TextRange.Count​ = Left(OutText, Len(OutText)​
​ но чуть более​ ячейку.​ ячеек в одну,​Нам нужно составить предложение.​ символа «амперсанд» (&)​Optional ПоСтолбцам As​ досуге.​
​ мой код тоже​ & IIf(Переносить, Chr(10),​Function JoinRange(srcRng As​ Out & Mid(Txt,​ и т.д.) уточняется​Private Sub ВставитьА_Click()​ #6) мой код​ со склееными адресами:​ Then MergeIfs =​ — Len(Delimeter)) End​
​ сложную задачу -​В примере показанным на​ при этом изменять​ В ячейке пишем​ или функции СЦЕП.​ Boolean = False,​​По поводу вытягивания​​ не плох (ИМХО,​
​ «»)​
​ Range, Optional delim​
Объединить текст в Excel.​ i, 1) End​ в выпадающем списке​
​ arrPoleA = Split(Trim(ПолеА),​
​ делает именно то,​Осталось удалить ненужный уже​ CVErr(xlErrRef) Exit Function​ Function​
​ как склеивать текст​
​ рисунке таблица содержит​ ширину столбцов Вам​ формулу.​Выделите ячейку, в которую​ Optional сПереносом As​ из закрытых книг​
​ конечно​Dim Arr, i&​
​ As String =​ If Next i​текстовый​​ Chr(10)) With ActiveSheet​ что Вы просили​​ столбец​
​ End If ‘проходим​Если теперь вернуться в​ из нескольких ячеек​ первые два столбца:​ не потребуется.​=A2&» «&B2&» «&C2&»​
​ вы хотите вставить​ Boolean = False)​ — не уверен,​
​)​Arr = Application.Trim(ДИАПАЗОН.Value)​ «») As String​ CutWords = Out​
​- этот формат​
Сложить слова в Excel.​ For I =​ в стартовом сообщении,​
​ТаблАдресов​ по все ячейкам,​ Microsoft Excel, то​​ при выполнении определенного​​Имя – ячейки в​При переносе текста высота​ «&»проживает по адресу»&»​ объединенные данные.​ As String​
​ что это шибко​nerv​For i =​’Конкатенация для диапазона​
​ End Function​
​ нужен, по большому​ LBound(arrPoleA) To UBound(arrPoleA)​ т.е. разделяет большой​
​(правой кнопкой мыши​ проверяем все условия​ в списке функций​ заданного условия.​ этой колонке содержат​ строки будет автоматически​ «&»г.»&» «&D2&» «&»ул.»&»​
​Введите = (знак равенства)​’—————————————————————————————​ нужно. Но если​: #2​ 1 To UBound(Arr)​ ячеек​Теперь можно использовать эту​
​ счету, не для​ lRow = .Cells(Rows.Count,​ текст на блоки​ по заголовку -​ и собираем текст​​ (кнопка​Допустим, что у нас​​ текстовые данные полученные​ изменяться, что позволит​
​ «&E2&» «&»д.»&» «&F2&».»​ и выберите первую​
​’ Author: RAN​ не даёт усложнения​
​На правах офф-топа:​
Инициалы в Excel.​СКЛЕИТЬ = СКЛЕИТЬ​Dim transformArray() As​ функцию на листе​ столбцов с ФИО,​ 1).End(xlUp).Row + 1​ (разделитель блоков -​Удалить столбец​ в переменную OutText​fx​ имеется база данных​ из базы картотек​ содержимому отображаться на​Получилось такое предложение.​ ячейку, которую нужно​’ Purpose: Сцепляет​ кода, то пусть​
​сейчас извращаюсь, создаю​ & IIf(Len(СКЛЕИТЬ), Разделитель,​ Variant, SA_Ptr As​ и привести слипшийся​​ названием города или​​ .Cells(lRow, 1) =​ запятая) и вставляет​) и выгрузить результаты​ For i =​в строке формул​ по клиентам, где​ кадрового отдела.​ нескольких строках. Объединение​По такому принципу составляем​ объединить.​ текст ячеек из​ будет​ com(?)/vb объект -​

excel-office.ru

Перенос текста и объединение ячеек в Excel

​ «») & Arr(i,​ Long​ текст в нормальный​ компании, а для​ arrPoleA(I) Next End​ каждый блок в​ на лист, нажав​ 1 To SearchRange1.Cells.Count​ или вкладка​ одному названию компании​Фамилия – в данном​ ячеек позволяет создать​ любые предложения.​Введите символ​ заданного диапазона​Про скорострельность, Андрей,​ html-страницу, а в​

​ 1)​transformArray = srcRng​ вид:​ столбцов с числовыми​ With ПолеА.Value =​ отдельную ячейку.​ на вкладке​ If SearchRange1.Cells(i) =​Формулы — Вставить функцию​ может соответствовать несколько​ столбце находиться только​ одну большую ячейку,​Если текст в​&​

​’ Notes: Разделитель​ ты по-моему абсолютно​ этой странице уже​Next​’UnDim transformArray​Деление текста при помощи​ данными, которые Excel​ «» End Sub​Нет, не надейтесь,​

Перенос текста в Excel

​Главная — Закрыть и​ Condition1 And SearchRange2.Cells(i)​) можно будет найти​ разных email’ов ее​

  1. ​ фамилии сотрудников.​ объединив при этом​ ячейках уже написан,​и пробел, заключенный​ по умолчанию «​ прав. Это UDF​Перенос текста в Excel
  2. ​ на javascript’е пишу​​End Function​​’— Преобразуем 2-мерный​​ готовой функции надстройки​​ обязательно должен воспринять​Перенос текста в Excel
  3. ​ Private Sub ВставитьБ_Click()​ не понял. Лучше​Перенос текста в Excel

​ загрузить (Home -​​ = Condition2 Then​​ нашу функцию​ сотрудников. Наша задача​

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

​В третьем столбце «Имя​ несколько смежных.​ но нам нужно​ в кавычки.​ «​ для применения в​Чуть позже будет​P.S. Долго гадал​ массив в 1-мерный​ PLEX​ как текст. Например,​ arrPoleB = Split(Trim(ПолеБ),​ попытайтесь объяснить логику​

​ Close and load)​ OutText = OutText​MergeIf​ состоит в том,​

  1. ​ + Фамилия» необходимо​В следующем примере мы​Объединение ячеек в Excel
  2. ​вставить дополнительные слова​​Выберите следующую ячейку, которую​’ Notes: Optional​​ качестве формулы листа.​​ код )))​​ над тайным скрытым​Объединение ячеек в Excel
  3. ​GetMem4 ArrPtr(transformArray), VarPtr(SA_Ptr)​Что такое макросы, куда​ для столбца с​ Chr(10)) With ActiveSheet​Объединение ячеек в Excel

​ разбивки текста по​​:​ & TextRange.Cells(i) &​​в категории​ чтобы собрать все​ объединить имя и​ применим перенос текста​перед имеющимися, то​ нужно объединить, и​

Дополнительные параметры объединения ячеек в Excel

​ ПоСтолбцам — просмотр​ И объединять она​Более того, подключаю​ смыслом СерёгиногоТ.к. не​​ ‘SA_Ptr = *SAFEARRAY​ вставлять код макроса,​​ номерами банковских счетов​ For I =​

  • ​ ячейкам еще раз​Важный нюанс​​ Delimeter End If​Определенные пользователем (User Defined)​ адреса по названиям​ фамилию каждого сотрудника​
  • ​ по строкам к​​ сделать это можно​ нажмите клавишу ВВОД.​ по строкам(умолчание) и​ должна не тысячи​ либы js​
  • ​ работает, попробовал исправить,​​PutMem2 SA_Ptr, 1​ как их использовать​ клиентов, где в​
  • ​ LBound(arrPoleB) To UBound(arrPoleB)​​Clasen​Объединение ячеек в Excel

​: в отличие от​ Next i ‘выводим​
​. Аргументы у функции​
​ компаний и сцепить​

​ для последующего использования​

office-guru.ru

Лучшая альтернатива функции СЦЕПИТЬ и объединить текст в Excel

​ столбцу D.​ с помощью формулы.​ Пример формулы:​ по столбцам​ ячеек, а от​Для примера:​ порывшись по Справке…​ ‘.cDims = 1​Alex_ST​ противном случае произойдет​ lRow = .Cells(Rows.Count,​: Вот файл Excel​ предыдущих способов (функций),​ результаты без последнего​

Как сцепить два текста в один с помощью и без функции Excel?

​ следующие:​ их (через запятую​ в сводных таблицах​

  1. ​Выделите ячейки, текст в​ У нас такой​=A2&» «&B2​’ Notes: Optional​ силы десяток-два.​
  2. ​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub io()​Нифига не понял.​PutMem4 SA_Ptr +​

​: =======================================================​ округление до 15​ 2).End(xlUp).Row + 1​ в котором в​ таблицы из Power​ разделителя MergeIfs =​Если заменить в 13-й​ или точку с​

объединить имя и фамилию.

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

​ сПереносом по умолчанию​А вот научить​Dim html As​ Наверное, Серёга описАлся.​ 16, srcRng.Cells.Count ‘.rgsabound(1).cElements​Функция (UDF) «СКЛЕИТЬ»​ знаков, т.к. Excel​ .Cells(lRow, 2) =​ столбце А написан​

пример решения задачи.

​ Query не обновляются​ Left(OutText, Len(OutText) -​ строчке нашего макроса​ запятой), чтобы сделать​ программой Excel.​ на нескольких строках.​Нам нужно перед фамилиями​Выделите ячейку, в которую​ — «нет»​ UDF-ку обрабатывать (склеивать)​ Object​ (или моей ерундиции​ = srcRng.Cells.Count​=======================================================​ будет обрабатывать номер​

соединить любые текстовые значения.

​ arrPoleB(I) Next End​ текст именно так,​ автоматически. Если в​ Len(Delimeter)) End Function​
​ первый знак​ потом, например, почтовую​Для этого необходимо попарно​ В нашем примере​ вставить слово «Квартиросъемщик».​ вы хотите вставить​’—————————————————————————————​ тексты ячеек из​Set html =​ не хватает и​’—​Данная Определенная пользователем​

​ счета как число:​

​ With ПолеБ.Value =​ как нужно мне,​ будущем произойдут какие-либо​

  1. ​Применяться она будет совершенно​=​ рассылку по клиентам,​
  2. ​ объедини тексты из​ мы выделим ячейки​ В ячейке нового​ объединенные данные.​
  3. ​Dim i&, j&,​ разбросанных по листу​ CreateObject(«htmlfile»)​ Справка у меня​JoinRange = Join(transformArray,​ функция (User-Defined Function​Кнопка​ «» End Sub​ т.е хорошо разбит​ изменения в исходных​

​ аналогично — только​на оператор приблизительного​ т.е. получить на​ ячеек столбцов таблицы​ в столбце D.​ столбца пишем формулу.​Введите выражение​ k&, arr​ (-ам) ячеек было​html.write («»)​ кривая)​ delim)​

  • ​ или UDF) возвращает​Подробнее (Advanced)​Итак, имеем столбец с​
  • ​ по ячейкам, как​ данных, то нужно​ аргументов теперь нужно​

функция РАСЦЕПИТЬ.

​ совпадения​ выходе что-то похожее​ в общие строки.​Выберите команду​=»Квартиросъемщик»&» «&A8​

exceltable.com

Склеивание текста по условию

​= СЦЕП(​If сПереносом Then​ бы очень здорово.​html.write («alert( $​KuklP​End Function​ в ячейку листа,​позволяет помочь Excel​ данными, которые надо​ мне надо. А​ будет щелкнуть правой​ указывать больше:​Like​ на:​На рисунке проиллюстрированный пример​

​Перенести текст​Копируем эту формулу​.​If Разделитель <>​Тогда бы получилась​ );»)​: Не описался. Application.Index(a,​KuklP​ куда она введена,​ правильно распознать символы-разделители​ разделить на несколько​ рядом — это​ кнопкой в любое​Решить проблему можно и​, то можно будет​Другими словами, нам нужен​ решения данной задачи.​на вкладке​ вниз по столбцу.​

склеивание (сцепка) текста по условию

​Выберите первую ячейку, которую​ » » Then​ усовершенствованная функция СЦЕПИТЬ.​End Sub​ i, 0) берет​​: И мой:​​ «склеенные» в одну​

Способ 0. Формулой

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

Сцепка текста по условию формулой

​RAN​ строку i из​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Function СКЛЕИТЬ(Диапазон As Range,​ строку тексты из​ они отличаются от​ распространенные жизненные примеры:​ т.е почти то,​ и выбрать команду​ VBA, если использовать​ неточному совпадению исходных​ склеивать (сцеплять) текст​​ в примере должен​​.​Первый столбец можно скрыть​

Отбор строк

​Для разделения объединяемых ячеек​ & vbLf​ тогда ей параметры​: Не знаю, на​

Способ 1. Макрофункция склейки по одному условию

​ массива a. См.​ _​ ячеек заданного диапазона​ стандартных, заданных в​ФИО в одном столбце​ но не совсем.​Обновить (Refresh)​ бесплатную надстройку Power​ данных с критерием​ по условию -​ использоваться оператор «&»​​Текст будет перенесен по​​ или скопировать значение​ используйте запятые, а​​Else​​ надо задавать как​​ сколько важна скорострельность,​​ исправленный вариант в​Optional Разделитель_Данных$ =​ с задаваемыми при​​ региональных настройках.​​ (а надо -​ Надо, чтобы программа​

​.​ Query. Для Excel​ отбора. Например, если​ аналог функции​ (END вместо оператора​ строкам.​ нового столбца без​ для добавления пробелов,​Разделитель = vbLf​ ParamArray, а при​ а этот сцепляет​ том сообщении. С​ «», _​ необходимости разделителями данных​Если хочется, чтобы такое​ в трех отдельных,​ копировала по нажатию​Clasen​ 2010-2013 ее можно​ название компании может​СУММЕСЛИ (SUMIF)​ «+»), который позволяет​Нажмите команду​ формул, а первый​ запятых и другого​End If​ таком типе аргументов​ и по столбцам,​ примером. А в​Optional Переносить_ДА_НЕТ$ =​ из разных ячеек.​ деление производилось автоматически​ чтобы удобнее было​ кнопок, так как​

​: Здравствуйте! Есть текстон​ скачать здесь, а​ быть записано в​, но для текста.​​ объединять значения ячеек​​Перенести текст​ столбец и второй​​ текста — кавычки.​​End If​ нет возможности задать​​ и из закрытой​​ твоем варианте одной​​ «ДА») As String​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>​ без участия пользователя,​

функция сцепить если выполняется условие

Способ 2. Сцепить текст по неточному условию

​ сортировать и фильтровать)​ скопировано в столбце​ идет в столбик​​ в Excel 2016​​ разных вариантах, то​Не очень изящный, зато​​ в формулах:​​еще раз, чтобы​ с формулами -​Введите закрывающую скобку в​If TypeName(Диапазон) =​ ещё и параметры​ книги.​ строки хватит:​’—————————————————————————————​Function СКЛЕИТЬ(Диапазон As​ то придется использовать​полное описание товара в​

склейка по приблизительному условию

​ А.​

  • ​ и его надо​ она уже встроена​ мы можем одной​ самый простой способ.​
  • ​Как показано выше на​ отменить перенос.​ удалить.​
  • ​ конце формулы и​ «Range» Then Диапазон​ «переносить» и «разделитель»​

​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Function СЦЕПДИАП_A(Диапазон As Variant,​200?’200px’:»+(this.scrollHeight+5)+’px’);»>СКЛЕИТЬ = join(Arr,Разделитель)​’ Procedure: СКЛЕИТЬ​ Range, _​ небольшую функцию на​ одном столбце (а​Файл прикрепить к​ вставить из word​ по умолчанию. Последовательность​ функцией проверить и​​ Можно написать несложную​​ рисунке с помощью​При объединении двух и​Ещё один способ​ нажмите клавишу ВВОД.​

​ = Диапазон.Value​nerv​ Optional Разделитель As​Alex_ST​

  • ​’ Author: Alex_ST​Optional Разделитель_Данных$ =​ VBA, вставленную в​ надо — отдельный​
  • ​ сообщению не могу,​ в excel, Дабы​ действий будет следующей:​
  • ​ собрать их все:​ формулу, которая будет​ символа «&» можно​ более ячеек результирующая​
  • ​ добавить текст, числа,​ Пример формулы:​If Not IsArray(Диапазон)​

Способ 3. Макрофункция склейки текста по двум условиям

​: все возможно )​ String = «​: Серёга,​’ Purpose: склеить​ «», _​ книгу. Для этого​ столбец под фирму-изготовителя,​ он прикреплен в​ не прокручивать страницу​Power Query не умеет​Поддерживаются стандартные спецсимволы подстановки:​ проверять отличается ли​ соединить любые текстовые​ ячейка занимает место​ символ к тексту​=CONCAT(A2, » Семья»)​ Then СЦЕПДИАП_A =​Alex_ST​ «, _​

​я, естественно, первым​ тексты из выделенных​Optional Переносить_ДА_НЕТ$ =​ открываем редактор Visual​ отдельный — под​ сообщении выше.​ вниз, не возиться​ работать с обычными​звездочка (*) — обозначает​ компания в очередной​ значения из разных​ объединенных, но данные​ в ячейке, смотрите​.​ Диапазон: Exit Function​: Ну-ка, ну-ка!​Optional ПоСтолбцам As​ же делом попробовал​ ячеек в одну​ «ДА») As String​ Basic:​ модель для построения,​Sanja​ со вставкой, я​ таблицами, поэтому первым​ любое количество любых​ строке от предыдущей.​ ячеек без использования​ при этом не​ в статье «Добавить​Список в Excel​ReDim arr(1 To​А слабо сделать​ Boolean = False,​ применить Join, но​ строку с задаваемыми​’—————————————————————————————​в Excel 2003 и​ например, сводной таблицы)​

​: Я понимаю, что​ создал форму, в​ шагом превратим нашу​ символов (в т.ч.​

склейка по нескольким условиям

Способ 4. Группировка и склейка в Power Query

​ Если не отличается,​ функции: =СЦЕПИТЬ(). В​ складываются. Вы можете​ текст в ячейки​можно корректировать формулами​ UBound(Диапазон, 1) *​ примерчик, в котором​ Optional сПереносом As​ массив Arr =​ при необходимости разделителями​’ Procedure: СКЛЕИТЬ​

​ старше — меню​весь адрес в одном​ Вам нужно ТАК.​ MEMO которой я​ таблицу в «умную».​ и их отсутствие)​ то приклеиваем через​ этом примере объединены​ объединить любой смежный​ с текстом Excel».​​ – имя и​ UBound(Диапазон, 2))​ процедура может ОДНОВРЕМЕННО​​ Boolean = False)​ Application.Trim(ДИАПАЗОН.Value) может получиться​​ данных из разных​​’ Author: Alex_ST​Сервис — Макрос -​ столбце (а надо​​ Но так это​​ просто вставляю этот​

Умная таблица

​ Для этого ее​вопросительный знак (?) -​ запятую очередной адрес.​ значения ячеек A2​​ диапазон, и даже​​С помощью формул​ отчество заменить на​If ПоСтолбцам Then​ (ведь для функции​ As String​ и двумерным в​​ ячеек​’ Purpose: склеить​​ Редактор Visual Basic​

Загрузка в Power Query

​ — отдельно индекс,​ КАК? Логика какая?​ текст и он​​ нужно выделить и​​ обозначает один любой​ Если отличается, то​​ и B2 с​​ все ячейки на​ можно преобразовать список,​ инициалы, соединить слова​For i =​​ листа именно так​​’—————————————————————————————​

Группировка в Power Query

​ зависимости от размерности​’ Notes: по​ тексты из выделенных​(Tools — Macro -​ отдельно — город,​ Почему «брейк» в​ его копирует в​ нажать сочетание Ctrl+T​ символ​ «сбрасываем» накопленное, начиная​

Содержимое таблиц группировки

​ добавленным между ними​ листе, при этом​ где имя, отчество​ из ячеек в​ 1 To UBound(Диапазон,​ и делается) получать​’ Author: RAN​ ДИАПАЗОНА, а с​​ умолчанию включен перенос​​ ячеек в одну​​ Visual Basic Editor)​ отдельно — улица​​ ячейке один, а​ последнюю пустую ячейку​ или выбрать на​решетка (#) — обозначает​ заново:​ символом пробела (указанный​

Пользовательский столбец с функцией склейки

​ информация во всех​ и фамилия написаны​ предложение, вставить слова​ 2)​​ параметры и как​​’ Purpose: Сцепляет​ ним Join не​

Результат

​ строк внутри ячейки​ строку с задаваемыми​​в Excel 2007 и​​ и дом)​ «тигр, синица» вдвоем?​​ в столбе B.​​ вкладке​ одну любую цифру​Минусы такого подхода очевидны:​​ в формуле между​ ячейках, кроме верхней​ полностью, в​​ в список Excel.​

Выгрузка результатов на лист

​For j =​​ ParamArray, и как​ текст ячеек из​ работает.​’—————————————————————————————​ при необходимости разделителями​ новее — вкладка​и т.д.​ И т.д.​НО, вставляет ВЕСЬ​Главная — Форматировать как​ (0-9)​ из всех ячеек​​ кавычками как текстовое​​ левой, будет удалена.​

planetaexcel.ru

Большой текст из одной ячейки в несколько ячеек

​список с фамилией и​​У нас есть​ 1 To UBound(Диапазон,​ обычные?​ заданного диапазона​Поэтому чтобы не​Dim Слитый_Текст$, Перенос_Строки$,​ данных из разных​Разработчик — Редактор Visual​Поехали..​Или у Вас​ текст в одну​ таблицу (Home -​По умолчанию оператор Like​ полученного дополнительного столбца​ значение).​
​В примере ниже мы​ инициалами​ таблица, где фамилия,​ 1)​Во всех учебниках​’ Notes: Разделитель​ запариваться с размерностями​ a, i&​ ячеек​ Basic (Developer -​Выделите ячейки, которые будем​ этот текст всегда​ ячейку, а мне​ Format as Table)​

​ регистрочувствительный, т.е. понимает,​​ нам нужны только​Для объединения текстов в​ объединим диапазон A1:E1,​. Например, в ячейке​ имя и отчество​If Len(Диапазон(j, i))​ по VBA написано,​ по умолчанию «​ массива я переделал​Перенос_Строки = IIf(UCase(Переносить_ДА_НЕТ)​’ Notes: по​ Visual Basic Editor)​ делить и выберите​ один и тот-же​

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

​ написано.​​ написаны в разных​ Then k =​ что если аргументы​ «​

​ так:​​ <> «НЕТ», vbLf,​ умолчанию включен перенос​или сочетание клавиш​ в меню​ и это разовая​ каждое новое слово​ вкладке​ «оРиОн» как разные​ компании (желтые). Если​ Excel предлагает встроенную​
​ для нашего листа.​В соседнем столбце пишем​ ячейках. Нам нужно​ k + 1:​ задаются как ParamArray,​

​’ Notes: Optional​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Function СКЛЕИТЬ$(ДИАПАЗОН As Range,​ » «)​

​ строк внутри ячейки​​Alt+F11​Данные — Текст по​ операция?​ от запятой до​Конструктор (Design)​ компании. Чтобы не​ список большой, то​ функцию​Выделите ячейки, которые требуется​ такую формулу.​

​ разместить их в​​ arr(k) = Диапазон(j,​ то других аргументов​ ПоСтолбцам — просмотр​ _​a = Application.Trim(Диапазон.Value)​’—————————————————————————————​Вставляем новый модуль (меню​ столбцам​Clasen​ запятой в свою​можно задать имя​
​ учитывать регистр можно​ чтобы их быстро​=СЦЕПИТЬ(A2;» «;B2), которая​ объединить.​=СЦЕПИТЬ(ЛЕВСИМВ(СЖПРОБЕЛЫ(A1);НАЙТИ(» «;СЖПРОБЕЛЫ(A1);1));ПСТР(СЖПРОБЕЛЫ(A1);НАЙТИ(» «;СЖПРОБЕЛЫ(A1);1)+1;1);».»;ПСТР(СЖПРОБЕЛЫ(A1);НАЙТИ(«​

​ одной ячейке. Вручную​​ i)​ задать нельзя.​ по строкам(умолчание) и​Optional Разделитель$ =​If Диапазон.Rows.Count =​Dim Слитый_Текст$, Перенос_Строки$,​Insert — Module​(Data — Text to​: Потому что данные​ ячейку,. Пробовал делать​ таблицы (я оставил​ добавить в самое​ отобрать придется добавить​ объединяет текстовые значения​Нажмите команду​ «;СЖПРОБЕЛЫ(A1);НАЙТИ(» «;СЖПРОБЕЛЫ(A1);1)+1)+1;1);».»)​ переписывать список долго.​
​Next: Next​Конечно, можно извратиться​ по столбцам​ «», _​

​ 1 Then СКЛЕИТЬ​​ Ячейка As Range​) и копируем туда​ columns)​ берутся из word​ через макрос специальной​ стандартное​ начало модуля в​ еще один столбец,​
​ в одну строку.​Объединить и поместить в​Получилось.​ Но, в таблице​Else​

​ и договориться, что​​’ Notes: Optional​Optional Переносить As​ = Join(a, Разделитель_Данных):​If Переносить_ДА_НЕТ$ <>​
​ текст вот этой​.​ файла, вот ссылка​ вставки, но тогда​Таблица1​ редакторе Visual Basic​ использующий функцию​ Однако на практике​ центре​Если между словами​ Excel, есть специальная​For j =​

​ первые 2-3 элемента​​ сПереносом по умолчанию​ Boolean = True)​ Exit Function​ «НЕТ» Then Перенос_Строки​ пользовательской функции:​Появится окно​ на него.​ текст дублируется и​):​ строчку​ДЛСТР (LEN)​ мы не рекомендуем​на вкладке​ появились лишние пробелы,​

​ функция. Есть два​​ 1 To UBound(Диапазон,​ массива — параметры​ — «нет»​’—————————————————————————————​For i =​ = vbLf​Function Substring(Txt, Delimiter,​Мастера разбора текстов​На 13 странице​

​ не ищется последняя​​Теперь загрузим нашу таблицу​Option Compare Text​, проверяющий длину накопленных​ использовать функцию СЦЕПИТЬ,​Главная​ их можно удалить.​ варианта.​ 1)​ склеивания, а остальные​’—————————————————————————————​’ Procedure: СКЛЕИТЬ​ 1 To UBound(a)​

​For Each Ячейка​​ n) As String​:​ вы увидите эти​ пустая строка.. Помогите​ в надстройку Power​, которая переключит Like​ строк:​ а в место​.​ Подробнее о б​
​Первый вариант.​For i =​ — склеиваемые элементы.​Dim i&, j&,​’ Author: Alex_ST​Слитый_Текст = Слитый_Текст​ In Диапазон​ Dim x As​На первом шаге​ самые слова. Есть​ пожалуйста)​ Query. Для этого​ в режим, когда​Теперь можно отфильтровать единички​ нее просто применять​Выделенные ячейки будут объединены​ этом читайте в​У нас такой​ 1 To UBound(Диапазон,​Но это будет​ k&, arr​’ Purpose: склеить​

planetaexcel.ru

Делим слипшийся текст на части

​ & Join(Application.Index(a, i,​If Слитый_Текст =​ Variant x =​Мастера​ английское слово и​

  • ​Sanja​ на вкладке​ он невосприимчив к​ и скопировать нужные​ в формулах оператор​
  • ​ в одну, а​ статье «Как удалить​ список.​ 2)​ не удобно в​If сПереносом Then​ тексты из выделенных​
  • ​ 0), Разделитель_Данных) &​ «» Then​ Split(Txt, Delimiter) If​выбираем формат нашего​ его русское произношение.​: Для ПолеА. Дальше​
  • ​Данные​

​ регистру.​

Способ 1. Текст по столбцам

​ склейки адресов для​ &, так как​ текст разместится в​​ лишние пробелы в​Нам нужно написать в​ ​If Len(Диапазон(j, i))​ использовании, т.к. все​​If Разделитель <>​​ ячеек в одну​​ Перенос_Строки​​Слитый_Текст = Application.WorksheetFunction.Trim(Ячейка.Value)’​

text_to_columns1.png

​ n > 0​​ текста. Или это​​ И они идут​ по аналогии Private​(если у вас​Таким образом можно составлять​ дальнейшего использования.​ она имеет ряд​ центре.​​ Excel». Этими же​​ ячейке D1 ФИО​ Then k =​ элементы UDF при​ » » Then​​ строку с задаваемыми​​Next​

​ будут удаляться лидирующие​​ And n -​​ текст, в котором​ в соседних столбцах.​ Sub ВставитьА_Click() arrPoleA​ Excel 2016) или​ весьма сложные маски​Если исходный список не​

text_to_columns2.png

​ своих недостатков.​Кнопка​ способами можно удалить​ одним предложением. Пишем​ k + 1:​​ её вводе юзером​Разделитель = Разделитель​ при необходимости разделителями​​СКЛЕИТЬ = Left$(Слитый_Текст,​ и финиширующие пробелы,​

​ 1​​ какой-либо символ отделяет​​ В столбце А​ = Split(Trim(ПолеА), «,»)​ на вкладке Power​ для проверки условий,​ отсортирован по компаниям,​​
​Объединить и поместить в​

​ пробелы между числами,​ в этой ячейке​ arr(k) = Диапазон(j,​ будут называться одинаково​ & vbLf​ данных​

  • ​ Len(Слитый_Текст) — 1)​​ а также многократные​Теперь можно найти ее​ друг от друга​ -англиские, в столбце​
  • ​ For I =​​ Query (если у​ например:​ то приведенная выше​3 главных недостатка функции​ центре​ в формуле, т.к.​
  • ​ (D1) формулу. Нажимаем​​ i)​ и нужно будет​Else​’ Notes: по​End Function​ пробелы между словами​ в списке функций​ содержимое наших будущих​ Б — русские,​ LBound(arrPoleA) To UBound(arrPoleA)​ вас Excel 2010-2013)​?1##??777RUS — выборка по​ простая формула не​ СЦЕПИТЬ по сравнению​действует как переключатель,​ лишние пробелы могут​ на ячейку (активной​Next: Next​

text_to_columns3.png

​ просто тупо помнить​​Разделитель = vbLf​​ умолчанию включен перенос​Помедленней, чем у​ (исползуется стандартная функция​ в категории​ отдельных столбцов (​ без потери своих​

Способ 2. Как выдернуть отдельные слова из текста

​ With ActiveSheet lRow​ жмем​ всем автомобильным номерам​ работает, но можно​ с оператором &:​ т.е. повторное нажатие​ привести к ошибке​ сделаем).​End If​

  • ​ в какой последовательности​End If​​ строк внутри ячейки​ Формуляра, но быстрей​ ​ СЖПРОБЕЛЫ)​Определенные пользователем (User Defined)​
  • ​с разделителями​ аналогов.​​ = .Cells(Rows.Count, 2).End(xlUp).Row​Из таблицы (Data -​ 777 региона, начинающимся​​ легко выкрутиться с​​Ограниченное максимальное количество объединяемых​

​ на нее отменит​​ при подсчете или​​Заходим на закладке​ReDim Preserve arr(1​ их надо вводить.​

​End If​’—————————————————————————————​ Лешиного. И компактней,​Else​и использовать со​) или в тексте​Sanja​ .Cells(lRow + 1,​

​ From Table)​ с 1​ помощью небольшой пользовательской​​ значений ячеек до​​ объединение. Удаленные данные​ формула не будет​

​ «Формулы» в раздел​

​ To k)​

  • ​nerv​If TypeName(Диапазон) =​Разделитель = Разделитель​
  • ​ чем оба предыдущих​Слитый_Текст = Слитый_Текст​
  • ​ следующим синтаксисом:​ с помощью пробелов​

​: тогда так Private​

text_to_columns4.png

Способ 3. Разделение слипшегося текста без пробелов

​ 2) = arrPoleA(I)​:​ООО* — все компании,​ функции на VBA.​ 255.​ при этом не​ считать.​ «Библиотека функций», выбираем​СЦЕПДИАП_A = Join(arr,​: Вообще-то, брать «на​ «Range» Then Диапазон​ & IIf(Переносить, Chr(10),​Исправил для варианта​ & Разделитель_Данных &​=SUBSTRING(Txt; Delimeter; n)​ имитируются столбцы одинаковой​ Sub ВставитьА_Click() arrPoleA​ End With Next​В открывшемся окне редактора​

​ название которых начинается​ Откройте редактор Visual​Функция объединяет только текстовые​ восстановятся​Можно данные в​ – «Текстовые», и​ Разделитель)​ слабо» не хорошо.​ = Диапазон.Value​ «»)​ с одной строкой.​ Перенос_Строки & Application.WorksheetFunction.Trim(Ячейка.Value)​где​ ширины (​ = Split(Trim(ПолеА), Chr(10))​ ‘очистка полей ввода​ запросов выделяем щелчком​ на ООО​ Basic нажатием на​ значения, а оператор​Для доступа к дополнительным​ строке переместить из​ выбираем функцию «СЦЕПИТЬ».​

​СЦЕПДИАП_A = Application.Trim(СЦЕПДИАП_A)​ Но, раз ты​If Not IsArray(Диапазон)​Dim Arr, xArr​nerv​

разделение слипшегося текста без пробелов

Ссылки по теме

  • ​End If​Txt — адрес ячейки​фиксированная ширина​
  • ​ With ActiveSheet .Columns(«B:B»).ClearContents​ ПолеА.Text = «»​ по заголовку столбец​

planetaexcel.ru

Функция (UDF) «СКЛЕИТЬ» (Возвращает «склеенные» тексты из ячеек диапазона)

​##7## — все товары​​ сочетание клавиш​
​ & объединит любые​
​ параметрам объединения ячеек,​
​ последних ячеек в​ В появившемся окне​End Function​ просишь пример:​ Then СЦЕПДИАП_A =​Arr = Application.Trim(ДИАПАЗОН.Value)​: так Лешин вариант​Next Ячейка​ с текстом, который​).​ For I =​
​ End Sub​
​Компания​ с пятизначным цифровым​
​Alt+F11​ значения ячеек.​
​ нажмите стрелку рядом​ первые,​
​ указываем адреса ячеек,​
​Alex_ST​
​200?'200px':''+(this.scrollHeight+5)+'px');">Sub nerv()​
​ Диапазон: Exit Function​For Each xArr​ лохматого года​СКЛЕИТЬ = Слитый_Текст​ делим​На втором шаге​ LBound(arrPoleA) To UBound(arrPoleA)​
​Clasen​и сверху жмем​ кодом, где третья​
​или с помощью​
​Функция требует немного больше​ с иконкой команды​
​перевернуть строку​ которые нам нужно​: Привет, Андрей!​
​MsgBox io(",", 1,​ReDim arr(1 To​
​ In Arr​Alex_ST​
​End Function​Delimeter - символ-разделитель (пробел,​Мастера​ lRow = .Cells(Rows.Count,​: Александр, но данный​ кнопку​ цифра 7​
​ кнопки​
​ затрат времени и​Объединить и поместить в​. Например, в ячейках​
​ объединить в одно​
​А может быть​
​ 2, 3)​
​ UBound(Диапазон, 1) *​

​If Len(xArr) Then​​: Блин! Мыла о​
​Примечания​ запятая и т.д.)​, если мы выбрали​ 2).End(xlUp).Row + 1​ код не работает…​Группировать (Group By)​
​????? — все названия​Visual Basic​ ресурсов как у​
​ центре​

​ написано: в первой​​ предложение. Получилось так.​ для красоты заменить​End Sub​ UBound(Диапазон, 2))​
​ СКЛЕИТЬ = СКЛЕИТЬ​
​ репликах в старых​:​n - порядковый номер​ формат с разделителями​
​ .Cells(lRow, 2) =​ он просто вставляет​. Вводим имя нового​ из пяти букв​
​на вкладке​ программы Excel (в​. Появится выпадающее меню,​ ячейке Иванова, во​ФИО написаны без пробелов.​
​200?'200px':''+(this.scrollHeight+5)+'px');">If сПереносом Then​Function io(delimiter, ParamArray​If ПоСтолбцам Then​ & IIf(Len(СКЛЕИТЬ), Разделитель,​ постах почему-то перестали​
​При "склеивании" удаляются​ извлекаемого фрагмента​ (как в нашем​ arrPoleA(I) Next .Range("B1").Delete​ текст, но не​
​ столбца и тип​ и т.д.​Разработчик (Developer)​ процессе вычислений с​
​ со следующими командами:​ второй - Мария.​
​ Чтобы это исправить,​If Разделитель <>​ arr()) As String​
​For i =​
​ "") & xArr​
​ приходить​ лидирующие и финиширующие​
​Например:​ примере) - необходимо​
​ Shift:=xlUp End With​ выполняет нужного действия​
​ операции в группировке​В работе может встретиться​. В открывшемся окне​
​ использованием сложных формул),​
​Объединить и поместить в​ Нам нужно написать​
​ формулу нужно доработать.​

​ » » Then​​io = Join(arr,​
​ 1 To UBound(Диапазон,​Next​
​Хотя раньше (когда​ пробелы, а также​
​Тяжелый случай, но тоже​ указать какой именно​
​ 'очистка полей ввода​
​Sanja​
​ -​
​ задача, когда сцеплять​ вставьте новый пустой​ так и у​ центре:​ в первой ячейке​ Между адресами ячеек​Разделитель = Разделитель​
​ delimiter)​ 2)​End Function​
​ я их создавал)​
​ многократные пробелы между​ бывает. Имеем текст​
​ символ является разделителем:​ ПолеА.Text = ""​: Так что нужно?​
​Все строки (All Rows)​
​ текст нужно больше,​ модуль через меню​ пользователя (в процессе​Объединяет выделенные ячейки​
​ Мария, во второй​ после точки с​
​ & vbLf​End Function​For j =​А по поводу​
​ точно приходили. Какой-то​
​ словами (используется стандартная​ совсем без пробелов,​
​Если в тексте есть​

​ End Sub​ Вставлять или не​:​ чем по одному​smile
​Insert — Module​ ввода функции в​

​ в одну, а​​ — Иванова. Как​ запятой написать​laugh

​Else​​RAN​ 1 To UBound(Диапазон,​ Application.Index(a, i, 0)​ глюк форума.​angry
​ функция СЖПРОБЕЛЫ).​ слипшийся в одну​ строки, где зачем-то​Clasen​
​ вставлять? В чем​Жмем ОК и получаем​ условию. Например представим,​и скопируйте туда​ строку формул).​ содержимое помещает в​ это сделать быстро​
​» «​

​Разделитель = vbLf​​, ну вот зачем​ 1)​ — не знаю.​Я сюда случайно​​Если это не​ длинную фразу (например​
​ подряд идут несколько​: Здорово! Оно работать​
​ подвох?​ для каждой компании​
​ что в нашей​
​ текст нашей функции:​
​Интересный факт! В Excel​
​ центре.​ в большой таблице,​. Получилась такая формула.​End If​ это извращение?​If Len(Диапазон(j, i))​
​ У меня почему-то​ заглянул чтобы посмотреть​ нужно, то можно​
​ ФИО "ИвановИванИванович"), который​
​ разделителей (несколько пробелов,​ так, как нужно,​Clasen​
​ мини-таблицу сгруппированных значений.​
​ предыдущей таблице добавился​
​Function MergeIf(TextRange As​ нет обратной функции​
​Объединить по строкам:​ смотрите в статье​=СЦЕПИТЬ(A1;" ";B1;" ";C1)​End If​
​Code200?'200px':''+(this.scrollHeight+5)+'px');">Next: Next​
​ Then k =​

​ работать не хочет​ что новенького и​ в коде заменить​ надо разделить пробелами​ например), то флажок​
​ не подскажете, как​: Нужно, что бы​ Содержимое таблиц хорошо​ еще один столбец​ Range, SearchRange As​ РАСЦЕПИТЬ и нет​

​Объединяет ячейки по​​ «Как поменять местами​Получилось так.​на Code200?’200px’:»+(this.scrollHeight+5)+’px’);»>If сПереносом​если так хочется​ k + 1:​ даже если я​ увидел, что мои​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>Application.WorksheetFunction.Trim(Ячейка.Value) на Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>Ячейка.Value​ на отдельные слова.​
​Считать последовательные разделители одним​
smile

​ теперь сделать, чтобы​​ при вставке текста,​
​ видно, если щелкать​ с городом и​ Range, Condition As​ специального символа оператора.​ строкам, т.е. в​ столбцы в Excel».​Теперь формулу копируем вниз​ Then Разделитель =​ записать в одну​ arr(k) = Диапазон(j,​
​ ставлю не Application.Index,​ старые посты всплыли​Формуляр​ Здесь может помочь​​ (Treat consecutive delimiters​ я вставлял текст​
​ который указан в​ левой кнопкой мыши​
​ склеивание нужно проводить​ String) Dim Delimeter​
​ Для решения такой​
​ каждой строке выделенного​
​В данном уроке мы​
​ по столбцу.​ IIf(Разделитель = "​ строчку, тогда уж​ i)​ а Application.WorksheetFunction.Index​ и в них​
​: Хочу предложить свой​ небольшая макрофункция, которая​ as one)​
​ в мемо и​
​ примере, он вставлял​ в белый фон​ не только для​
​ As String, i​
​ задачи применяются формулы​
​ диапазона образуется отдельная​ изучим такие полезные​
​Второй вариант.​ ", "", Разделитель)​Code200?'200px':''+(this.scrollHeight+5)+'px');">Next j, i​Next: Next​
​Да и это​
​ есть реплики.​

​ вариант аналогичной ф-ции​ будет автоматически добавлять​заставит Excel воспринимать​ он подставлялся под​ не ВЕСЬ в​ ячеек (не в​ заданной компании, но​ As Long Delimeter​
​ с комбинациями текстовых​ ячейка.​ функции Microsoft Excel,​Вместо функции «СЦЕПИТЬ»​ & vbLf -​

​Формуляр​​Else​ моё крайнее решение,​Ща будем посмотреть.​ с преобразованием размерности​ пробел перед заглавными​ их как один.​ последнюю заполненную ячейку​ одну ячейку, а​ текст!) в получившемся​

​ еще и для​​ = «, «​ функций. Например маркером​Объединить ячейки:​
​ как перенос текста​ можно просто нажать​
​ это точно пройдёт​: Ну-у, так -​For j =​ ИМХО, достаточно простое​Alex_ST​
​ массива:​ буквами. Откройте редактор​Выпадающий список​ в соответсвующем столбце?​biggrin​ каждое слово в​

​ столбце:​​ заданного города. В​
​ ‘символы-разделители (можно заменить​
​ для расцепления текста​Объединяет ячейки в​ по строкам и​ кнопку амперсанд (&).​Или вообще на​smile
​ не интересно.​ 1 To UBound(Диапазон,​
​ и должно быть​: Посмотрел у себя.​biggrin
​200?’200px’:»+(this.scrollHeight+5)+’px’);»>​
​ Visual Basic как​
​Ограничитель строк (Text Qualifier)​Sanja​
​ свою, как если​Теперь добавим еще один​
​ этом случае нашу​
​ на пробел или​ послужит символ пробела​
​ одну, не помещая​

​ объединение нескольких ячеек​​ Формула получится такая.​ Code200?’200px’:»+(this.scrollHeight+5)+’px’);»>Разделитель = IIf(Разделитель​delimiter​ 1)​ не тормозным​ Увидел, что макрос​
​Declare Function VarPtr​ в предыдущем способе,​нужен, чтобы текст​: . Private Sub​
​ бы это была​ столбец, где с​ функцию придется немного​ ; и т.д.)​ « » ,​
​ содержимое в центре.​
​ в одну. С​
​=A2&B2&С1​ = " ",​должен быть​
​For i =​KuklP​ давно уже переделан​
​ Lib "msvbvm60" (variable​ вставьте туда новый​ заключенный в кавычки​ ВставитьА_Click() arrPoleA =​
​ обычная вставка.​ помощью функции склеим​ модернизировать, добавив к​
​ 'если диапазоны проверки​
​ а дальше:​Отменить объединение ячеек:​
​ помощью данных функций​
​Результат такой же,​ "", Разделитель) &​
​optional​ 1 To UBound(Диапазон,​
​: Леш, а ты​
​ в обработку массива​
​ As Any) As​
​ модуль и скопируйте​
​ (например, название компании​ Split(Trim(ПолеА), Chr(10)) With​В столбце А,​
​ через запятую содержимое​ ней проверку еще​ и склеивания не​
​чтобы расцепить только имя​Отменяет объединение.​ Вы сможете переносить​
​ как в первом​
​ IIf(сПереносом, vbLf, "")-​.​ 2)​
​ мой пример смотрел​200?'200px':''+(this.scrollHeight+5)+'px');">Function СКЛЕИТЬ$(ДИАПАЗОН As Range,​ Long​
​ в него код​ "Иванов, Манн и​ ActiveSheet For I​ так, как нужно​ столбцов Адрес в​
​ одного диапазона:​
​ равны друг другу​
​ используем формулу: =ЛЕВСИМВ(C2;ПОИСК("​Урок подготовлен для Вас​ текст на несколько​
​ варианте. Если нет​ тут надо "пощупать​Лучше уж ориентироваться​
​If Len(Диапазон(j, i))​ от Вчера, 09:32?​ _​Declare Function ArrPtr​ этой функции:​
​ Фарбер") не делился​
​ = LBound(arrPoleA) To​
​ было, а в​ каждой из мини-таблиц.​
​Function MergeIfs(TextRange As​
​ - выходим с​

​ «;C2;1))​​ командой сайта office-guru.ru​ строк, создавать заголовки​ пропусков между словами,​ в разных позах»​ по типу:​ Then k =​ А по поводу​Optional Разделитель$ =​
​ Lib «msvbvm60» Alias​Function CutWords(Txt As​ по запятой​ UBound(arrPoleA) lRow =​ столбце Б, как​ Для этого на​ Range, SearchRange1 As​ ошибкой If SearchRange.Count​biggrin
​чтобы расцепить только фамилию​Источник: http://www.gcflearnfree.org/office2013/excel2013/8/full​ для таблиц, вписывать​ то вставьте пробел​ возможные сочетания, но​200?’200px’:»+(this.scrollHeight+5)+’px’);»>if typeName(arr(Ubound(arr))) = «boolean»​ k + 1:​ многомерности, у меня​ «», _​
​ «VarPtr» (arr() As​ Range) As String​внутри названия.​ .Cells(Rows.Count, 2).End(xlUp).Row +​ работает Ваша программа​ вкладке​
​ Range, Condition1 As​ <> TextRange.Count Then​
​ – формула: =ПРАВСИМВ(C4;ПОИСК(«​Автор/переводчик: Антон Андронов​ длинный текст в​ (» «).​ мне сейчас к​ then delimiter =​ arr(k) = Диапазон(j,​ в примере тоже​sad

​Optional Переносить As​​ Any) As Long​

​ Dim Out$ If​​И, наконец, на третьем​
​ 1 .Cells(lRow, 2)​Sanja​Добавить столбец​ String, SearchRange2 As​ MergeIf = CVErr(xlErrRef)​ «;C4;1)+1)​Автор: Антон Андронов​ одну строку, не​Формула будет такая.​
​ сожалению некогда -​ arr(Ubound(arr))​ i)​ есть. Только клеится​ Boolean = True)​Declare Function PutMem2​
​ Len(Txt) = 0​ шаге для каждого​ = arrPoleA(I) Next​: А это не​жмем​ Range, Condition2 As​
​ Exit Function End​Фактически функция СЦЕПИТЬ устарела,​Одна из самых популярных​ увеличивая при этом​ =A2&» «&B2&» «&C2​ на работе «срочняк»​RAN​Next: Next​ не поячеечно, а​’—————————————————————————————​

​ Lib «msvbvm60» (ByVal​​ Then Exit Function​ из получившихся столбцов,​ End With ПолеА.Value​ Вы писали?​
​Пользовательский столбец (Add column​
​ String) Dim Delimeter​ If 'проходим по​
​ но все еще​
​ операций в Exel​ ширину столбцов, и​
​Объединить можно не​Fitcher​
​: Все пробовал либо​

​End If​​ построчно.​’ Procedure: СКЛЕИТЬ​
​ pDst As Long,​
​ Out = Mid(Txt,​ выделяя их предварительно​ = «» End​
​Clasen​

​ — Custom column)​​ As String, i​ все ячейкам, проверяем​​ доступна пользователям в​​ по работе с​​ многое другое.​​ только слова, но​
​: Вот это работает,​ со всеми заполненными​
​СЦЕПДИАП_A = Join(arr,​Alex_ST​' Author: Alex_ST​

​ ByVal NewValue As​​ 1, 1) For​ в окне Мастера,​ Sub​: Простите, если запутал​и в появившемся​ As Long Delimeter​ условие и собираем​ новых версиях программы​ текстом – это​
​Очень часто содержимое не​ и цифры. Можно​ но в столбцах​ ячейками, либо с​
​ Разделитель)​: Посмотрел. Почему-то заработало.​' Purpose: склеить​ Long) As Long​ i = 2​
​ необходимо выбрать формат:​
​Clasen​
​ Вас, немного трудно​ окне вводим имя​ = ", "​
​ текст в переменную​ Excel.​ объединение текстовых строк.​
​ может полностью отобразиться​составить предложение из данных​ стоит фильтр, как​ разделителем пробел. А​
​СЦЕПДИАП_A = Application.Trim(СЦЕПДИАП_A)​ Хотя раньше ругалось​ тексты из выделенных​
​Declare Function PutMem4​
​ To Len(Txt) If​общий​
​: Огромное Вам человеческое​
​ в 18 лет​ нового столбца и​
​ 'символы-разделители (можно заменить​ OutText For i​
​Про то, как можно​
​ Например, объединение нескольких​
​ в ячейке, т.к.​
​ ячеек в Excel​
​ сделать, чтобы скрытые​ лишние пробелы и​End Function​
​ на Application.Index​ ячеек в одну​ Lib "msvbvm60" (ByVal​
​ Mid(Txt, i, 1)​- оставит данные​ спасибо, Александр, за​
​ самому себе придумать​
​ формулу сцепки на​ на пробел или​ = 1 To​
​ быстро склеивать текст​ слов в одну​ ее ширины не​
​.​ строки он не​ Trim хорошо убирал.​Alex_ST​Не пойму, в​
​ строку с задаваемыми​
​ pDst As Long,​
​ Like "[a-zа-я]" And​ как есть -​ проявленное терпение) Вы​
​ работу, а потом​ встроенном в Power​ ; и т.д.)​
​ SearchRange.Cells.Count If SearchRange.Cells(i)​ из нескольких ячеек​ строку. На практике​ хватает. В таких​Можно установить формулы​
​ переносил? и разделял​
​ Сейчас попробовал сразделителем​
​: Интересный подход абсолютно​ чём было дело.​
​ при необходимости разделителями​ ByVal NewValue As​
​ Mid(Txt, i +​
​ подходит в большинстве​

​ мне очень помогли.​​ ещё понять, как​
​ Query языке М:​ ‘если диапазоны проверки​​ Like Condition Then​
​ в одну и,​ в процессе рутинной​
​ случаях Вы можете​ в нужных ячейках​
​ текст не пробелом​
​ ";" - лишние​
​ с другой стороны:​
​Правда, я тут​

​ данных​ Long) As Long​ 1, 1) Like​ случаев​ Кому интересно, то​ её работать. Надеюсь,​
​Обратите внимание, что все​ и склеивания не​ OutText = OutText​ наоборот, разбирать длинную​ работы с Excel​ выбрать один из​ бланка. Например, у​ а «шт» ?​ появляются. Пришлось подкорректировать​ сначала сделать массив-строку,​ подвисал и пришлось​smile

​’ Notes: по​​Declare Function GetMem4​ «[A-ZА-Я]» Then Out​дата​ вот код для​ Вы поняли, с​ М-функции регистрочувствительные (в​ равны друг другу​ & TextRange.Cells(i) &​

excelworld.ru

​ текстовую строку на​

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 формула символ переноса строки