Надпись на заборе: «Катя + Миша + Семён + Юра + Дмитрий Васильевич +
товарищ Никитин + рыжий сантехник + Витенька + телемастер Жора +
сволочь Редулов + не вспомнить имени, длинноволосый такой +
ещё 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
Объединение и отмена объединения ячеек
СЦЕПИТЬ
Рекомендации, позволяющие избежать появления неработающих формул
Автоматическая нумерация строк
Нужна дополнительная помощь?
#Руководства
- 29 апр 2022
-
0
Инструкции со скриншотами и нюансами. Учим использовать кнопку «Объединить» и функции СЦЕПИТЬ, СЦЕП, ОБЪЕДИНИТЬ. Рассказываем, какой метод выбрать.
Иллюстрация: Meery Mary для Skillbox Media
Рассказывает просто о сложных вещах из мира бизнеса и управления. До редактуры — пять лет в банке и три — в оценке имущества. Разбирается в Excel, финансах и корпоративной жизни.
Объединение ячеек в Excel позволяет из нескольких ячеек таблицы сделать одну. Такая опция обычно требуется в двух случаях:
- если нужно отформатировать таблицу — например, расположить название таблицы по центру, убрать лишние пустые ячейки или оформить шапку;
- если нужно объединить информацию — из нескольких строк или столбцов сделать одну ячейку, при этом сохранив все данные.
Рассмотрим четыре способа объединения ячеек в Excel. Разберёмся, для каких случаев они подойдут и как их применять. В конце расскажем, какие из этих способов работают в «Google Таблицах».
- Кнопка «Объединить» — когда нужно сделать шапку в таблице.
- Функция СЦЕПИТЬ — когда нужно собрать данные из нескольких ячеек в одну.
- Функция СЦЕП — когда нужно собрать данные из большого диапазона.
- Функция ОБЪЕДИНИТЬ — когда нужно собрать данные из большого диапазона и автоматически разделить их пробелами.
Для чего подойдёт. Для форматирования таблицы, когда нужно улучшить её внешний вид. Например, сделать общую шапку для нескольких столбцов. Лучше, чтобы объединяемые ячейки были пустыми или информация была только в одной из них.
Особенности метода. После объединения сохраняется только значение первой ячейки, информация из других удаляется.
Как сделать. Допустим, нужно отформатировать таблицу с каталогом авто: оформить шапку для колонок с характеристиками и убрать лишнюю пустую ячейку.
Скриншот: Skillbox
Для начала сделаем шапку. Выделяем ячейки над колонками с характеристиками авто: год выпуска, объём двигателя, коробка передач, привод, руль.
Скриншот: Skillbox
На вкладке «Главная» нажимаем на кнопку «Объединить ячейки» или «Объединить и поместить в центре» — в зависимости от того, какой визуальный результат хотим получить.
Скриншот: Skillbox
В итоге вместо пяти ячеек получаем одну. Вводим её название и меняем оформление, если нужно.
В нашем случае получилась шапка части таблицы — «Характеристики автомобилей».
Скриншот: Skillbox
По аналогии с предыдущими шагами уберём лишнюю пустую ячейку над ячейкой «Марка, модель». Для этого нужно выделить их одновременно и также нажать на кнопку «Объединить и поместить в центре».
Скриншот: Skillbox
Получаем таблицу в таком виде:
Скриншот: Skillbox
Чтобы убрать объединение ячеек, выделим их и нажмём на кнопку «Отмена объединения ячеек». Можно выбирать всю таблицу целиком — тогда Excel сам найдёт объединённые ячейки и разъединит их. Можно выделить отдельный диапазон — в этом случае разъединится только он. Мы выделим и разъединим всю шапку таблицы.
Скриншот: Skillbox
Получим таблицу в таком виде. Можно внести необходимые изменения, если нужно, и объединить ячейки снова.
Скриншот: Skillbox
Дополнительно в этом методе есть кнопка «Объединить по строкам». С помощью неё можно объединить ячейки выбранного диапазона построчно. Например, есть диапазон из трёх столбцов и семи строк — нужно из всех этих столбцов сделать один, но при этом оставить количество строк неизменным. Выделим всю таблицу целиком и нажмём эту кнопку.
Скриншот: Skillbox
Получим таблицу в таком виде — три столбца объединились в один, при этом количество строк осталось прежним.
Скриншот: Skillbox
Следующие три способа используются для объединения ячеек с сохранением всех данных в них. Они работают по такому принципу: функции собирают значения из выбранных ячеек в отдельную пустую ячейку.
Например, нам нужно собрать все характеристики автомобилей в одну строку, чтобы в дальнейшем использовать их для квитанции. Разберёмся, как сделать это с помощью трёх функций.
Для чего подойдёт. Для объединения небольшого количества ячеек с сохранением всех данных.
Особенности метода. Каждую ячейку нужно указывать в виде отдельного аргумента функции; большой диапазон сразу выделить нельзя.
Функция склеивает все данные из исходных ячеек в итоговую ячейку. Часто эти данные нужно разделить: вставить пробелы, знаки препинания, символы или слова. Это придётся прописывать вручную в строке ссылок.
Как сделать. Для начала выделим ячейку, в которую функция соберёт значения из объединяемых ячеек. В нашем случае создадим дополнительную колонку «Данные для квитанции» и выделим первую ячейку.
Скриншот: Skillbox
Дальше открываем окно для построения функции. Есть два способа сделать это. Первый — перейти во вкладку «Формулы» и нажать на «Вставить функцию».
Скриншот: Skillbox
Второй способ — нажать на «fx» в строке ссылок на любой вкладке таблицы.
Скриншот: Skillbox
Справа появляется окно «Построитель формул». В нём через поисковик находим функцию СЦЕПИТЬ и нажимаем «Вставить функцию».
Скриншот: Skillbox
Появляется окно для ввода аргументов функции. «Текст 1», «Текст 2» — ячейки, значения которых мы объединяем. В нашем случае таких ячеек пять, поэтому с помощью кнопки + добавляем ещё три таких аргумента.
Скриншот: Skillbox
Заполняем аргументы функции. Поочерёдно нажимаем на окно каждого аргумента и из таблицы выбираем значение для него.
Порядок действий, чтобы указать значение, выглядит так:
- Ставим курсор в окно «Текст1» в построителе формул.
- Выбираем первое значение столбца «Год выпуска» в таблице. Это ячейка B4.
Выбранное значение переносится в построитель формул и одновременно появляется в формуле строки ссылок: fx=СЦЕПИТЬ(B4).
То же самое делаем для остальных аргументов: «Текст2» → значение ячейки «Объем», «Текст3» → значение ячейки «Коробка передач», «Текст4» → значение ячейки «Привод», «Текст5» → значение ячейки “Руль”.
В итоговом виде функция получается такой: fx=СЦЕПИТЬ(B4; C4; D4; E4; F4). Нажимаем кнопку «Готово».
Скриншот: Skillbox
Скриншот: Skillbox
Функция объединила данные всех ячеек, но не добавила пробелы и знаки препинания между ними. В этом методе их можно добавить только вручную, с помощью изменений в строке ссылок.
Добавляем в получившуюся функцию после значения каждого аргумента запятую и пробел, в таком виде, вместе с кавычками: «, «;
Скриншот: Skillbox
Получаем функцию в таком виде: fx=СЦЕПИТЬ(«год выпуска «;B4;», объем «;C4;», коробка передач «;D4;», привод «;E4;», руль «;F4). Нажимаем Enter.
Скриншот: Skillbox
Таким же образом можно добавить не только пробелы и знаки препинания, но и целые слова и фразы.
Для нашего примера можно преобразовать функцию к такому виду: fx=СЦЕПИТЬ(«год выпуска «;B4;», объем «;C4;», коробка передач «;D4;», привод «;E4;», руль «;F4). Главное — не забывать указывать все необходимые пробелы, которые должны быть между объединёнными данными.
Скриншот: Skillbox
Дальше нужно протянуть это значение вниз до конца таблицы, чтобы функция объединила характеристики всех остальных автомобилей.
Скриншот: Skillbox
Для чего подойдёт. Для объединения больших диапазонов ячеек с сохранением всех данных.
Особенности метода. Можно указать сразу весь диапазон ячеек. Но функция, как и СЦЕПЛЕНИЕ, склеит их: значения не будут ничем разделены.
Есть два способа разделить значения в итоговой ячейке. Первый — указывать разделители (слова, символы. пробелы, запятые и так далее) в окне построения формул после каждой ячейки. Второй — прописывать их вручную в строке ссылок.
Как сделать. По аналогии с функцией СЦЕПЛЕНИЕ выделим ячейку, в которую функция будет собирать значения. Откроем окно для построения функций и найдём функцию СЦЕП.
Скриншот: Skillbox
Появляется окно построителя формул. В нём аргумент «Текст 1» — диапазон ячеек, который нужно объединить. В нашем случае выделяем все ячейки с характеристиками автомобилей и жмём «Готово».
Выбранное значение диапазона переносится в построитель формул и одновременно появляется в формуле строки ссылок: fx=СЦЕП(B4:F4).
Скриншот: Skillbox
Скриншот: Skillbox
Как и в предыдущем случае, функция объединила данные всех ячеек, но снова слепила их между собой. Добавить пробелы и знаки препинания в этом методе можно через построитель формул. К сожалению, тогда придётся отказаться от выделения всего диапазона и вводить значения каждого аргумента отдельно, разбавляя их пробелами, запятыми или дополнительными словами.
Вернёмся в окно построения функции и поменяем аргументы на такой вид: «Текст1» → значение ячейки «Год выпуска», «Текст2» → «, «, «Текст3» → значение ячейки «Объём», «Текст4» → «, «. И так далее до последней ячейки, которую нужно объединить: чередуем значения ячеек и аргумент-разделитель.
Затем нажимаем «Готово». Итоговое значение функции принимает вид: fx=СЦЕП(B4;», «;C4;», «;D4;», «;E4;», «;F4), и данные ячейки разделяются запятыми и пробелами.
Скриншот: Skillbox
Скриншот: Skillbox
Чтобы добавить не только запятые с пробелами, но и слова, нужно дописать их в промежуточных аргументах функции. Сделаем это на нашем примере. Вернёмся в построитель формул и заменим данные:
«Текст2» → «, объём «, «Текст4» → «, коробка передач «, «Текст6» → «, привод «, «Текст8» → «, руль «.
Скриншот: Skillbox
В итоге функция выдаёт значение, где все данные разделены между собой дополнительными словами. Формула при этом принимает вид: fx=СЦЕП (B4;”, объём “; C4;”, коробка передач “; D4;”, привод “; E4;”, руль “; F4).
Скриншот: Skillbox
Как и в предыдущем методе, можно было вносить изменения в формулу сразу в строке ссылок. Но через окно построения функций это делать удобнее — меньше вероятность ошибиться.
Протягиваем полученное значение вниз до конца таблицы — функция объединяет характеристики всех остальных автомобилей по такому же принципу.
Скриншот: Skillbox
Для чего подойдёт. Для объединения больших диапазонов ячеек с сохранением данных.
Особенности метода. Можно указать сразу весь диапазон ячеек и разделитель для них. При этом значение самого разделителя будет одним для всех объединённых ячеек. Если нужно изменить разделитель для части ячеек — делать это придётся вручную в строке ссылок.
Как сделать. Выделим ячейку, в которую функция будет собирать значения. Откроем окно для построения функций и найдём функцию ОБЪЕДИНИТЬ.
Скриншот: Skillbox
Появляется окно построителя формул. Здесь аргументы не такие очевидные, как в предыдущих двух методах, поэтому разберём каждый подробнее.
«Разделитель» — значение, которое появится между ячейками после объединения. Разделитель будет одинаковым для всех ячеек.
В нашем случае в качестве разделителя добавим запятую и пробел: «, «.
Скриншот: Skillbox
«Пропускать_пустые» — условное значение, которое определит, что функция будет делать с пустыми ячейками в диапазоне:
- Если нужно, чтобы пустые ячейки игнорировались и разделители не дублировались в них, вводим 1 (ИСТИНА).
- Если нужно, чтобы пустые ячейки обязательно учитывались, вводим 0 (ЛОЖЬ).
В нашем примере в таблице нет пустых ячеек, поэтому не принципиально, какое значение устанавливать в этом аргументе. Введём 1.
Скриншот: Skillbox
«Текст1» — значения ячеек, которые нужно объединить. Можно выбирать одним диапазоном или вводить каждое значение по отдельности.
В нашем примере выберем все ячейки одним диапазоном.
Скриншот: Skillbox
Итоговая функция в строке ссылок принимает вид: fx=ОБЪЕДИНИТЬ(«, «;1;B4:F4).
Нажимаем кнопку «Готово» и растягиваем полученную ячейку на все остальные строки.
Скриншот: Skillbox
В итоге функция объединила данные всех ячеек и сразу разделила их запятыми и пробелами. С одной стороны, это удобно: не пришлось вводить разделители несколько раз. С другой стороны, функция позволила ввести только одно значение разделителя. Если нужно дополнить значения дополнительным текстом, разным для всех ячеек, — придётся делать это вручную через построитель формул. Как это сделать, можно посмотреть в предыдущей инструкции для функции СЦЕП.
Какие методы объединения ячеек есть в «Google Таблицах»? В них есть кнопка «Объединить», которая работает по аналогии с Excel. Также есть функция СЦЕПИТЬ, но нет окна построителя формул — прописывать значения придётся вручную. Если вам нужен разделитель в виде запятой и пробела, то функция будет выглядеть так: fx=СЦЕПИТЬ(C4;», «;D4).
Научитесь: Excel + Google Таблицы с нуля до PRO
Узнать больше
Необходимость объединить текст в Excel появляется очень при работе с многими документами, но многие не знают, как можно очень просто и быстро справится с этой задачей с помощью табличного редактора 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
текстовую строку на