Надпись на заборе: «Катя + Миша + Семён + Юра + Дмитрий Васильевич +
товарищ Никитин + рыжий сантехник + Витенька + телемастер Жора +
сволочь Редулов + не вспомнить имени, длинноволосый такой +
ещё 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
Объединение текста из двух или нескольких ячеек в одну
Данные из нескольких ячеек можно объединить в одну с помощью символа «амперсанд» (&) или функции СЦЕП.
Объединение данных с помощью символа «амперсанд» (&)
-
Выделите ячейку, в которую вы хотите вставить объединенные данные.
-
Введите = (знак равенства) и выберите первую ячейку, которую нужно объединить.
-
Введите символ & и пробел, заключенный в кавычки.
-
Выберите следующую ячейку, которую нужно объединить, и нажмите клавишу ВВОД. Пример формулы: =A2&» «&B2.
Объединение данных с помощью функции СЦЕП
-
Выделите ячейку, в которую вы хотите вставить объединенные данные.
-
Введите выражение = СЦЕП(.
-
Выберите первую ячейку, которую нужно объединить.
Для разделения объединяемых ячеек используйте запятые, а для добавления пробелов, запятых и другого текста — кавычки.
-
Введите закрывающую скобку в конце формулы и нажмите клавишу ВВОД. Пример формулы: =CONCAT(A2, » Семья»).
Дополнительные сведения
См. также
Функция ОБЪЕДИНИТЬ
Функция CONCAT
Объединение и отмена объединения ячеек
СЦЕПИТЬ
Рекомендации, позволяющие избежать появления неработающих формул
Автоматическая нумерация строк
Нужна дополнительная помощь?
Необходимость объединить текст в Excel появляется очень при работе с многими документами, но многие не знают, как можно очень просто и быстро справится с этой задачей с помощью табличного редактора MS Excel.
В этой статье мы на примерах рассмотрим, как в Excel объединить ячейки с текстом. Объединить текст в нескольких ячейках можно несколькими способами. Рассмотрим каждый из них.
Все рассмотренные далее способы объединения текста применяются для всех версий: Excel 2003, Excel 2007, Excel 2010, Excel 2013, Excel 2016. Рассмотрим каждый из них.
Объединить ячейки с текстом с помощью знака амперсанда
Итак, первый способ. Самый простой способ объединить текст в нескольких ячейках в Excel – это использовать знак амперсанда (&).
Например, у нас есть таблица с тремя столбцами в которых содержится фамилия, имя и отчество сотрудников компании или учащихся, студентов.
Объединить текст в Excel – Таблица с данными
Нам необходимо создать столбец, который будет содержать в одной ячейке фамилию, имя и отчество. То есть объединить текст в нескольких ячейках Excel.
1. Переходим ячейку D2. В данной ячейке мы будем объединять текст из нескольких ячеек.
2. Вводим знак =, и кликаем по ячейке с фамилией (A2), затем вводим знак амперсанда & при помощи сочетания клавиш SHIFT+7.
3. Далее нам необходимо поставить разделитель, чтобы наша фамилия «не слиплась» с именем и отчеством. В данном случае мы будем использовать пробел. Для этого после амперсанда ставим пробел, заключенный в кавычки (» «).
Разделитель необязательно должным пробелом, вы можете использовать любой символ, знак или комбинацию. Для этого необходимо заключить их в кавычки. Например, если вы хотите разделить объединяемый текст с помощью запятых, то используйте запятую и пробел после нее («, «).
4. Далее снова вводим знак амперсанда &, и кликаем по ячейке с именем (B2).
5. Опять таки не забываем по разделитель – пробел в кавычках (» «).
6. Осталось только присоединить отчество. Вводим знак & и кликаем на ячейку С2.
7. Нажимаем клавишу Enter и любуемся полученным результатом.
Получившаяся формула выглядит так:
=A2&» «&B2&» «&C2
И в нашей ячейке D2 появился объединенный текст из трех ячеек.
Объединить текст в Excel – Объединить текст с помощью амперсанда
Чтобы заполнить все оставшиеся ячейки достаточно выделить ячейку, и перетащить маркер заполнения вниз. Теперь все ячейки заполнены объединенным текстом, и столбец «ФИО» выглядит следующим образом:
Объединить текст в Excel – Объединенный текст для всех сотрудников
Если необходимо объединить текст в двух ячейках, например, объединить фамилию и имя, то формула для первого человека будет выглядеть так:
=A2&» «&B2
Объединить текст в Excel – Объединить 2 ячейки с текстом
Давайте рассмотрим еще один случай, когда необходимо объединить текст в нескольких ячейках, но не полностью. Например, получить в ячейке фамилию и инициалы человека.
Для того чтобы объединить ячейки с текстом, и в тоже время ограничить количество символов в имени и отчестве, нам понадобится функция ЛЕВСИМВ. Данная функция возвращает первый символ, или указанное число первых символов тестовой строки.
Для получения желаемого результата введите следующую формулу:
=A2&» «&ЛЕВСИМВ(B2)&». «&ЛЕВСИМВ(C2)&».»
Таким образом мы получим следующую таблицу:
Объединить текст в Excel – Объединенный текст фамилии и инициалов с помощью амперсанда
Обратите внимание, что в данном случае мы в качестве разделителя используем точку и пробел («. «). Перейдем с следующему способу, как объединить текст в ячейках в Excel.
Объединить текст в ячейках с помощью функции СЦЕПИТЬ
В этом примере для объединения текста в ячейках мы будем использовать функцию «СЦЕПИТЬ», которая объединяет две или несколько текстовые строки в одну, позволяя комбинировать их с произвольным текстом. Рассмотрим пример, как в Excel объединить столбцы с текстом.
Добавим к таблице столбец с названием города.
Объединить текст в Excel – Дополнение исходной таблицы
Пусть мы хотим не только объединить ячейки с текстом, но и составить такого вида текст: «Иванов Иван Иванович, проживающий в городе Москва».
Тогда в ячейке мы вводим в следующую формулу:
=СЦЕПИТЬ(A2;» «;B2;» «; C2;», проживающий в городе «;D2)
Заполняем оставшиеся ячейки с помощью маркера заполнения и в результате получаем такой результат:
Объединить текст в 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. » от общего объема продаж» – завершаем наше предложение.
И заполняем для остальных сотрудников с помощью маркера заполнения.
В результате мы получаем следующее:
Объединить текст в Excel – Объединить текст в ячейке с датой и числами
Ну вот, в итоге мы объединили текст из нескольких ячеек и получили полноценные предложения, которые можно будет вставить, к примеру в отчет.
Объединить текст в ячейках с помощью функции ОБЪЕДИНИТЬ
В версии MS Excel 2016 появилась еще одна функция для объединения текста – функция ОБЪЕДИНИТЬ. Если вы пользователь более ранних версий, то для того чтобы объединить текст, используйте вышеописанные способы.
Обратите внимание, что функция Объединить доступна только при наличии подписки на Office 365.
С помощью функции ОБЪЕДИНИТЬ можно объединить текст из нескольких ячеек, строк или диапазонов.
Сперва разберем синтаксис функции ОБЪЕДИНИТЬ:
=ОБЪЕДИНИТЬ(разделитель; игнорировать_пустые; текст1; [текст2]; …)
- разделитель – текстовая строка, которой будет разделятся объединенный текст;
- игнорировать_пустые – принимает значение ИСТИНА (1) или ЛОЖЬ (0). Если необходимо пропустить пустые ячейки, то устанавливаем значение ИСТИНА;
- текст1 – текстовый элемент, который необходимо объединить;
- [текст2]; … – дополнительные текстовые элементы для объединения.
Рассмотрим пример, как объединить текст в Excel используя функцию ОБЪЕДИНИТЬ.
Объединить текст в Excel – Объединить текст с помощью функции ОБЪЕДИНИТЬ
На этом мы закончим статью, как в Excel объединить текст. Мы рассмотрели несколько вариантов, как объединить текст в ячейках в Excel с помощью амперсанда (&), функции СЦЕПИТЬ, функции ОБЪЕДИНИТЬ, а также как объединить текст с датой или числами с соответствующими форматами.
Объединение текста из двух или нескольких ячеек в одну
Смотрите также200?’200px’:»+(this.scrollHeight+5)+’px’);»>Function СЦЕПДИАП_A(Диапазон As Variant, а потом уже перегружаться, а потом умолчанию включен перенос
Объединение данных с помощью символа «амперсанд» (&)
-
Lib «msvbvm60» (ByVal = Out &- необходимо выбирать
-
обоих работающих кнопок, чем именно я отличие от Excel). — выходим с
-
Delimeter Next i составляющие я уже часто приходиться объединять двух вариантов: перенести
-
нас есть такойДанные из нескольких ячеек Optional Разделитель As её сцеплять Join’ом. отвлекли. Вот сразу строк внутри ячейки
Объединение данных с помощью функции СЦЕП
-
pSrc As Long, Mid(Txt, i, 1) для столбцов с
-
в том виде, прошу помочь) После нажатия на
-
ошибкой If SearchRange1.Count ‘выводим результаты без
писал. Теперь же Имена и Фамилии текст по строкам список клиентов с можно объединить в
-
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
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
- этот формат
For I = в стартовом сообщении,
ТаблАдресов по все ячейкам, Microsoft Excel, то при выполнении определенногоИмя – ячейки вПри переносе текста высота «&»проживает по адресу»&» объединенные данные. As String
что это шибкоnervFor i =’Конкатенация для диапазона
End Function
нужен, по большому LBound(arrPoleA) To UBound(arrPoleA) т.е. разделяет большой
(правой кнопкой мыши проверяем все условия в списке функций заданного условия. этой колонке содержат строки будет автоматически «&»г.»&» «&D2&» «&»ул.»&»
Введите = (знак равенства)’————————————————————————————— нужно. Но если: #2 1 To UBound(Arr) ячеекТеперь можно использовать эту
счету, не для lRow = .Cells(Rows.Count, текст на блоки по заголовку - и собираем текст (кнопкаДопустим, что у нас текстовые данные полученные изменяться, что позволит
«&E2&» «&»д.»&» «&F2&».» и выберите первую
’ Author: RAN не даёт усложнения
На правах офф-топа:
СКЛЕИТЬ = СКЛЕИТЬDim transformArray() As функцию на листе столбцов с ФИО, 1).End(xlUp).Row + 1 (разделитель блоков -Удалить столбец в переменную OutTextfx имеется база данных из базы картотек содержимому отображаться наПолучилось такое предложение. ячейку, которую нужно’ 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’ов ее
- фамилии сотрудников. объединив при этом ячейках уже написан,и пробел, заключенный по умолчанию « прав. Это UDF
- на javascript’е пишуEnd Function’— Преобразуем 2-мерный готовой функции надстройки обязательно должен воспринять
- Private Sub ВставитьБ_Click() не понял. Лучше
загрузить (Home - = Condition2 Then нашу функцию сотрудников. Наша задача
Объединение ячеек в Excel
В третьем столбце «Имя несколько смежных. но нам нужно в кавычки. « для применения вЧуть позже будетP.S. Долго гадал массив в 1-мерный PLEX как текст. Например, arrPoleB = Split(Trim(ПолеБ), попытайтесь объяснить логику
Close and load) OutText = OutTextMergeIf состоит в том,
- + Фамилия» необходимоВ следующем примере мы
- вставить дополнительные словаВыберите следующую ячейку, которую’ Notes: Optional качестве формулы листа. код ))) над тайным скрытым
- GetMem4 ArrPtr(transformArray), VarPtr(SA_Ptr)Что такое макросы, куда для столбца с Chr(10)) With ActiveSheet
разбивки текста по: & 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
: в отличие от Next i ‘выводим
. Аргументы у функции
компаний и сцепить
для последующего использования
office-guru.ru
Лучшая альтернатива функции СЦЕПИТЬ и объединить текст в Excel
столбцу D. с помощью формулы. Пример формулы: по столбцам ячеек, а отДля примера: порывшись по Справке… ‘.cDims = 1Alex_ST противном случае произойдет lRow = .Cells(Rows.Count,: Вот файл Excel предыдущих способов (функций), результаты без последнего
Как сцепить два текста в один с помощью и без функции Excel?
следующие: их (через запятую в сводных таблицах
- Выделите ячейки, текст в У нас такой=A2&» «&B2’ Notes: Optional силы десяток-два.
- 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 = как нужно мне, будущем произойдут какие-либо
- Применяться она будет совершенно= рассылку по клиентам,
- объедини тексты из мы выделим ячейки В ячейке нового объединенные данные.
- 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( $KuklPEnd 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 String200?’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 по умолчанию. Последовательность функцией проверить и Можно написать несложную рисунке с помощьюПри объединении двух иЕщё один способ нажмите клавишу ВВОД.
= Диапазон.Valuenerv Optional Разделитель AsAlex_ST
- ’ Author: Alex_STOptional Разделитель_Данных$ = 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 со вставкой, я таблицами, поэтому первым любое количество любых строке от предыдущей. ячеек без использования при этом не в статье «ДобавитьСписок в ExcelReDim 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
— отдельно индекс, КАК? Логика какая? текст и он нужно выделить и обозначает один любой Если отличается, то и B2 с все ячейки на можно преобразовать список, инициалы, соединить словаFor i = листа именно так’—————————————————————————————
зависимости от размерности’ 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: Optional200?’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: OptionalOptional Переносить As = Join(a, Разделитель_Данных):If Переносить_ДА_НЕТ$ <>
текст вот этой. файла, вот ссылка вставки, но тогдаТаблица1 редакторе Visual Basic использующий функцию Однако на практике центреЕсли между словами Excel, есть специальнаяFor j =
первые 2-3 элемента сПереносом по умолчанию Boolean = True) Exit Function «НЕТ» Then Перенос_Строки пользовательской функции:Появится окно на него. текст дублируется и): строчкуДЛСТР (LEN) мы не рекомендуемна вкладке появились лишние пробелы,
функция. Есть два 1 To UBound(Диапазон, массива — параметры — «нет»’—————————————————————————————For i = = vbLfFunction 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)’
n > 0 текста. Или это И они идут по аналогии Private(если у васТаким образом можно составлять дальнейшего использования. она имеет ряд центре. Excel». Этими же ячейке D1 ФИО Then k = элементы UDF при » » Then строку с задаваемымиNext
будут удаляться лидирующие And n - текст, в котором в соседних столбцах. Sub ВставитьА_Click() arrPoleA Excel 2016) или весьма сложные маскиЕсли исходный список не
своих недостатков.Кнопка способами можно удалить одним предложением. Пишем 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
просто тупо помнитьРазделитель = 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)
- nervIf TypeName(Диапазон) =Разделитель = Разделитель
- чем оба предыдущихСлитый_Текст = Слитый_Текст
- следующим синтаксисом: с помощью пробелов
: тогда так Private
Способ 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, xArrnerv
Ссылки по теме
- End IfTxt — адрес ячейкификсированная ширина
- 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 FunctionFor Each xArr лохматого годаСКЛЕИТЬ = Слитый_Текст делимНа втором шаге LBound(arrPoleA) To UBound(arrPoleA)
Clasenи сверху жмем кодом, где третья
или с помощью
Функция требует немного больше с иконкой команды
перевернуть строку которые нам нужно: Привет, Андрей!
MsgBox io(",", 1,ReDim arr(1 To
In ArrAlex_ST
End FunctionDelimeter - символ-разделитель (пробел,Мастера 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 сПереносом ThenFunction io(delimiter, ParamArrayIf ПоСтолбцам Then & IIf(Len(СКЛЕИТЬ), Разделитель, постах почему-то перестали
При "склеивании" удаляются извлекаемого фрагмента (как в нашем arrPoleA(I) Next .Range("B1").Delete текст, но не
столбца и тип и т.д.Разработчик (Developer) процессе вычислений с
со следующими командами: второй - Мария.
Чтобы это исправить,If Разделитель <> arr()) As String
For i =
"") & xArr
приходить лидирующие и финиширующие
Например: примере) - необходимо
Shift:=xlUp End With выполняет нужного действия
операции в группировкеВ работе может встретиться. В открывшемся окне
использованием сложных формул),
Объединить и поместить в Нам нужно написать
формулу нужно доработать.
» » Thenio = Join(arr,
1 To UBound(Диапазон,Next
Хотя раньше (когда пробелы, а также
Тяжелый случай, но тоже указать какой именно
'очистка полей ввода
Sanja
-
задача, когда сцеплять вставьте новый пустой так и у центре: в первой ячейке Между адресами ячеекРазделитель = Разделитель
delimiter) 2)End Function
я их создавал)
многократные пробелы между бывает. Имеем текст
символ является разделителем: ПолеА.Text = "": Так что нужно?
Все строки (All Rows)
текст нужно больше, модуль через меню пользователя (в процессеОбъединяет выделенные ячейки
Мария, во второй после точки с
& vbLfEnd FunctionFor j =А по поводу
точно приходили. Какой-то
словами (используется стандартная совсем без пробелов,
Если в тексте есть
End Sub Вставлять или не: чем по одному
Insert — Module ввода функции в
в одну, а — Иванова. Как запятой написать
ElseRAN 1 To UBound(Диапазон, Application.Index(a, i, 0) глюк форума.
функция СЖПРОБЕЛЫ). слипшийся в одну строки, где зачем-то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 на отдельные слова.
Считать последовательные разделители одним
теперь сделать, чтобы при вставке текста,
видно, если щелкать с городом и 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, iNext: Next
Да и это
есть реплики.
вариант аналогичной ф-ции будет автоматически добавлятьзаставит Excel воспринимать он подставлялся под не ВЕСЬ в ячеек (не в заданной компании, но As Long Delimeter
с комбинациями текстовых ячейка. функции Microsoft Excel,Вместо функции «СЦЕПИТЬ» & vbLf -
ФормулярElse моё крайнее решение,Ща будем посмотреть. с преобразованием размерности пробел перед заглавными их как один. последнюю заполненную ячейку одну ячейку, а текст!) в получившемся
еще и для = «, « функций. Например маркеромОбъединить ячейки:
как перенос текста можно просто нажать
это точно пройдёт: Ну-у, так -For j = ИМХО, достаточно простоеAlex_ST
массива: буквами. Откройте редакторВыпадающий список в соответсвующем столбце? каждое слово в
столбце: заданного города. В
‘символы-разделители (можно заменить
для расцепления текстаОбъединяет ячейки в по строкам и кнопку амперсанд (&).Или вообще на
не интересно. 1 To UBound(Диапазон,
и должно быть: Посмотрел у себя.
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» AliasFunction CutWords(Txt As по запятой UBound(arrPoleA) lRow = столбце Б, как Для этого на Range, SearchRange1 As ошибкой If SearchRange.Count
чтобы расцепить только фамилиюИсточник: 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, в примере тоже
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 на работе «срочняк»RANNext: 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 выбрать один из бланка. Например, у а «шт» ? появляются. Пришлось подкорректировать сначала сделать массив-строку, подвисал и пришлось
’ Notes: поDeclare Function GetMem4 «[A-ZА-Я]» Then Outдата вот код для Вы поняли, с М-функции регистрочувствительные (в равны друг другу & TextRange.Cells(i) &
excelworld.ru
текстовую строку на
Skip to content
В этом руководстве вы узнаете о различных способах объединения текстовых значений, ячеек, диапазонов, столбцов и строк в 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 вещей, о которых нужно помнить при объединении данных
Прежде чем мы углубимся в практические примеры, позвольте мне кратко указать несколько моментов, на которые следует обратить внимание:
- Для работы функций СЦЕПИТЬ и СЦЕП требуется хотя бы один текстовый аргумент. Если какой-либо из аргументов недействителен (например, представлен другой функцией, которая выдает ошибку), то произойдет ошибка.
- Результатом этих функций всегда является текстовая строка, даже если вы объединяете числа.
- Если результирующая строка превышает 32 767 символов, возникает ошибка #ЗНАЧ! .
- В СЦЕПИТЬ и СЦЕП нет предопределенного параметра для разделителя между объединяемыми значениями. Чтобы разделить объединенные фрагменты текста, поместите разделители между ссылками на ячейки, например:
=СЦЕП(A1;” “;A2;”-“;A3)
- Пустые ячейки игнорируются.
- Функция СЦЕПИТЬ не распознает массивы. Каждая ссылка на ячейку должна быть указана отдельно. Например, вы должны написать
=СЦЕПИТЬ(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
и кликнуть мышкой каждую ячейку, которую хотите включить в формулу СЦЕПИТЬ. Вот подробные шаги:
- Выберите ячейку, в которую вы хотите ввести формулу.
- Введите
=СЦЕПИТЬ(
в этой ячейке или в строке формул. - Нажмите и удерживайте
Ctrl
и кликните последовательно на каждую ячейку, которую вы хотите объединить. - Отпустите
Ctrl
, введите закрывающую скобку в строке формул и нажмитеENTER
.
Примечание. При использовании этого метода вы должны щелкнуть каждую отдельную ячейку. Выбор диапазона с помощью мыши добавит в формулу массив, который функция СЦЕПИТЬ не принимает.
2. Используйте функцию ТРАНСП, чтобы получить диапазон
Когда вам нужно объединить большой диапазон, состоящий из десятков или сотен ячеек, предыдущий метод недостаточно быстр и удобен, поскольку требует клика по каждой ячейке. В этом случае лучше использовать функцию ТРАНСП, чтобы взять диапазон ячеек, а затем заменить его значениями отдельных ячеек одним махом.
- В ячейку, куда вы хотите записать результат объединения, введите формулу ТРАНСП, например:
=ТРАНСП(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:
- Прежде всего, функция СЦЕП преодолевает самое большое ограничение своего предшественника — невозможность обработки диапазона ячеек. В отличие от функции СЦЕПИТЬ, она может объединять все значения в диапазоне, избавляя вас от необходимости указывать каждую ссылку на ячейку по отдельности.
- Функция СЦЕП доступна только в Excel 365, Excel 2021, Excel 2019 (Windows и Mac) и Excel Online. Функция СЦЕПИТЬ поддерживается во всех версиях Excel с 2007 по 365.
Во всем остальном эти две функции по существу одинаковы.
Надстройка «Объединить ячейки» — способ сцепить ячейки в Excel без использования формул
С надстройкой «Объединить ячейки», включенной в Ultimate Suite for Excel , вы можете эффективно выполнять следующие задачи:
- Объединить несколько ячеек в одну без потери данных.
- Объединить значения нескольких ячеек в одну ячейку и разделить их любым разделителем по вашему выбору.
Инструмент «Объединить ячейки» работает со всеми версиями Excel и может объединять все типы данных, включая текстовые строки, числа, даты и специальные символы. Два его ключевых преимущества — простота и скорость — любое объединение делается в пару кликов. А теперь позвольте мне показать вам это в действии.
Чтобы сцепить содержимое нескольких ячеек, вы выбираете диапазон для объединения и настраиваете следующие параметры:
- Ячейки в одну под » Как сцепить «;
- Выберите нужный разделитель в разделе « Разделить значения с помощью », в данном примере это точка с запятой и пробел;
- Выберите, где вы хотите разместить результат;
- И самое главное – снимите флажок «Объединить все области в выделенном». Именно этот параметр определяет, объединяются ли сами ячейки или только сцепляются их значения.
Процесс вы видите на скриншоте ниже.
Вот сам результат:
Чтобы объединить два или более столбца, вы настраиваете параметры «Ячейки слияния» аналогичным образом, но выбираете «Столбцы» в разделе « Что объединять»:
Чтобы проверить, как надстройка Merge Cells будет работать с вашими наборами данных, вы можете использовать эту ссылку для загрузки полнофункциональной пробной версии Ultimate Suite для Excel.
Возможно, эти статьи вам будут интересны: