Сцепить только непустые ячейки excel

Сцепить непустые ячейки

Tallen

Дата: Среда, 25.08.2021, 12:48 |
Сообщение № 1

Группа: Пользователи

Ранг: Участник

Сообщений: 71


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Здравствуйте, уважаемые специалисты Excel!
Помогите пожалуйста исправить формулу в столбце G (а может там нужна совершенно другая..?), чтобы сцеплялись только непустые значения ячеек. На ПК Excel 2007

К сообщению приложен файл:

__.xlsx
(10.7 Kb)

Сообщение отредактировал TallenСреда, 25.08.2021, 12:50

 

Ответить

bigor

Дата: Среда, 25.08.2021, 13:10 |
Сообщение № 2

Группа: Проверенные

Ранг: Ветеран

Сообщений: 804


Репутация:

163

±

Замечаний:
0% ±


нет

Добрый день

примерно так

Код

=IF(F4>0;$B$1&» «&F4&» в т.ч.  «&IF(B4>0;$B$2&» — «&B4&» «;»»)&IF(C4>0;$C$2&» — «&C4&» «;»»)&IF(D4>0;$D$2&» — «&D4&» «;»»)&IF(E4>0;$E$2&» — «&E4&» «;»»);»»)

Сообщение отредактировал bigorСреда, 25.08.2021, 13:11

 

Ответить

Serge_007

Дата: Среда, 25.08.2021, 13:11 |
Сообщение № 3

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Здравствуйте

Код

=ЕСЛИ(F3=0;»»;B$1&»: «&$F3&», в т.ч.: «&ЕСЛИ(B3=»»;»»;B$2&» — «&B3&»; «)&ЕСЛИ(C3=»»;»»;C$2&» — «&C3&»; «)&ЕСЛИ(D3=»»;»»;D$2&» — «&D3&»; «)&ЕСЛИ(E3=»»;»»;E$2&» — «&E3&»; «))


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Tallen

Дата: Среда, 25.08.2021, 13:24 |
Сообщение № 4

Группа: Пользователи

Ранг: Участник

Сообщений: 71


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Serge_007, спасибо большое! Именно это и нужно мне для полного счастья! ))

 

Ответить

Tallen

Дата: Среда, 25.08.2021, 13:27 |
Сообщение № 5

Группа: Пользователи

Ранг: Участник

Сообщений: 71


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

bigor, спасибо!

 

Ответить

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

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

Допустим, что у нас имеется база данных по клиентам, где одному названию компании может соответствовать несколько разных email’ов ее сотрудников. Наша задача состоит в том, чтобы собрать все адреса по названиям компаний и сцепить их (через запятую или точку с запятой), чтобы сделать потом, например, почтовую рассылку по клиентам, т.е. получить на выходе что-то похожее на:

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

Другими словами, нам нужен инструмент, который будет склеивать (сцеплять) текст по условию — аналог функции СУММЕСЛИ (SUMIF), но для текста.

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

Не очень изящный, зато самый простой способ. Можно написать несложную формулу, которая будет проверять отличается ли компания в очередной строке от предыдущей.  Если не отличается, то приклеиваем через запятую очередной адрес. Если отличается, то «сбрасываем» накопленное, начиная заново:

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

Минусы такого подхода очевидны: из всех ячеек полученного дополнительного столбца нам нужны только последние по каждой компании (желтые). Если список большой, то чтобы их быстро отобрать придется добавить еще один столбец, использующий функцию ДЛСТР (LEN), проверяющий длину накопленных строк:

Отбор строк

Теперь можно отфильтровать единички и скопировать нужные склейки адресов для дальнейшего использования.

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

Если исходный список не отсортирован по компаниям, то приведенная выше простая формула не работает, но можно легко выкрутиться с помощью небольшой пользовательской функции на VBA. Откройте редактор Visual Basic нажатием на сочетание клавиш Alt+F11 или с помощью кнопки Visual Basic на вкладке Разработчик (Developer). В открывшемся окне вставьте новый пустой модуль через меню Insert — Module и скопируйте туда текст нашей функции:

Function MergeIf(TextRange As Range, SearchRange As Range, Condition As String)
    Dim Delimeter As String, i As Long
    Delimeter = ", " 'символы-разделители (можно заменить на пробел или ; и т.д.)
    
    'если диапазоны проверки и склеивания не равны друг другу - выходим с ошибкой
    If SearchRange.Count <> TextRange.Count Then
        MergeIf = CVErr(xlErrRef)
        Exit Function
    End If
    
    'проходим по все ячейкам, проверяем условие и собираем текст в переменную OutText
    For i = 1 To SearchRange.Cells.Count
        If SearchRange.Cells(i) Like Condition Then OutText = OutText & TextRange.Cells(i) & Delimeter
    Next i
    
    'выводим результаты без последнего разделителя
    MergeIf = Left(OutText, Len(OutText) - Len(Delimeter))
End Function

Если теперь вернуться в Microsoft Excel, то в списке функций (кнопка fx в строке формул или вкладка Формулы — Вставить функцию) можно будет найти нашу функцию MergeIf в категории Определенные пользователем (User Defined). Аргументы у функции следующие:

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

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

Если заменить в 13-й строчке нашего макроса первый знак = на оператор приблизительного совпадения Like, то можно будет осуществлять склейку по неточному совпадению исходных данных с критерием отбора. Например, если название компании может быть записано в разных вариантах, то мы можем одной функцией проверить и собрать их все:

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

Поддерживаются стандартные спецсимволы подстановки:

  • звездочка (*) — обозначает любое количество любых символов (в т.ч. и их отсутствие)
  • вопросительный знак (?) — обозначает один любой символ
  • решетка (#) — обозначает одну любую цифру (0-9)

По умолчанию оператор Like регистрочувствительный, т.е. понимает, например, «Орион» и «оРиОн» как разные компании. Чтобы не учитывать регистр можно добавить в самое начало модуля в редакторе Visual Basic строчку Option Compare Text, которая переключит Like в режим, когда он невосприимчив к регистру.

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

  • ?1##??777RUS — выборка по всем автомобильным номерам 777 региона, начинающимся с 1
  • ООО* — все компании, название которых начинается на ООО
  • ##7## — все товары с пятизначным цифровым кодом, где третья цифра 7
  • ????? — все названия из пяти букв и т.д.

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

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

Function MergeIfs(TextRange As Range, SearchRange1 As Range, Condition1 As String, SearchRange2 As Range, Condition2 As String)
    Dim Delimeter As String, i As Long
    Delimeter = ", " 'символы-разделители (можно заменить на пробел или ; и т.д.)
    
    'если диапазоны проверки и склеивания не равны друг другу - выходим с ошибкой
    If SearchRange1.Count <> TextRange.Count Or SearchRange2.Count <> TextRange.Count Then
        MergeIfs = CVErr(xlErrRef)
        Exit Function
    End If
    
    'проходим по все ячейкам, проверяем все условия и собираем текст в переменную OutText
    For i = 1 To SearchRange1.Cells.Count
        If SearchRange1.Cells(i) = Condition1 And SearchRange2.Cells(i) = Condition2 Then
            OutText = OutText & TextRange.Cells(i) & Delimeter
        End If
    Next i
    
    'выводим результаты без последнего разделителя
    MergeIfs = Left(OutText, Len(OutText) - Len(Delimeter))
End Function

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

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

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

Решить проблему можно и без программирования на VBA, если использовать бесплатную надстройку Power Query. Для Excel 2010-2013 ее можно скачать здесь, а в Excel 2016 она уже встроена по умолчанию. Последовательность действий будет следующей:

Power Query не умеет работать с обычными таблицами, поэтому первым шагом превратим нашу таблицу в «умную». Для этого ее нужно выделить и нажать сочетание Ctrl+T или выбрать на вкладке Главная — Форматировать как таблицу (Home — Format as Table). На появившейся затем вкладке Конструктор (Design) можно задать имя таблицы (я оставил стандартное Таблица1):

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

Теперь загрузим нашу таблицу в надстройку Power Query. Для этого на вкладке Данные (если у вас Excel 2016) или на вкладке Power Query (если у вас Excel 2010-2013) жмем Из таблицы (Data — From Table):

Загрузка в Power Query

В открывшемся окне редактора запросов выделяем щелчком по заголовку столбец Компания и сверху жмем кнопку Группировать (Group By). Вводим имя нового столбца и тип операции в группировке — Все строки (All Rows):

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

Жмем ОК и получаем для каждой компании мини-таблицу сгруппированных значений. Содержимое таблиц хорошо видно, если щелкать левой кнопкой мыши в белый фон ячеек (не в текст!) в получившемся столбце:

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

Теперь добавим еще один столбец, где с помощью функции склеим через запятую содержимое столбцов Адрес в каждой из мини-таблиц. Для этого на вкладке Добавить столбец жмем Пользовательский столбец (Add column — Custom column) и в появившемся окне вводим имя нового столбца и формулу сцепки на встроенном в Power Query языке М:

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

Обратите внимание, что все М-функции регистрочувствительные (в отличие от Excel). После нажатия на ОК получаем новый столбец со склееными адресами:

Результат

Осталось удалить ненужный уже столбец ТаблАдресов (правой кнопкой мыши по заголовку — Удалить столбец) и выгрузить результаты на лист, нажав на вкладке Главная — Закрыть и загрузить (Home — Close and load):

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

Важный нюанс: в отличие от предыдущих способов (функций), таблицы из Power Query не обновляются автоматически. Если в будущем произойдут какие-либо изменения в исходных данных, то нужно будет щелкнуть правой кнопкой в любое место таблицы результатов и выбрать команду Обновить (Refresh).

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

  • Как разделить длинную текстовую строку на части
  • Несколько способов склеить текст из разных ячеек в одной
  • Использование оператора Like для проверки текста по маске

СЦЕПИТЬ не пустые ячейки

Автор Jim, 07.09.2009, 15:23

« назад — далее »

Всем привет!
Подскажите, как прописать формулу СЦЕПИТЬ, так чтобы он сцеплял только не пустые ячейки из столбца А.
Допустим имеется в столбце числа (в разброс по столбцу), и необходимо сцепить их через знак «;».

Просьба помочь… спасибо.


Ну, это проще всего решить пользовательской функцией.

Например так:
Public Function СцепитьБезПустышек(target As Range)
    For Each cl In target.Cells
        If cl.Value <> «» Then СцепитьБезПустышек = СцепитьБезПустышек & cl.Value & «;»
    Next
End Function


Я не совсем понял… ну вставил я этот код… и что дальше? что нужно сделать чтобы сработало?


1. Создаете в книге модуль.
2. Вставляете в него код.
3. используете функцию =СцепитьБезПустышек() в ячейках книги, как любую другую функцию.


Цитата: Алексей Шмуйлович от 08.09.2009, 11:41
Ну, это проще всего решить пользовательской функцией.

Например так:
Public Function СцепитьБезПустышек(target As Range)
    For Each cl In target.Cells
        If cl.Value <> «» Then СцепитьБезПустышек = СцепитьБезПустышек & cl.Value & «;»
    Next
End Function

Алексей, здравствуйте!
А если с точностью до наоборот у меня задача, макрос не подскажите?
Поясню: в столбце ооочень большое количество ячеек, в ячейках наборы цифр (телефонных номеров) по 2 штуки (+7 (495) 123 45 67 +7 (910) 765 43 21) и уж очень мне хочется их разбить, да так, чтобы второй тлф мигрировал в ячейку направо, или налево, не играет роли, но важно, чтобы в сторону.. Вооот..


Пара способов (на двух листах)

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995


Цитата: _Boroda_ от 13.09.2009, 04:32
Пара способов (на двух листах)

_Boroda_, Благодарю! До формул дошел, ползая по соседним топикам, но изящество встроенной функции поражает.. Даже стыдно, что не знал про нее.. Пойду учить матчасть  ;)


  • Профессиональные приемы работы в Microsoft Excel

  • Обмен опытом

  • Microsoft Excel

  • СЦЕПИТЬ не пустые ячейки

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

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

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

Объединить ячейки, игнорируя или пропуская пробелы с помощью Kutools for Excel


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

док объединить пропустить пробелы 1

Введите эту формулу в пустую ячейку, в которую вы хотите поместить объединенный результат, =A1&IF(A2<>»»,»-«&A2,»»)&IF(A3<>»»,»-«&A3,»»)&IF(A4<>»»,»-«&A4,»»)&IF(A5<>»»,»-«&A5,»»), затем перетащите маркер заполнения прямо к ячейкам, к которым вы хотите применить эту формулу, и значения строк были объединены без пустых ячеек, как показано на следующем снимке экрана:

док объединить пропустить пробелы 2

Tips: Если необходимо объединить больше строк, вы должны использовать функцию ЕСЛИ для объединения ячеек, например =A1&IF(A2<>»»,»-«&A2,»»)&IF(A3<>»»,»-«&A3,»»)&IF(A4<>»»,»-«&A4,»»)&IF(A5<>»»,»-«&A5,»»)&IF(A6<>»»,»-«&A6,»»), «« Символ в формуле можно заменить любыми другими разделителями, которые вам нужны.


Объединение нескольких ячеек игнорирует или пропускает пробелы:

Kutools for Excel‘s Сочетать Строки, столбцы или ячейки без потери данных Функция может помочь вам объединить или объединить несколько строк, столбцов или ячеек без потери данных, но пропустить или игнорировать пустые ячейки. Нажмите, чтобы скачать Kutools for Excel!

док объединить пропустить пробелы 7


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

1. Удерживайте Alt + F11 ключи в Excel, и он открывает Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модули, и вставьте следующий макрос в Модули Окно.

Код VBA: объединенные ячейки игнорируют пробелы:

Function Concatenatecells(ConcatArea As Range) As String
'updateby Extendoffice
  For Each n In ConcatArea: nn = IIf(n = "", nn & "", nn & n & "/"): Next
  Concatenatecells = Left(nn, Len(nn) - 1)
End Function

3. Сохраните и закройте это окно кода, вернитесь на рабочий лист и введите следующую формулу: = concatenatecells (A1: A5) в пустую ячейку и перетащите маркер заполнения прямо в ячейки, чтобы применить эту формулу, и вы получите следующий результат:

док объединить пропустить пробелы 3

Tips: В приведенном выше коде VBA вы можете изменить «/»На любые другие необходимые вам разделители.


Помимо скучной формулы и кода, здесь я могу порекомендовать удобный инструмент —Kutools for Excel, с его мощным Сочетать Утилита, вы можете объединить несколько ячеек в одну без каких-либо усилий.

После установки Kutools for Excel, пожалуйста, сделайте следующее:

1. Выберите значение ячеек, которое вы хотите объединить.

2. Нажмите Кутулс > Слияние и разделениеКомбинируйте строки, столбцы или ячейки без потери данных, см. снимок экрана:

3. В появившемся диалоговом окне:

  • (1.) Выберите тип ячеек, которые вы хотите объединить, вы можете объединить столбцы, объединить строки и объединить все ячейки в одну ячейку;
  • (2.) Укажите разделитель для объединенного содержимого;
  • (3.) Выберите место для размещения результата, вы можете поместить результат в верхнюю или нижнюю ячейку;
  • (4.) Укажите, как работать с объединенными ячейками, вы можете сохранить или удалить содержимое из этих объединенных ячеек, а также можете объединить эти объединенные ячейки.

док объединить пропустить пробелы 5

4. После завершения настройки нажмите Ok Кнопка, и выбранные строки были объединены в одну ячейку отдельно, и она автоматически пропустила пробелы, см. снимок экрана:

док объединить пропустить пробелы 6

Скачать и бесплатную пробную версию Kutools for Excel Сейчас !



Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Skip to content

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Функция СЦЕП

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

=СЦЕП(A1; B1)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

=A1&B1

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

=A1&» «&B1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

или

=A1 & » » & B1

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

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

или

=A1 & «, » & B1

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

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

или

=A1 & «-» & B1

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

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

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

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

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

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

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

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

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

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

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

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

=A1 & «/» & B1

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

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

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

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

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

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

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

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

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

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

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

=A1 & A2 & A3 & A4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

=СЦЕП(A2:D2)

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

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

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

=СЦЕП(A:A)

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

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

=СЦЕП(A2:A1048576)

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

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

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

=СЦЕП(A2:C3)

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

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

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

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

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

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

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

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

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

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

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

или

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Понравилась статья? Поделить с друзьями:
  • Схема управления предприятием word
  • Сцепить текст в excel с переносом
  • Схема со стрелками для word
  • Сцепить столбец ячейки в excel
  • Схема склада в excel