Excel как при условии сцепить текст

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

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

Допустим, что у нас имеется база данных по клиентам, где одному названию компании может соответствовать несколько разных 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 для проверки текста по маске

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

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

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

Формула функций выглядит так:

=СЦЕП(текст1;текст2;...) или =СЦЕПИТЬ(текст1;текст2;...)

Максимальное количество аргументов – 255.

Вставка и настройка функции

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

  1. Для начала определяемся с ячейкой, в которой планируем объединить данные из других. Переходим в нее (выделяем) и щелкаем по значку “Вставить функцию” (fx).Вставка функции в ячейку таблицы Эксель
  2. В открывшемся окне вставки функции выбираем категорию “Текстовые” (или “Полный алфавитный перечень”), отмечаем строку “СЦЕП” (или “СЦЕПИТЬ”) и кликаем OK.Выбор функции СЦЕП в Эксель
  3. На экране появится окно, в котором нужно заполнить аргументы функции, в качестве которых могут быть указаны как конкретные значения, так и ссылки на ячейки. Причем последние можно указать как вручную, так и просто кликнув по нужным ячейкам в самой таблице (при это курсор должен быть установлен в поле для ввода значения напротив соответствующего аргумента). В нашем случае делаем следующее:
    • находясь в поле “Текст1” щелкаем по ячейке (A2), значение которой будет стоять на первом месте в объединенной ячейке;Заполнение аргументов функции СЦЕП в Эксель
    • кликаем по полю “Текст2”, где ставим запятую и пробел (“, “), которые будут служит разделителем между содержимыми ячеек, указанных в аргументах “Текст1” и “Текст3” (появится сразу же после того, как мы приступим к заполнению аргумента “Текст2”). Можно на свое усмотрение указывать любые символы: пробел, знаки препинания, текстовые или числовые значения и т.д.Заполнение аргументов функции СЦЕП в Excel
    • переходим в поле “Текст3” и кликаем по следующей ячейке, содержимое которой нужно добавить в общую ячейку (в нашем случае – это B2).Заполнение аргументов оператора СЦЕП в Эксель
    • аналогичным образом заполняем все оставшиеся аргументы, после чего жмем кнопку OK. При этом увидеть предварительный результат можно в нижней левой части окна аргументов.Заполнение аргументов оператора СЦЕП в Excel
  4. Все готово, нам удалось объединить содержимое всех выбранных ячеек в одну общую.Результат по функции СЦЕП в Эксель
  5. Выполнять действия выше для остальных ячеек столбца не нужно. Просто наводим указатель мыши на правый нижний угол ячейки с результатом, и, после того как он сменит вид на небольшой черный плюсик, зажав левую кнопку мыши тянем его вниз до нижней строки столбца (или до строки, для которой требуется выполнить аналогичные действия).Копировании функции СЦЕП на другие ячейки столбца в Эксель
  6. Таким образом, получаем заполненный столбец с новыми наименованиями, включающими данные по размеру и полу.Результат копирования функции СЦЕП на другие ячейки столбца в Excel

Аргументы функции без разделителей

Если разделители между содержимыми ячеек не нужны, в этом случае в значении каждого аргумента сразу указываем адреса требуемых элементов.

Аргументы функции СЦЕП (СЦЕПИТЬ) в Эксель

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

Указание разделителя в отдельной ячейке

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

Например, мы добавляем запятую и пробел (“, “) в ячейку B16.

Ячейка с разделителем для функции СЦЕПИТЬ в Эксель

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

Заполнение аргументов функции СЦЕП (СЦЕПИТЬ) с разделителем в Эксель

Но здесь есть один нюанс. Чтобы при копировании формулы функции на другие ячейки не произошло нежелательного сдвига адреса ячейки с разделителем, ссылку на нее нужно сделать абсолютной. Для этого выделив адрес в поле соответствующего аргумента нажимаем кнопку F4. Напротив обозначений столбца и строки появятся символы “$”. После этого можно нажимать кнопку OK.

Заполнение аргументов функции СЦЕП (СЦЕПИТЬ) с зафиксированным разделителем в Эксель

Визуально в ячейке результат никак не будет отличаться от полученного ранее.

Результат по функции СЦЕП (СЦЕПИТЬ) с разделителем в Excel

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

Корректировка разделителя в функции СЦЕП (СЦЕПИТЬ) в Excel

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

Аргументы функции СЦЕП (СЦЕПИТЬ) с разными разделителями в Эксель

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

Результат по функции СЦЕП (СЦЕПИТЬ) с разными разделителями в Эксель

Редактирование функции

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

Способ 1: изменения в окне аргументов

Перейти к редактированию функции можно, просто нажав на кнопку “Вставить функцию” (fx), которая находится слева от строки формул. При этом предварительно нужно выбрать ячейку, содержащую функцию.

Переход к корректировке аргументов функции СЦЕП (СЦЕПИТЬ) в Эксель

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

Корректировка аргументов функции СЦЕП (СЦЕПИТЬ) в Excel

Мы получим результат с учетом скорректированных данных.

Результат по функции СЦЕП (СЦЕПИТЬ) в ячейке таблицы Excel

Способ 2: ручная корректировка формулы

Альтернативный метод изменения аргументов функции – ручная корректировка формулы. Перейти в режим редактирования можно двумя по-разному:

  1. Выделяем ячейку с функцией, затем щелкаем по строке формул и вносим в ней изменения.Редактирование формулы функции СЦЕП (СЦЕПИТЬ) в Excel
  2. Двойным щелчком мыши по ячейке с формулой активируем режим редактирования и корректируем формулу, непосредственно, в самой ячейке.Редактирование формулы функции СЦЕП (СЦЕПИТЬ) в Эксель

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

  • адреса ячеек пишутся без кавычек;
  • перечисление аргументов – через знак “;”
  • если в качестве аргумента используется символ или текст, наличие кавычек с двух сторон указанного значения обязательно.

Заключение

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

Хитрости »

1 Май 2011              163973 просмотров


Как сцепить несколько значений в одну ячейку по критерию? СцепитьЕсли

Все чаще вижу на разных форумах вопросы типа: Есть таблица, в одном столбце фамилии, в другом оценки(виды работ и т.д.). Как сцепить в одной ячейке для каждой фамилии только принадлежащие ей оценки? Или собрать в одну ячейку через запятую фамилии всех сотрудников одного отдела, но все сотрудники идут вразнобой. Т.е. из такой таблицы:
Исходная таблица
Получить такую:
Результат
Стандартными функциями это сделать весьма проблематично, т.к. заранее неизвестно сколько будет этих оценок и фамилий.. MIcrosoft работает над усовершенствованием Excel и теперь стало возможным сделать это и стандартными функциями. Правда, с небольшими ограничениями: сделать это могут только пользователи Excel 2019 и выше или Office 365 по подписке. В итоге счастливые обладатели новейших версий могут использовать достаточно несложные формулы:
=ОБЪЕДИНИТЬ(«; «;1;ФИЛЬТР(B2:B20;A2:A20=A2;»»))
=TEXTJOIN(«; «,1,FILTER(B2:B20,A2:A20=A2,»»))
Аргументы функции:

  • («; «) — символ(или несколько символов), которым необходимо объединять найденные значения
  • (A2:A20) — диапазон, в котором искать критерий
  • (A2) — критерий. Значение, на основании которого необходимо сцеплять значения. Значение просматривается в диапазоне значений(A2:A20)
  • (B2:B20) — из этого диапазона берется значение для сцепления, если значение напротив в диапазонe(A2:A20) совпадает с искомым значением A2

Для любителей «старой школы» можно вместо функции ФИЛЬТР(FILTER) использовать стандартную ЕСЛИ(IF):
=ОБЪЕДИНИТЬ(«; «;1;ЕСЛИ(A2:A20=A2;B2:B20;»»))
=TEXTJOIN(«; «,1,IF(A2:A20=A2,B2:B20,»»))
так же это можно использовать в Excel 2019 в случае, если функция ФИЛЬТР отсутствует — да, может быть и такое, хоть Microsoft и пишет, что она там поддерживается
Аргументы точно такие же, как в формуле выше. Правда эта формула вводится в ячейку как формула массива(т.е. одновременным нажатием трех клавиш Ctrl+Shift+Enter).
Хотя в самых новых версия(а-ля 365) вводить тремя клавишами уже не обязательно — Excel сам поймет, что требуется обработка массива ячеек.


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

'---------------------------------------------------------------------------------------
' Author : The_Prist(Щербаков Дмитрий)
'          Профессиональная разработка приложений для MS Office любой сложности
'          Проведение тренингов по MS Excel
'          http://www.excel-vba.ru
' Purpose:
'---------------------------------------------------------------------------------------
Function СцепитьЕсли(ByRef Диапазон As Range, ByVal Критерий As String, ByRef Диапазон_сцепления As Range, Optional Разделитель As String = " ", Optional БезПовторов As Boolean = False) As String
    Dim li As Long, sStr As String, avItem, avDateArr(), avRezArr(), lUBnd As Long
    If Диапазон.Count > 1 Then
        avDateArr = Intersect(Диапазон, Диапазон.Parent.UsedRange).Value
        avRezArr = Intersect(Диапазон_сцепления, Диапазон_сцепления.Parent.UsedRange).Value
        If Диапазон.Rows.Count = 1 Then
            avDateArr = Application.Transpose(avDateArr)
            avRezArr = Application.Transpose(avRezArr)
        End If
    Else
        ReDim avDateArr(1, 1): ReDim avRezArr(1, 1)
        avDateArr(1, 1) = Диапазон.Value
        avRezArr(1, 1) = Диапазон_сцепления.Value
    End If
    lUBnd = UBound(avDateArr, 1)
    'Определяем вхождение операторов сравнения в Критерий
    Dim objRegExp As Object, objMatches As Object
    Set objRegExp = CreateObject("VBScript.RegExp")
    objRegExp.Global = False: objRegExp.Pattern = "=|<>|=>|>=|<=|=<|>|<"
    Set objMatches = objRegExp.Execute(Критерий)
    'Если есть вхождения
    If objMatches.Count > 0 Then
        Dim sStrMatch As String
        sStrMatch = objMatches.Item(0)
        Критерий = Replace(Replace(Критерий, sStrMatch, "", 1, 1), Chr(34), "", 1, 2)
        If IsNumeric(Критерий) And Критерий <> "" Then
            Критерий = CDbl(Критерий)
        End If
        Select Case sStrMatch
        Case "="
            For li = 1 To lUBnd
                If avDateArr(li, 1) = Критерий Then
                    If Trim(avRezArr(li, 1)) <> "" Then _
                       sStr = sStr & IIf(sStr <> "", Разделитель, "") & avRezArr(li, 1)
                End If
            Next li
        Case "<>"
            For li = 1 To lUBnd
                If avDateArr(li, 1) <> Критерий Then
                    If Trim(avRezArr(li, 1)) <> "" Then _
                       sStr = sStr & IIf(sStr <> "", Разделитель, "") & avRezArr(li, 1)
                End If
            Next li
        Case ">=", "=>"
            For li = 1 To lUBnd
                If avDateArr(li, 1) >= Критерий Then
                    If Trim(avRezArr(li, 1)) <> "" Then _
                       sStr = sStr & IIf(sStr <> "", Разделитель, "") & avRezArr(li, 1)
                End If
            Next li
        Case "<=", "=<"
            For li = 1 To lUBnd
                If avDateArr(li, 1) <= Критерий Then
                    If Trim(avRezArr(li, 1)) <> "" Then _
                       sStr = sStr & IIf(sStr <> "", Разделитель, "") & avRezArr(li, 1)
                End If
            Next li
        Case ">"
            For li = 1 To lUBnd
                If avDateArr(li, 1) > Критерий Then
                    If Trim(avRezArr(li, 1)) <> "" Then _
                       sStr = sStr & IIf(sStr <> "", Разделитель, "") & avRezArr(li, 1)
                End If
            Next li
        Case "<"
            For li = 1 To lUBnd
                If avDateArr(li, 1) < Критерий Then
                    If Trim(avRezArr(li, 1)) <> "" Then _
                       sStr = sStr & IIf(sStr <> "", Разделитель, "") & avRezArr(li, 1)
                End If
            Next li
        End Select
    Else    'Если нет вхождения
        For li = 1 To lUBnd
            If avDateArr(li, 1) Like Критерий Then
                If Trim(avRezArr(li, 1)) <> "" Then _
                   sStr = sStr & IIf(sStr <> "", Разделитель, "") & avRezArr(li, 1)
            End If
        Next li
    End If
 
    If БезПовторов Then
        Dim oDict As Object, sTmpStr
        Set oDict = CreateObject("Scripting.Dictionary")
        sTmpStr = Split(sStr, Разделитель)
        On Error Resume Next
        For li = LBound(sTmpStr) To UBound(sTmpStr)
            oDict.Add sTmpStr(li), sTmpStr(li)
        Next li
        sStr = ""
        sTmpStr = oDict.keys
        For li = LBound(sTmpStr) To UBound(sTmpStr)
            sStr = sStr & IIf(sStr <> "", Разделитель, "") & sTmpStr(li)
        Next li
    End If
    СцепитьЕсли = sStr
End Function

Чтобы правильно использовать приведенный код, необходимо сначала ознакомиться со статьей Что такое функция пользователя(UDF)?. Вкратце: скопировать текст кода выше, перейти в редактор VBA(Alt+F11) -создать стандартный модуль(InsertModule) и в него вставить скопированный текст. После чего функцию СцепитьЕсли можно будет вызвать из Диспетчера функций(Shift+F3), отыскав её в категории Определенные пользователем (User Defined Functions).
Синтаксис записи в ячейку листа:
=СцепитьЕсли(A2:A20;A2;B2:B20;»-«;0)

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

Диапазон(A2:A20) — диапазон, в котором искать критерий(указывается один столбец)

Критерий(A2) — критерий. Значение, на основании которого необходимо сцеплять значения. Может содержать символы подстановки — * и ? и символы сравнения (<>»», <23, >0, «<>»&A1 и т.п.). Просматривается Диапазон. При совпадении значения ячейки в Диапазоне значение из Диапазона_Сцепления добавляется к результату с выбранным разделителем.

Диапазон_сцепления(B2:B20) — из этого диапазона берется значение для сцепления, если значение в аргументе Диапазон совпадает с аргументом Критерий(указывается один столбец). Если в Диапазоне значение 5-ой строки совпадает с критерием, то из Диапазона_Сцепления будет взято так же значение из 5-ой строк этого диапазона и сцеплено с результатом.

Разделитель(«-«) — По умолчанию пробел, но можно задать любой другой символ или группу символов.

БезПовторов — если указать 1 или ИСТИНА, то в результате получится строка, в которой нет одинаковых значений. Если указать 0 или ЛОЖЬ, то будут выведены все значения. По умолчанию значение ЛОЖЬ.

Примечание: для работы функции должны быть разрешены макросы

Скачать пример

  Пример СцепитьЕсли.xls (68,0 KiB, 15 624 скачиваний)


Также см.:
ВПР_МН
Сцепить_МН
СцепитьЕсли
Что такое функция пользователя(UDF)?
ВПР с возвратом всех значений


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Функция СЦЕПИТЬ по заданному условию

VEKTORVSFREEMAN

Дата: Четверг, 02.10.2014, 09:23 |
Сообщение № 1

Группа: Друзья

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

Сообщений: 772


Репутация:

129

±

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


MS Office Excel 2010

Доброго утра!
Уважаемые форумчане прошу Вас помочь мне в написании формулы СЦЕПИТЬ на основании условия (это мой вариант решения вопроса) но если будут ваши предложения с абсолютно другими вариантами решения, то конечно же для меня важен конечный результат.
Имеется отчет по выходу техники с столбцами «Наименование техники» и «Кол-во» (еще доп. столбец для получения итогового результата, если можно обойтись без него, то можно его в учёт не брать) необходимо что бы в итоге в одной ячейке были перечислены вся техника с количеством.
В файле привел два примера. Нормальный итог (Пример №1) с выходом всех машин и (Пример №2) с отсутствием нескольких машин, второй является некорректным, т.к. присутствуют дополнительные точка с запятой.
Так же пояснение вопроса есть в примере.

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

____.xlsx
(14.8 Kb)


«Опыт — это то, что получаешь, не получив того, что хотел»

 

Ответить

ArkaIIIa

Дата: Четверг, 02.10.2014, 09:40 |
Сообщение № 2

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

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

Сообщений: 894


Репутация:

115

±

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


2010

Как-то… других идей по-утру нет :-) подождем, может профи подскажут, как массивную формулу сделать)

Код

=I15&» («&ЕСЛИ(J5<>»»;J5&»; «;»»)&ЕСЛИ(J6<>»»;J6&»; «;»»)&ЕСЛИ(J7<>»»;J7&»; «;»»)&ЕСЛИ(J8<>»»;J8&»; «;»»)&ЕСЛИ(J9<>»»;J9&»; «;»»)&ЕСЛИ(J10<>»»;J10&»; «;»»)&ЕСЛИ(J11<>»»;J11&»; «;»»)&ЕСЛИ(J12<>»»;J12&»; «;»»)&ЕСЛИ(J13<>»»;J13&»; «;»»)&ЕСЛИ(J14<>»»;J14;»»)&»)»

Сообщение отредактировал ArkaIIIaЧетверг, 02.10.2014, 09:41

 

Ответить

VEKTORVSFREEMAN

Дата: Четверг, 02.10.2014, 09:48 |
Сообщение № 3

Группа: Друзья

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

Сообщений: 772


Репутация:

129

±

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


MS Office Excel 2010

ArkaIIIa, спасибо тебе за решение. Подождём еще, может кто другой вариант предложит, но тем не менее твой вариант рабочий :)
ArkaIIIa, делал ранее сам примерно по твоему принципу, но результат не получался таким как хотел. Видимо по тому что не знаю что обозначет в твоей формуле логические выражения у ЕСЛИ, например (J5<>»») можешь разъяснить?


«Опыт — это то, что получаешь, не получив того, что хотел»

 

Ответить

ArkaIIIa

Дата: Четверг, 02.10.2014, 09:53 |
Сообщение № 4

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

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

Сообщений: 894


Репутация:

115

±

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


2010

VEKTORVSFREEMAN
<> — это символ «не равно»
& — символ, использующийся вместо функции «сцепить»
Конструкция:

Код

ЕСЛИ(J5<>»»;J5&»; «;»»)

Значит:
Если J5 не равно «пусто», то J5&»; «, в противном случае (т.е. если J5 все же равно «пусто») возвращаем «пусто».

Сообщение отредактировал ArkaIIIaЧетверг, 02.10.2014, 09:56

 

Ответить

VEKTORVSFREEMAN

Дата: Четверг, 02.10.2014, 10:02 |
Сообщение № 5

Группа: Друзья

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

Сообщений: 772


Репутация:

129

±

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


MS Office Excel 2010

ArkaIIIa, вот и обнаружена моя вчерашняя ошибка, у меня всё завязывалось на «=», т.к. я новичок и не знал как прописывается знак неравенства, но хотя решать по неравенству и в голову не приходило. Спасибо тебе за приобретенный мною навык. yes


«Опыт — это то, что получаешь, не получив того, что хотел»

 

Ответить

ArkaIIIa

Дата: Четверг, 02.10.2014, 10:05 |
Сообщение № 6

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

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

Сообщений: 894


Репутация:

115

±

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


2010

VEKTORVSFREEMAN
Ну, в данном случае можно и через равенство решать, ничего сильно не изменится, конструкция будет:

Код

ЕСЛИ(J5=»»;»»;J5&»; «)

,
Т.е. просто местами поменяются аргументы в случае ИСТИНА или ЛОЖЬ.

 

Ответить

Pelena

Дата: Четверг, 02.10.2014, 10:10 |
Сообщение № 7

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

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

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

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

-5.xlsx
(13.5 Kb)


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

VEKTORVSFREEMAN

Дата: Четверг, 02.10.2014, 10:11 |
Сообщение № 8

Группа: Друзья

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

Сообщений: 772


Репутация:

129

±

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


MS Office Excel 2010

[offtop] ArkaIIIa, плохо не сохранил своих вчерашних попыток, а то было бы интересно получить замечания в тех местах, где я ошибался.[/offtop]


«Опыт — это то, что получаешь, не получив того, что хотел»

 

Ответить

VEKTORVSFREEMAN

Дата: Четверг, 02.10.2014, 10:16 |
Сообщение № 9

Группа: Друзья

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

Сообщений: 772


Репутация:

129

±

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


MS Office Excel 2010

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


«Опыт — это то, что получаешь, не получив того, что хотел»

Сообщение отредактировал VEKTORVSFREEMANЧетверг, 02.10.2014, 10:17

 

Ответить

ArkaIIIa

Дата: Четверг, 02.10.2014, 10:17 |
Сообщение № 10

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

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

Сообщений: 894


Репутация:

115

±

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


2010

VEKTORVSFREEMAN
У Вас в исходной формуле (не большой, которая для всех ячеек), а той что внутри таблиц, вот этой:

Код

=ЕСЛИ(I5>0;СЦЕПИТЬ(I5&» ед.- «&H5);» «)

Зачем то в случае, если ЛОЖЬ — проставляется пробел (» «), вместо того, чтобы ячейку оставлять пустой («»).
На мой взгляд — пробел — это не очень удобно, т.к. он потом будет только мешать, если нужно будет что-то считать.

ЗЫ. Елена написала формулу. Посмотрел. — %) Пойду поработаю..)

Сообщение отредактировал ArkaIIIaЧетверг, 02.10.2014, 10:18

 

Ответить

VEKTORVSFREEMAN

Дата: Четверг, 02.10.2014, 10:26 |
Сообщение № 11

Группа: Друзья

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

Сообщений: 772


Репутация:

129

±

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


MS Office Excel 2010

[offtop] ArkaIIIa, спасибо за еще один урок, т.к. не знал, что можно применять («») пусто hands [/offtop]


«Опыт — это то, что получаешь, не получив того, что хотел»

 

Ответить

VEKTORVSFREEMAN

Дата: Четверг, 02.10.2014, 10:32 |
Сообщение № 12

Группа: Друзья

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

Сообщений: 772


Репутация:

129

±

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


MS Office Excel 2010

Pelena, был вчера на готовых решениях функция UDF «СЦЕПИТЬЕСЛИ», но думаю для моего уровня это еще слишком %) Ничего не понял там(


«Опыт — это то, что получаешь, не получив того, что хотел»

 

Ответить

Содержание

  1. Как сцепить несколько значений в одну ячейку по критерию? СцепитьЕсли
  2. Склеивание текста по условию
  3. Способ 0. Формулой
  4. Способ 1. Макрофункция склейки по одному условию
  5. Способ 2. Сцепить текст по неточному условию
  6. Способ 3. Макрофункция склейки текста по двум условиям
  7. Способ 4. Группировка и склейка в Power Query

Как сцепить несколько значений в одну ячейку по критерию? СцепитьЕсли

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

Получить такую:

Стандартными функциями это сделать весьма проблематично, т.к. заранее неизвестно сколько будет этих оценок и фамилий. . MIcrosoft работает над усовершенствованием Excel и теперь стало возможным сделать это и стандартными функциями. Правда, с небольшими ограничениями: сделать это могут только пользователи Excel 2019 и выше или Office 365 по подписке . В итоге счастливые обладатели новейших версий могут использовать достаточно несложные формулы:
=ОБЪЕДИНИТЬ(«; «;1;ФИЛЬТР( B2:B20 ; A2:A20 = A2 ;»»))
=TEXTJOIN(«; «,1,FILTER(B2:B20,A2:A20=A2,»»))
Аргументы функции:

  • («; «) — символ(или несколько символов), которым необходимо объединять найденные значения
  • ( A2:A20 ) — диапазон, в котором искать критерий
  • ( A2 ) — критерий. Значение, на основании которого необходимо сцеплять значения. Значение просматривается в диапазоне значений( A2:A20 )
  • ( B2:B20 ) — из этого диапазона берется значение для сцепления, если значение напротив в диапазонe( A2:A20 ) совпадает с искомым значением A2

Для любителей «старой школы» можно вместо функции ФИЛЬТР (FILTER) использовать стандартную ЕСЛИ (IF) :
=ОБЪЕДИНИТЬ(«; «;1;ЕСЛИ( A2:A20 = A2 ; B2:B20 ;»»))
=TEXTJOIN(«; «,1,IF(A2:A20=A2,B2:B20,»»))
так же это можно использовать в Excel 2019 в случае, если функция ФИЛЬТР отсутствует — да, может быть и такое, хоть Microsoft и пишет, что она там поддерживается
Аргументы точно такие же, как в формуле выше. Правда эта формула вводится в ячейку как формула массива(т.е. одновременным нажатием трех клавиш Ctrl + Shift + Enter ).
Хотя в самых новых версия(а-ля 365) вводить тремя клавишами уже не обязательно — Excel сам поймет, что требуется обработка массива ячеек.

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

‘————————————————————————————— ‘ Author : The_Prist(Щербаков Дмитрий) ‘ Профессиональная разработка приложений для MS Office любой сложности ‘ Проведение тренингов по MS Excel ‘ http://www.excel-vba.ru ‘ Purpose: ‘————————————————————————————— Function СцепитьЕсли(ByRef Диапазон As Range, ByVal Критерий As String, ByRef Диапазон_сцепления As Range, Optional Разделитель As String = » «, Optional БезПовторов As Boolean = False) As String Dim li As Long, sStr As String, avItem, avDateArr(), avRezArr(), lUBnd As Long If Диапазон.Count > 1 Then avDateArr = Intersect(Диапазон, Диапазон.Parent.UsedRange).Value avRezArr = Intersect(Диапазон_сцепления, Диапазон_сцепления.Parent.UsedRange).Value If Диапазон.Rows.Count = 1 Then avDateArr = Application.Transpose(avDateArr) avRezArr = Application.Transpose(avRezArr) End If Else ReDim avDateArr(1, 1): ReDim avRezArr(1, 1) avDateArr(1, 1) = Диапазон.Value avRezArr(1, 1) = Диапазон_сцепления.Value End If lUBnd = UBound(avDateArr, 1) ‘Определяем вхождение операторов сравнения в Критерий Dim objRegExp As Object, objMatches As Object Set objRegExp = CreateObject(«VBScript.RegExp») objRegExp.Global = False: objRegExp.Pattern = «=|<>|=>|>=| | 0 Then Dim sStrMatch As String sStrMatch = objMatches.Item(0) Критерий = Replace(Replace(Критерий, sStrMatch, «», 1, 1), Chr(34), «», 1, 2) If IsNumeric(Критерий) And Критерий <> «» Then Критерий = CDbl(Критерий) End If Select Case sStrMatch Case «=» For li = 1 To lUBnd If avDateArr(li, 1) = Критерий Then If Trim(avRezArr(li, 1)) <> «» Then _ sStr = sStr & IIf(sStr <> «», Разделитель, «») & avRezArr(li, 1) End If Next li Case «<>» For li = 1 To lUBnd If avDateArr(li, 1) <> Критерий Then If Trim(avRezArr(li, 1)) <> «» Then _ sStr = sStr & IIf(sStr <> «», Разделитель, «») & avRezArr(li, 1) End If Next li Case «>=», «=>» For li = 1 To lUBnd If avDateArr(li, 1) >= Критерий Then If Trim(avRezArr(li, 1)) <> «» Then _ sStr = sStr & IIf(sStr <> «», Разделитель, «») & avRezArr(li, 1) End If Next li Case » «» Then _ sStr = sStr & IIf(sStr <> «», Разделитель, «») & avRezArr(li, 1) End If Next li Case «>» For li = 1 To lUBnd If avDateArr(li, 1) > Критерий Then If Trim(avRezArr(li, 1)) <> «» Then _ sStr = sStr & IIf(sStr <> «», Разделитель, «») & avRezArr(li, 1) End If Next li Case » «» Then _ sStr = sStr & IIf(sStr <> «», Разделитель, «») & avRezArr(li, 1) End If Next li End Select Else ‘Если нет вхождения For li = 1 To lUBnd If avDateArr(li, 1) Like Критерий Then If Trim(avRezArr(li, 1)) <> «» Then _ sStr = sStr & IIf(sStr <> «», Разделитель, «») & avRezArr(li, 1) End If Next li End If If БезПовторов Then Dim oDict As Object, sTmpStr Set oDict = CreateObject(«Scripting.Dictionary») sTmpStr = Split(sStr, Разделитель) On Error Resume Next For li = LBound(sTmpStr) To UBound(sTmpStr) oDict.Add sTmpStr(li), sTmpStr(li) Next li sStr = «» sTmpStr = oDict.keys For li = LBound(sTmpStr) To UBound(sTmpStr) sStr = sStr & IIf(sStr <> «», Разделитель, «») & sTmpStr(li) Next li End If СцепитьЕсли = sStr End Function

Чтобы правильно использовать приведенный код, необходимо сначала ознакомиться со статьей Что такое функция пользователя(UDF)?. Вкратце: скопировать текст кода выше, перейти в редактор VBA( Alt + F11 ) -создать стандартный модуль(InsertModule) и в него вставить скопированный текст. После чего функцию СцепитьЕсли можно будет вызвать из Диспетчера функций( Shift + F3 ), отыскав её в категории Определенные пользователем (User Defined Functions) .
Синтаксис записи в ячейку листа:
=СцепитьЕсли( A2:A20 ; A2 ; B2:B20 ;»-«;0)

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

Диапазон ( A2:A20 ) — диапазон, в котором искать критерий(указывается один столбец)

Критерий ( A2 ) — критерий. Значение, на основании которого необходимо сцеплять значения. Может содержать символы подстановки — * и ? и символы сравнения ( <>«», 0, «<>«&A1 и т.п.). Просматривается Диапазон. При совпадении значения ячейки в Диапазоне значение из Диапазона_Сцепления добавляется к результату с выбранным разделителем.

Диапазон_сцепления ( B2:B20 ) — из этого диапазона берется значение для сцепления, если значение в аргументе Диапазон совпадает с аргументом Критерий(указывается один столбец). Если в Диапазоне значение 5-ой строки совпадает с критерием, то из Диапазона_Сцепления будет взято так же значение из 5-ой строк этого диапазона и сцеплено с результатом.

Разделитель («-«) — По умолчанию пробел, но можно задать любой другой символ или группу символов.

БезПовторов — если указать 1 или ИСТИНА, то в результате получится строка, в которой нет одинаковых значений. Если указать 0 или ЛОЖЬ, то будут выведены все значения. По умолчанию значение ЛОЖЬ.

Примечание: для работы функции должны быть разрешены макросы

Пример СцепитьЕсли.xls (68,0 KiB, 15 539 скачиваний)

Статья помогла? Поделись ссылкой с друзьями!

Источник

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

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

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

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

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

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

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

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

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

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

Если теперь вернуться в 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. Макрофункция склейки текста по двум условиям

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

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

Способ 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) :

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

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

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

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

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

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

Источник

Работа с функцией СЦЕПИТЬ в Microsoft Excel

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

​Смотрите также​ нельзя использовать домашних​ их по нескольким​​ хотите хранить на​​ окне вводим имя​ в переменную OutText​Like​ запятую очередной адрес.​ отображение). А вот​речная форель​Совет:​ считать таковыми.​ такое число привести​ — арифметические действия​ в самом начале,​ чтобы эта ячейка​ в данном случае​Одной из интересных функций​ любимцев (мышек, птичек,​

​ строкам. В моей​ листе текст приветствия,​

Применение оператора СЦЕПИТЬ

​ нового столбца и​​ For i =​​, то можно будет​ Если отличается, то​ если Вы введете​Fourth​ Чтобы добавить разделители (например,​Определяете параметры каждого из​ к числовому формату,​ различной сложности. Для​ чтобы в другие​ никогда после этого​ мы будем работать​​ приложения Microsoft Excel​​ собачек и иже​ текущей задаче ничего​ текущую дату и​​ формулу сцепки на​​ 1 To SearchRange1.Cells.Count​ осуществлять склейку по​ «сбрасываем» накопленное, начиная​​ этот формат в​​Pine​

​ пробелы или символы​ полученных столбцов, и​

​ этот ноль исчезнет,​

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

Способ 1: объединение данных в ячейках

​ встроенном в Power​ If SearchRange1.Cells(i) =​ неточному совпадению исходных​ заново:​ функцию ТЕКСТ, то​32​&​ в какие именно​ и останется только​ над данными используются​ этот адрес, пользователь​ данными.​​Устанавливаем курсор в первое​​СЦЕПИТЬ​

  1. ​)​AndreTM​СЦЕПИТЬ()​ Query языке М:​​ Condition1 And SearchRange2.Cells(i)​​ данных с критерием​Минусы такого подхода очевидны:​ она выдаст Вам​Формула​

    Переход в Мастер функций в Microsoft Excel

  2. ​) между объединяемыми фрагментами​​ колонки записывать значения.​​ цифра 9.​​ функции. Их преимущество​​ мог копировать его,​​Выполняем те же действия,​​ поле окна. Затем​​. Её основной задачей​​Добавлено​: Неверно посмотрел (у​, то есть альтернативное​​Обратите внимание, что все​​ = Condition2 Then​

    Мастер функций в Microsoft Excel

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

    ​ является соединение содержимого​(08.06.2013, 20:47)​ меня же в​ решение — можно​ М-функции регистрочувствительные (в​ OutText = OutText​ название компании может​ полученного дополнительного столбца​ 00005, но и​Результат​ аргументы, которые не​ команды VBA Split.​ сцепили данные двух​ они работают не​ абсолютные ссылки. В​ первом способе применения​ листе, в которой​ двух или нескольких​———————————————​​ ответе есть UDF).​​ использовать одну формулу,​

    Аргументы функции СЦЕПИТЬ в программе Microsoft Excel

  4. ​ отличие от Excel).​ & TextRange.Cells(i) &​ быть записано в​ нам нужны только​ фактическое значение тоже​=СЦЕПИТЬ(«Популяция рек для «;A2;»​ должны отображаться в​ Ее синтаксис:​ ячеек, одна из​ только с числовыми​ остальных полях оставляем​ функции​ содержатся данные, нужные​ ячеек в одной.​У меня получилось​ Там надо отбирать​ в которой одновременно​

Результат функции СЦЕПИТЬ в Microsoft Excel

​ После нажатия на​​ Delimeter End If​

Способ 2: применение функции с пробелом

​ разных вариантах, то​ последние по каждой​ будет 00005 -​

  1. ​ «;A3;» составляет «;A4;»​ целевом тексте, можно​Split (Выражение,[Разделитель],[Количество строк],[Сравнение]).​
  2. ​ которых представляла собой​ данными, но и​ относительные ссылки. Как​СЦЕПИТЬ​

    Активация ячейки для редактирования функции СЦЕПИТЬ в Microsoft Excel

  3. ​ для объединения. После​ Данный оператор помогает​Добавлено​ данные, для заданного​ как константа хранится​ОК​ Next i ‘выводим​ мы можем одной​ компании (желтые). Если​ уже не число,​

    ​ на километр.")​

    Изменения внесены в Microsoft Excel

  4. ​ использовать функцию ОБЪЕДИНИТЬ.​Атрибут «Выражение» является обязательным​ число, а вторая​​ с текстовыми значениями,​​ всегда, после выполнения​

Пробелы в функции СЦЕПИТЬ в Microsoft Excel установлены

​, вплоть до открытия​ того, как координаты​ решить некоторые задачи,​(08.06.2013, 21:09)​ условия — и​

Способ 3: добавление пробела через окно аргументов

​ текст приветствия, работает​получаем новый столбец​ результаты без последнего​ функцией проверить и​ список большой, то​ а текст.​Создает предложение, объединяя данные​СЦЕПИТЬ(текст1; [текст2]; …)​ – это строка​ – текст, и​ логическими параметрами, датой​ процедуры, жмем на​ окна аргументов оператора.​ отобразились в окошке,​ которые с помощью​———————————————​

  1. ​ возвращать каждый результат​ функция СЕГОДНЯ(), переводится​ со склееными адресами:​ разделителя MergeIfs =​ собрать их все:​ чтобы их быстро​Lexstyle​ в столбце А​Аргумент​ для разделения. «Разделитель»​ добавили отдельный символ​ и временем и​ кнопку​

    Ячейка с пробелом в Microsoft Excel

  2. ​ Добавляем значение первой​ аналогичным образом поступаем​ других инструментов воплотить​По итогам -​​ в виде строки​​ в текст в​Осталось удалить ненужный уже​ Left(OutText, Len(OutText) -​Поддерживаются стандартные спецсимволы подстановки:​ отобрать придется добавить​: _Boroda_, интересно как,​ с остальным текстом.​Описание​ показывает знак, по​ точку, получив в​ т.д.​«OK»​ ячейки с данными​ со вторым полем.​ невозможно. Например, с​ запишу видео и​ через запятую. Как​ нужном формате порядковый​ столбец​​ Len(Delimeter)) End Function​​звездочка (*) — обозначает​

    Добавление пустого аргумента СЦЕПИТЬ в Microsoft Excel

  3. ​ еще один столбец,​ а вы можете​Популяция рек для вида​текст1​ которому исходный текст​ результирующем поле строку,​Функция «Сцепить» в Excel​.​ в поле окна,​ Соответственно выделяем другую​ его помощью удобно​​ выложу​​ раз то, о​ номер текущей даты​ТаблАдресов​Применяться она будет совершенно​ любое количество любых​ использующий функцию​ объяснить пожалуйста как​ речная форель составляет​​(обязательно)​​ делится на части,​

Аргументы функции СЦЕПИТЬ в Microsoft Excel

​ созданную слиянием этих​ является одной из​Устанавливаем курсор в нижний​ как это уже​ ячейку. Подобную операцию​ производить процедуру объединения​Rustem​

Результат обработки данных функцией СЦЕПИТЬ в Microsoft Excel

​ чём ты и​ и функция​(правой кнопкой мыши​ аналогично — только​ символов (в т.ч.​ДЛСТР (LEN)​ это? т.е. значение​ 32 на километр.​Элемент текста, который нужно​ по умолчанию это​ значений.​ тех, что предназначены​ правый угол элемента​ было описано ранее.​ проделываем, пока координаты​

Способ 4: объединение колонок

​ ячеек без потерь.​​: Есть вариант решения,​​ завёл разговор.​СЦЕПИТЬ()​ по заголовку -​

  1. ​ аргументов теперь нужно​ и их отсутствие)​, проверяющий длину накопленных​ прописанных в формуле​=СЦЕПИТЬ(B2;» «; C2)​ присоединить. Строка или​ пробел. «Количество строк»​Приведем еще несколько примеров​ для работы со​ с формулой. Появляется​ Затем устанавливаем курсор​ всех ячеек, которые​ Рассмотрим возможности данной​ отправил в ЛС.​vikttur​заменена знаком амперсанд​Удалить столбец​​ указывать больше:​​вопросительный знак (?) -​ строк:​ данных……..​Объединяет строку в ячейке​ массив строк, например​ определяет максимальное число​ функции «Сцепить» в​ строковыми значениями ячеек.​ значок, имеющий вид​ во второе поле,​ нужно объединить, не​ функции и нюансы​Serge_007​: Значит, макрофункции -​​ «​​) и выгрузить результаты​

    Абсолютные ссылки в аргументах функции СЦЕПИТЬ в Microsoft Excel

  2. ​Решить проблему можно и​ обозначает один любой​Теперь можно отфильтровать единички​GReeNbI4​ В2, пробел и​ диапазон ячеек.​ результирующих значений. «Сравнение»​ Excel. Прежде всего,​ Она нужна пользователю,​ крестика, который называется​

    Маркер заполнения в Microsoft Excel

  3. ​ и выделяем ту​ будут внесены в​ её применения.​: Да Rustem, практически​

​ тоже нельзя?​​&​ на лист, нажав​

Способ 5: добавление дополнительных символов

​ без программирования на​​ символ​​ и скопировать нужные​:​ значение в ячейке​[текст2; …]​ — метод, определяющий​ закончим начатое выше​ если необходимо объединить​ маркером заполнения. Зажимаем​ пустую ячейку с​

  1. ​ окно аргументов функции.​Скачать последнюю версию​ то же самое​Serge_007​»:​ на вкладке​ VBA, если использовать​решетка (#) — обозначает​ склейки адресов для​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ПОВТОР(0;5-ДЛСТР(A1))&A1​ С2.​(необязательно)​ чувствительность к реестру​ и превратим информацию​ несколько текстовых полей​ левую кнопку мыши​​ пробелом, о которой​​ После этого жмем​

    Добавление текстового материала с помощью функции СЦЕПИТЬ в Microsoft Excel

  2. ​ Excel​Мой вариант немного​: Вить, а ты​Code=»Привет! Сегодня «&ТЕКСТ(СЕГОДНЯ();»ДД.ММ.ГГГГ»)​

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

​Главная — Закрыть и​​ бесплатную надстройку Power​​ одну любую цифру​ дальнейшего использования.​dmisviridov​Виталий Токарев​Дополнительные текстовые элементы для​ символов.​ в ячейке G2​ в одно. Очень​ и тянем его​ шла речь ранее.​ на кнопку​Функция​ короче​

​ что хотел предложить?​

lumpics.ru

Функция СЦЕПИТЬ в Excel: синтаксис, использование, примеры

​В английской версии:​ загрузить (Home -​ Query. Для Excel​ (0-9)​Если исходный список не​: Подскажите как сцепить​=СЦЕПИТЬ(C2; «, «; B2)​ объединения. Для текстовых​Аналогом функции СЦЕПИТЬ в​ в полноформатную дату​ часто она используется​ вниз параллельно расположению​ Появляется ссылка в​«OK»​СЦЕПИТЬ​

Функция «Сцепить»

​Добавлено​Приветствуются любые решения​Code​ Close and load)​ 2010-2013 ее можно​По умолчанию оператор Like​ отсортирован по компаниям,​ текст находящийся на​Объединяет текст в ячейке​ элементов можно указать​ Excel является знак​ рождения клиента. Для​ для соединения фамилии,​ объединяемых элементов.​ поле окна аргументов.​.​относится к группе​

​(09.06.2013, 08:41)​Добавлено​=»Привет! Сегодня «&TEXT(TODAY(),»DD.MM.YYYY»)​:​ скачать здесь, а​ регистрочувствительный, т.е. понимает,​ то приведенная выше​ листах 1, 2,​ C2, строку, состоящую​ до 253 аргументов. Каждый​ амперсанда — &.​ этого нам потребуется​ имени и отчества,​После выполнения этой процедуры​ Для ускорения процесса​Как видим, содержимое выбранных​ текстовых операторов Excel.​———————————————​(08.06.2013, 00:19)​

​Serge_007​Важный нюанс​ в Excel 2016​ например, «Орион» и​ простая формула не​ 3, результат должен​ из запятой и​ из них может​ В нашем примере​ соединить в одной​

Применение

​ которые хранятся в​ данные в указанных​ можно её скопировать,​ областей отразилось в​ Её основная задача​И всё-таки получается​———————————————​: Друзья!​: в отличие от​ она уже встроена​ «оРиОн» как разные​ работает, но можно​ отображался на листе​ пробела, и значение​ быть строкой или​ он применяется таким​ строке день рождения,​

​ разных столбцах, в​ столбцах будут объединены​ выделив и нажав​ одной предварительно указанной​ — объединение в​ что я первый​У тебя есть​Я понимаю, лето,​ предыдущих способов (функций),​ по умолчанию. Последовательность​

Вызов функции СЦЕПИТЬ

​ компании. Чтобы не​ легко выкрутиться с​ 4.​ в ячейке B2.​ массивом строк, например​ образом:​ месяц и год,​ одно целое поле​ в одном столбце.​

Аргументы для соединения строк

​ сочетание клавиш​ ячейке. Но у​ одной ячейке содержимого​Есть ссылки на​ решение моей задачи?​ отпуска и всё​

​ таблицы из Power​

​ действий будет следующей:​ учитывать регистр можно​ помощью небольшой пользовательской​При условии, что,​Егоров, Владимир​ диапазоном ячеек.​=A2&» «&B2&» «&C2.​ содержащиеся, соответственно, в​ ФИО. Но применений​Урок:​Ctrl+C​ данного способа имеется​ нескольких ячеек, а​ другие решения (спасибо​ ИМХО — моя​ такое, но как-то​ Query не обновляются​Power Query не умеет​ добавить в самое​ функции на VBA.​

​ если слово на​=СЦЕПИТЬ(B3;» & «; C3)​Например, выражение =СЦЕПИТЬ(«Не»;» «;»слышны»;»​В результате получим те​ ячейках D2, E2​ этой опции много​Как объединить столбцы в​.​ существенный недостаток. При​ также отдельных символов.​ Rustem), однако они​

Примеры

​ и та задачи​ интересных задач поубавилось​ автоматически. Если в​ работать с обычными​ начало модуля в​ Откройте редактор Visual​ листах 2 или​Объединяет строку в ячейке​ «;»в»;» «;»саду»;» «;»даже»;»​ же значения, что​ и F2. Между​ и кроме этого​ Экселе​Затем добавляем ссылку на​ его использовании происходит​ Начиная с версии​ длиннее​

​ — разные​ что-ли…​ будущем произойдут какие-либо​ таблицами, поэтому первым​ редакторе Visual Basic​

Аргументы даты для слияния

​ Basic нажатием на​ 3 было уже​

​ B3, строку, состоящую​

​ «;»шорохи») вернет строку​ и раньше:​ этими значениями необходимо​ стандартного случая.​Функцию​

​ следующий элемент, который​ так называемая «склейка​ Excel 2016, вместо​MCH​vikttur​Думаю что моя​ изменения в исходных​ шагом превратим нашу​ строчку​ сочетание клавиш​ на листе 1,​

​ из пробела, амперсанда​Не слышны в саду​В Excel версии 2016​ поставить точки.​Если вы используете не​СЦЕПИТЬ​ нужно добавить. В​ без шва». То​ данного оператора используется​: Только что увидел​: Я хотел предложить​ задача будет не​ данных, то нужно​ таблицу в «умную».​Option Compare Text​Alt+F11​ то оно на​

​ и еще одного​ даже шорохи​

Таблица с результатами операций

Обратная функция

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

​ будет щелкнуть правой​ Для этого ее​, которая переключит Like​или с помощью​ листе 4 не​ пробела, и значение​.​ СЦЕП(). Ее отличие​

  • ​ еще 2 поля,​ то на английском​ для добавления дополнительных​ добавляем ссылку на​
  • ​ нет пробела и​СЦЕП​ вопросы:​
  • ​Serge_007​ очевидной, но я​ кнопкой в любое​ нужно выделить и​

Данные по столбцам

​ в режим, когда​ кнопки​ отображается.​

​ в ячейке C3.​

​Если объединенная строка содержит​ в том, что​ в результате оно​ функция «Сцепить» в​ символов и выражений,​ пустую ячейку. Так​ они склеены в​. Но в целях​1. При формульном​: Я думал ты​ почему-то никогда не​ место таблицы результатов​ нажать сочетание Ctrl+T​

Другие возможности объединения строк

​ он невосприимчив к​Visual Basic​Входные данные и​Fourth & Pine​ свыше 32767 символов (ограничение​ у нее всего​

​ будет выглядеть таким​

​ Excel называется «Concatenate».​ которых не было​ как мы скопировали​

Использование амперсанда

​ единый массив. При​ сохранения обратной совместимости​ решении можно использовать​ решение на XLM​ встречал подобного решения​ и выбрать команду​ или выбрать на​ регистру.​на вкладке​ результат, который должен​=B3 & » &​

​ для ячейки), функция​ один атрибут –​ образом:​ В остальном все,​ в первоначальном объединяемом​ её адрес, то​ этом вручную добавить​ оператор​ итерации?​

​ знаешь​

fb.ru

Функция СЦЕП

​ в интернетах​​Обновить (Refresh)​ вкладке​Таким образом можно составлять​Разработчик (Developer)​ получится, есть в​ » & C3​ СЦЕП вернет ошибку​ диапазон ячеек. Можно​Строка функции будет иметь​ описанное ниже, соответствует​ диапазоне. Более того,​ можно установить курсор​ пробел не получится,​СЦЕПИТЬ​2. Задача решается​vikttur​Задача проста: Необходимо​.​Главная — Форматировать как​ весьма сложные маски​

​. В открывшемся окне​ примере.​Объединяет те же элементы,​ #ЗНАЧ!.​​ соединить значения полей,​​ вид:​

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

​: Оно есть. Вряд​​ конкатенировать одномерный диапазон​Предположим Вы решили​ таблицу (Home -​ для проверки условий,​ вставьте новый пустой​Только просьба формулы​ что и в​Скопируйте данные примеров из​

Описание

​ выделив диапазон, а​=СЦЕПИТЬ(D2;».»;E2;».»;F2).​ – синтаксис, применение​ данной функции внедрять​ нажать сочетание клавиш​

​ редактирование формулы.​​ его можно использовать​ а любыми стандартными​​ ли такое же,​​ А1:Аn (в примере​ сделать приветствие при​ Format as Table)​ например:​ модуль через меню​ должны работать коректно​

Синтаксис

​ предыдущем примере, но​

​ приведенных ниже таблиц​

​ не вводя отдельно​

​Как видите, специально введенные​
​ и примеры.​

​ и другие операторы.​Ctrl+V​Урок:​ наравне со​

​ средствами Excel?​
​ но под условия​

​ n=20) в текстовую​ открытии файла. Приветствие​. На появившейся затем​?1##??777RUS — выборка по​Insert — Module​ в Excel 2003.​ с помощью оператора​ и вставьте их​

​ каждую ячейку.​ значения – в​Операция имеет следующий синтаксис:​​Выполняем действия по добавлению​. Координаты будут вставлены.​​Мастер функций в Excel​

Примечания

  • ​СЦЕП​Serge_007​ задачи подходит.​ строку, например через​ должно содержать следующий​

Примеры

​ вкладке​ всем автомобильным номерам​и скопируйте туда​Только просьба -​&​ в ячейку A1​Функция «Сцепить» в Excel​ нашем примере это​ СЦЕПИТЬ([текст2];[текст2];…). Количество строковых​ значений в окно​ Таким способом чередуем​Существуют возможности исправить данный​.​

​:​

​Serge_007​

​ запятую, т.е в​

​ текст: «​

​Конструктор (Design)​

​ 777 региона, начинающимся​

​ текст нашей функции:​

​ прочитайте уже Правила​

​(амперсанд) вместо функции​

​ нового листа Excel.​

​ крайне полезна в​

​ точки – выделяются​

​ атрибутов может быть​

​ аргументов функции любым​

​ поля с адресами​

​ недочет, вставив пробелы​

​Синтаксис этого оператора выглядит​Цитата​: Пиши в личку​ С1 получить значения​Привет! Сегодня 07.08.2011​​можно задать имя​

​ с 1​

​Function MergeIf(TextRange As​

​ форума.​

​ СЦЕПИТЬ.​

​ Чтобы отобразить результаты​

​ работе с программой.​

​ кавычками в строке.​

​ каким угодно большим,​

​ из способов, который​

​ элементов и пустой​

​ между аргументами оператора.​

​ следующим образом:​

​(Serge_007)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Есть решение Виктора​

​Добавлено​

​ А1:А20 (из файла​

​». Естественно, дата должна​

​ таблицы (я оставил​​ООО* — все компании,​

​ Range, SearchRange As​

​36 сообщений, а​

​Fourth & Pine​

​ формул, выделите их​

​ На основе существующих​

​В результате выполнения выражения,​

​ главное, чтобы полученный​

​ был приведен выше.​

​ ячейки. После того,​

​Выполняем задачу по тому​

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

​ и на мой​

​(08.06.2013, 09:42)​

​ всё станет понятно).​

​ меняться ежедневно. Для​ стандартное​ название которых начинается​

​ Range, Condition As​ Вы еще ни​Функция СЦЕПИТЬ​

​ и нажмите клавишу​ данных создаются новые​ в ячейке G2​

​ текст соответствовал требованию​

​ В одно из​ как все данные​ же алгоритму, который​В качестве аргументов могут​

​ взгляд — оно​

​———————————————​

​ Естественно речь идёт​ этого в ячейку​Таблица1​ на ООО​ String) Dim Delimeter​

​ в одном глазу.​

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

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

​ описан выше.​

​ выступать, как текст,​ достаточно простое и​

​Есть решение Виктора​ не о ручном​А1​):​​##7## — все товары​​ As String, i​Эта тема закрыта.​

​Общие сведения о формулах​

См. также

​ клавишу ВВОД. При​

​ комбинации их в​

​ Остальные поля столбца​ поля. В качестве​

​ их может быть​ кнопку​

​Двойным щелчком левой кнопки​

​ так и ссылки​ интересное. Витя -​

​ и на мой​

​ перечислении ячеек через​

​вводим текст»​

support.office.com

Формула «сцепить» при условии «Если» (Формулы)

​Теперь загрузим нашу таблицу​​ с пятизначным цифровым​ As Long Delimeter​Про то, как можно​ в Excel​ необходимости измените ширину​ желаемом порядке и​ заполняем аналогичным выражением​ этих атрибутов могут​ и несколько) добавляем​«OK»​ мыши по ячейке​ на ячейки, которые​

​ тебе заслуженный плюс!​​ взгляд — оно​​ амперсанд или функцию​

​Привет! Сегодня​​ в надстройку Power​​ кодом, где третья​

​ = «, «​​ быстро склеивать текст​

​Рекомендации, позволяющие избежать появления​​ столбцов, чтобы видеть​​ сочетании.​
​ с помощью опции​ быть как заранее​ любой текстовый материал,​.​ с формулой активируем​ его содержат. Количество​Но оно использует​ достаточно простое и​ СЦЕПИТЬ()​», в ячейке​ Query. Для этого​ цифра 7​ ‘символы-разделители (можно заменить​ из нескольких ячеек​ неработающих формул​ все данные.​Автор: Татьяна Казмирчук​ копирования информации, то​ определенные значения, так​ который пользователь считает​Как видим, после этого​ её для редактирования.​ аргументов может варьироваться​ итерации, а хотелось​ интересное. Витя -​Этот вариант не​А2​ на вкладке​

​????? — все названия​​ на пробел или​ в одну и,​Поиск ошибок в формулах​Пример 1​Примечание:​ есть, потянув за​

​ и данные на​​ нужным добавить. Данный​​ в целевой ячейке​

​Между каждым аргументом записываем​​ от 1 до​ бы «чистого Excel»,​ тебе заслуженный плюс!​ рассматривается, особенно если​формулу Code=СЕГОДНЯ()​Данные​
​ из пяти букв​ ; и т.д.)​ наоборот, разбирать длинную​Сочетания клавиш и горячие​=СЦЕПИТЬ(B:B; C:C)​ Мы стараемся как можно​ крестик в нижнем​ листе Excel. При​
​ текст обязательно должен​ образовалась объединенная запись,​ выражение в виде​ 255 включительно.​
​ без использования его​Но оно использует​ n = 1​
​В английской версии:​(если у вас​ и т.д.​
​ ‘если диапазоны проверки​ текстовую строку на​ клавиши в Excel​
​A’s​

excelworld.ru

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

​ оперативнее обеспечивать вас​ правом углу G2​ этом типы данных​ быть заключен в​ включающая содержимое всех​ пробела, ограниченного с​Как известно, обычное объединение​ настроек. Ну и​ итерации, а хотелось​ 000 000​Code​ Excel 2016) или​В работе может встретиться​ и склеивания не​ составляющие я уже​

​Текстовые функции (справочник)​B’s​ актуальными справочными материалами​ до конца таблицы.​ элементы для объединения​ кавычки. Жмем на​ элементов, но с​ двух сторон кавычками.​ ячеек в Эксель​ что бы не​ бы «чистого Excel»,​Ограничений только два:​=TODAY()​ на вкладке Power​ задача, когда сцеплять​ равны друг другу​ писал. Теперь же​Функции Excel (по алфавиту)​a1​

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

​ на вашем языке.​По аналогии, в этой​ не обязательно должны​ кнопку​ пробелами между каждым​​ После внесения каждого​​ приводит к потере​

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

​ жать на F9​ без использования его​1. Нельзя использовать​В ячейке В2​ Query (если у​ текст нужно больше,​ — выходим с​ давайте рассмотрим близкую,​Функции Excel (по категориям)​b1​ Эта страница переведена​ же таблице соберем​ быть текстовыми.​

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

​«OK»​ словом.​ такого значения ставим​ данных. Сохраняются только​ миллион раз (макросы-то​ настроек. Ну и​ не Excel’евские средства​ применяем формулу Code=СЦЕПИТЬ(A1;A2)​ вас Excel 2010-2013)​ чем по одному​ ошибкой If SearchRange.Count​​ но чуть более​​Lexstyle​a2​

Отбор строк

​ автоматически, поэтому ее​ с помощью функции​Для внесения атрибутов воспользуйтесь​.​

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

​Внимание! Как видим, вышеуказанный​ точку с запятой.​ данные расположенные в​ запрещены smile )​ что бы не​ (VBA, SQL, MSQuery​В английской версии:​ жмем​ условию. Например представим,​ <> TextRange.Count Then​ сложную задачу -​​: Подскажите пожалуйста как​​b2​ текст может содержать​​ «Сцепить» в Excel​​ формой вставки функции.​​Как видим, после этого​​ способ значительно ускоряет​ Общий вид добавленных​ верхнем левом элементе.​​Цитата​​ жать на F9​ и проч)​

​Code​Из таблицы (Data -​ что в нашей​ MergeIf = CVErr(xlErrRef)​ как склеивать текст​ соединить две формулы:​a4​ неточности и грамматические​ данные об именах​ Для этого в​ действия к объединенным​ процедуру корректного объединения​ выражений должен быть​ Для того, чтобы​(MCH)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Задача решается не​ миллион раз (макросы-то​2. Нельзя использовать​=CONCATENATE(A1,A2)​ From Table)​ предыдущей таблице добавился​ Exit Function End​ из нескольких ячеек​ есть столбец с​b4​ ошибки. Для нас​ клиентов и получим​ нужной ячейке впишите​ данным был добавлен​ данных в ячейках.​ следующий:​ объединить содержимое двух​ обязательно формулами, а​ запрещены​ дополнительные ячейки​

​Но результат получается​:​ еще один столбец​ If ‘проходим по​​ при выполнении определенного​​ числами (артикулами) артикул​a5​​ важно, чтобы эта​​ их полные ФИО​ знак равенства и​​ и текстовый материал.​​ Но следует учесть,​​» «;​​ и более ячеек​ любыми стандартными средствами​

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

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

​)​Решение у меня​ совсем не тот,​​В открывшемся окне редактора​​ с городом и​ все ячейкам, проверяем​​ заданного условия.​​ в 5 знаков,​b5​ статья была вам​ в одном столбце​ нажмите кнопку со​Оператор​ что данный вариант​Для того, чтобы вывести​ в Эксель без​ Excel?​Pelena​

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

​ есть. Тех, у​

  • ​ на который Вы​ запросов выделяем щелчком​ склеивание нужно проводить​ условие и собираем​
  • ​Допустим, что у нас​ среди них есть​a6​
  • ​ полезна. Просим вас​ из разделенных частей.​ значком fx. В​

​СЦЕПИТЬ​ таит в себе​ результат на экран,​ потерь можно применить​Да​: В правильности решения​ кого оно тоже​ рассчитывали:​ по заголовку столбец​ не только для​​ текст в переменную​​ имеется база данных​ в 4 знака,​b6​ уделить пару секунд​

​ Используем выражение =СЦЕПИТЬ(A2;»​ открывшемся окне выбираете​– единственная возможность​ и «подводные камни».​

  • ​ жмем на кнопку​ функцию​ЗЫ Решения уже​ сомневаюсь, но результат​
  • ​ есть, прошу сразу​Функция СЕГОДНЯ() возвращает​Компания​
  • ​ заданной компании, но​ OutText For i​ по клиентам, где​ вот к ним​
  • ​a7​ и сообщить, помогла​ «;B2;» «;C2). Обратите​

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

​ нужный элемент и​ объединения ячеек без​ Очень важно, чтобы​Enter​СЦЕПИТЬ​ есть​ получен​ не выкладывать (даже​ текущую дату. Сегодня​и сверху жмем​ еще и для​ = 1 To​ одному названию компании​ надо добавить «0»​b7​ ли она вам,​ внимание, что в​ нажимаете «Ок».​ потерь в Excel.​

​ в элементе, который​.​.​Добавлено​Serge_007​ под спойлером), а​ (день написания статьи)​ кнопку​ заданного города. В​ SearchRange.Cells.Count If SearchRange.Cells(i)​ может соответствовать несколько​ спереди…. не могу​Так как эта функция​ с помощью кнопок​ качестве разделителей отдельных​Появляется новое окно для​ Кроме того, с​ содержит пробел, со​Как видим, на месте​Выделяем ячейку, в которой​(09.06.2013, 12:20)​: Всё, я понял​ просто написать о​ 7-е августа 2011-го​Группировать (Group By)​ этом случае нашу​ Like Condition Then​ разных email’ов ее​ вспомнить как это​ допускает ссылки на​ внизу страницы. Для​ частей имени стоят​ ввода аргументов. Текстовые​ его помощью можно​ временем не появились​ вставки пробелов с​ планируем разместить объединенные​———————————————​ что имели ввиду​

​ том что оно​ года, порядковый номер​. Вводим имя нового​ функцию придется немного​

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

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

​ OutText = OutText​ сотрудников. Наша задача​ написать.​ целый столбец и​ удобства также приводим​ пробелы. О них​ элементы вы пишете​ соединять целые столбцы,​ какие-то данные или​ кавычками в ячейке​ данные. Кликаем на​

​Вот и решение:​ Зорро и Пелена:​ есть​ этой даты -​ столбца и тип​ модернизировать, добавив к​ & TextRange.Cells(i) &​ состоит в том,​китин​ строку, она возвращает​​ ссылку на оригинал​ нужно всегда помнить​ прямо в полях,​​ добавлять текстовые значения,​ он не был​​ появились разделения между​​ кнопку​БЕЗ использования мышки​ Нет, исходные данные​​Для «особенно продвинутых»​​ 40762, именно он​

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

​ операции в группировке​ ней проверку еще​ Delimeter Next i​ чтобы собрать все​​: так?​​ следующий результат:​ (на английском языке).​ при таких операциях.​ ссылки на ячейки​ проводить некоторые другие​ сдвинут.​​ словами.​«Вставить функцию»​​Другие варианты:​

Загрузка в Power Query

​ изменять нельзя!​ есть третье условие,​ и красуется в​​ -​​ одного диапазона:​ ‘выводим результаты без​​ адреса по названиям​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(ДЛСТР(C1)=5;C1;0&C1)​A’sa1a2a4a5a6a7B’sb1b2b4b5b6b7​В этой статье описывается​Результирующая таблица показана на​​ можно писать в​​ манипуляции. Знание алгоритма​

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

​С помощью функции​Конечно, если преобразуемых значений​. Она имеет вид​1. С использованием​Я подразумевал что​ но оно не​ нашей формуле (о​Все строки (All Rows)​Function MergeIfs(TextRange As​ последнего разделителя MergeIf​

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

​ компаний и сцепить​Tviga​Пример 2​ синтаксис формулы и​ снимке:​ полях или просто​ работы с этой​СЦЕПИТЬ​​ не много, то​​ пиктограммы и размещена​​ итераций:​ доп. ячейки -​​ сложное по любым​ том как Excel​:​ Range, SearchRange1 As​ = Left(OutText, Len(OutText)​ их (через запятую​

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

​:​=СЦЕПИТЬ(B2:C8)​ использование одной из​Иногда пользователю необходимо выполнить​​ выделять нужные в​​ функцией позволит облегчить​можно быстро объединять​

Результат

​ вышеприведенный вариант разрыва​ слева от строки​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(ДЛСТР(C1)-ДЛСТР(ПОДСТАВИТЬ(C1;»,»;))=20;C1;ЕСЛИ(ДЛСТР(C1)>1;C1&»,»;»,»)&ИНДЕКС($A$1:$A$20;1+ДЛСТР(C1)-ДЛСТР(ПОДСТАВИТЬ(C1;»,»;))))​​ это ЛЮБЫЕ ячейки,​ меркам​​ хранит даты и​​Жмем ОК и получаем​ Range, Condition1 As​ — Len(Delimeter)) End​​ или точку с​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(ДЛСТР(C1)=5;C1;0&C1)​A’s​​ текстовых функций​

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

​ противоположную задачу: разделить​​ самой таблице:​ решение многих вопросов​ данные нескольких колонок​ склейки прекрасно подойдет.​ формул.​2. Используя функции​ кроме С1​AndreTM​ время читайте в​ для каждой компании​ String, SearchRange2 As​ Function​​ запятой), чтобы сделать​​Lexstyle​

planetaexcel.ru

Как сцепить дату и текст?

​B’s​СЦЕП​ значение в ячейке​Параметры функции можно вносить​ для пользователя программы.​​ в одну.​​ Но его будет​Открывается​ листа: Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СЦЕПИТЬ(ТРАНСП(A1:A20&», «))​​DV​​:​​ статье Функции даты​​ мини-таблицу сгруппированных значений.​​ Range, Condition2 As​​Если теперь вернуться в​​ потом, например, почтовую​
​: Спасибо!​
​a1​
​в Excel.​ на составляющие по​​ и прямо в​
​Автор: Максим Тютюшев​
​С ячейками первой строки​
​ затруднительно быстро воплотить,​Мастер функций​ , после чего​: Ручками за 11​

​Serge_007​ и времени.). Как​ Содержимое таблиц хорошо​ String) Dim Delimeter​ Microsoft Excel, то​ рассылку по клиентам,​_Boroda_​b1​Эта функция заменяет функцию​ какому-либо признаку. Функции​ окно содержимого ячейки.​Excel предоставляет пользователю большое​ объединяемых колонок проделываем​ если существуют множество​. В категории​ жмём на F9​ действий такое делается​, я именно про​ перевести его в​ видно, если щелкать​ As String, i​​ в списке функций​​ т.е. получить на​
​:​​a2​
​ СЦЕПИТЬ (CONCATENATE). Функция​
​ в Excel, обратной​
​ В приведенном нами​ количество полезных и​ на выбор те​ ячеек, которые нужно​
​«Текстовые»​
​http://www.get-digital-help.com/2011….n-excel​Serge_007​ это спрашивал там.​ привычный нам формат?​ левой кнопкой мыши​​ As Long Delimeter​​ (кнопка​ выходе что-то похожее​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ТЕКСТ(C1;»00000″)​b2​ СЦЕПИТЬ (CONCATENATE) также​ СЦЕПИТЬ, нет, но​ примере строка операции​ удобных возможностей. Опытный​ действия, которые указаны​ объединить. Тем более,​или​​MCH​​: Пиши в личку​ Получается, ты решил​​ Для этого необходимо​​ в белый фон​​ = «, «​​fx​
​ на:​
​Функция ТЕКСТ -​

excelworld.ru

=СЦЕПИТЬ(A1:An;», «)

​a4​​ будет поддерживаться для​
​ есть несколько несложных​ будет выглядеть так:​ пользователь может с​ во втором и​ если эти ячейки​
​«Полный алфавитный перечень»​: а зачем скобки​Добавлено​ всё же этот​ перевести порядковый номер​ ячеек (не в​ ‘символы-разделители (можно заменить​smile
​в строке формул​Другими словами, нам нужен​ это примерно то​b4​ совместимости с более​ способов достичь желаемого​=СЦЕПИТЬ(D2;».»;E2)​ помощью файла электронных​ третьем способе применения​ не находятся в​ищем оператор​ удалять заменой, они​(08.06.2013, 19:53)​ вопрос…​smile​ даты из числового​ текст!) в получившемся​ на пробел или​ или вкладка​smile
​ инструмент, который будет​
​ же самое, что​a5​ ранними версиями Excel.​ результата.​
​В результате получим в​ таблиц создать мощную​
​ аргумента. Правда, если​ едином массиве. Значительно​«СЦЕПИТЬ»​ с помощью Backspace​———————————————​Serge_007​ в текстовый формат,​ столбце:​ ; и т.д.)​
​Формулы — Вставить функцию​ склеивать (сцеплять) текст​ и просто формат​b5​Примечание:​smile

​Первый – использование опции​​ выбранной ячейке текст​​ систему с автоматическим​​ вы решили воспользоваться​ упростить расстановку пробела​. Выделяем это наименование​ удаляются значительно быстрее​Это верно, Дима​cool

​: Не, Андрей, там​​ с помощью функции​Теперь добавим еще один​ ‘если диапазоны проверки​) можно будет найти​ по условию -​ ячейки. Если Вы​a6​ Эта функция недоступна в​ «Данные по столбцам»​ 21.09, состоящий из​ расчетами, подстановками, подсчетом​ способом с пустой​ можно, воспользовавшись вариантом​ и жмем на​Serge_007​ сделал именно так,​ совершенно другой вопрос.​

​ТЕКСТ()​​ столбец, где с​ и склеивания не​ нашу функцию​ аналог функции​ введете в ячейку,​b6​ Excel 2016 при отсутствии​ панели «Работа с​ данных ячейки D2​ статистики и итогов,​ ячейкой, то ссылку​ его вставки через​

​ кнопку​​: Это не принципиально,​ как я и​

​ Я ту тему​​.​ помощью функции склеим​
​ равны друг другу​
​MergeIf​​СУММЕСЛИ (SUMIF)​
​ например, 5 и​
​a7​ подписки на Office 365.​ данными» вкладки «Данные».​ – числа 21,​ вычерчиванием диаграмм и​

​ на неё нужно​​ окно аргументов.​«OK»​smile

​ думаю​​ предполагал​ вообще не помню​Code=ТЕКСТ(A2;»ДД.ММ.ГГГГ»)​sad

​ через запятую содержимое​​ — выходим с​в категории​, но для текста.​ поставите ей формат​

​b7​​ Если у вас​
​ При вызове этой​​ точки и данных​
​ графиков. В статье​
​ будет сделать абсолютной.​Выделяем двойным кликом левой​.​Да и как​Первое правильное решение​ — ответил и​
​В английской версии:​ столбцов Адрес в​ ошибкой If SearchRange1.Count​Определенные пользователем (User Defined)​Не очень изящный, зато​ 00000, то Вы​Результат:​ есть подписка на​ возможности появляется мастер​smile​ ячейки Е2 –​

​ мы рассмотрим одну​​ Для этого, перед​ кнопки мыши любую​Запускается окно аргументов функции.​

​ быстрее может быть,​​ есть, Дима -​ забыл (после первого​Code​ каждой из мини-таблиц.​ <> TextRange.Count Or​
​. Аргументы у функции​ самый простой способ.​ увидите, что теперь​a1b1a2b2a4b4a5b5a6b6a7b7​

​ Office 365, убедитесь, что​​ разделения, в котором​ строки «09». Информация​biggrin

​ из весьма полезных​​ каждым знаком координат​smile
​ пустую ячейку на​​ В качестве аргументов​
​ и так сотые​
​ в плюс​ ответа я в​=TEXT(A2,»DD.MM.YYYY»)​ Для этого на​smile
​ SearchRange2.Count <> TextRange.Count​ следующие:​ Можно написать несложную​smile
​ в этой ячейке​​Пример 3​
​ у вас установлена​
​ вы задаете параметры:​ в поле Е2​ возможностей – функцию​ по горизонтали и​ листе. С помощью​ могут выступать ссылки​ доли секунды…​smile​Добавлено​

​ ней и не​​Теперь остаётся только​
​ вкладке​
​ Then MergeIfs =​smile

​Если заменить в 13-й​​ формулу, которая будет​
​ будет отображаться 00005​
​Данные​ последняя версия Office.​Каким образом проводить разделение:​smile

​ представляет собой число,​​ «Сцепить» в Excel.​ вертикали этой ячейки​

​ клавиатуры устанавливаем внутри​​ на ячейки, содержащие​Я медленно специально​smile
​(08.06.2013, 20:24)​ появлялся больше). Сейчас​

​ сцепить текст нашего​​Добавить столбец​
​ CVErr(xlErrRef) Exit Function​
​ строчке нашего макроса​ проверять отличается ли​smile
​ (но само значение​Имя​Функция СЦЕП объединяет текст​ исходя из разделяющих​

​ но отформатирована как​​Электронные таблицы позволяют производить​ ставим знак доллара​ неё пробел. Желательно,​
​ данные или отдельный​ записывал, что бы​———————————————​
​ по ссылке посмотрел​ приветствия и преобразованную​жмем​ End If ‘проходим​

​ первый знак​​ компания в очередной​​ не изменится -​​Фамилия​ из нескольких диапазонов​ знаков или по​ текст, так как​ вычисления с данными.​($)​
​ чтобы она находилась​ текст. Если в​ понятно было, в​Раз уж решение​ — там требуется​ дату​Пользовательский столбец (Add column​ по все ячейкам,​=​
​ строке от предыдущей.​​ как было 5,​вида​ или строк, но​ количеству символов.​
​ важно, чтобы на​
​ Для этого предназначены​. Естественно, что лучше​smile
​ подальше от основного​​ задачу входит объединение​
​ реальности это в​
​ есть, то добавлю​
​ по условию выбрать​smile
​Готово!​
​ — Custom column)​ проверяем все условия​
​на оператор приблизительного​
​ Если не отличается,​ так и останется,​Виталий​ не добавляет разделитель​smile
​Если с разделяющими знаками,​

​ первом месте стояла​​ формулы, выполняющие расчеты​ всего это сделать​ массива. Очень важно,​ содержимого ячеек, то​

​ разы быстрее​​ третье условие -​ данные и разнести​smile
​Если Вы не​и в появившемся​ и собираем текст​ совпадения​
​ то приклеиваем через​ изменится только визуальное​Токарев​ или аргументы IgnoreEmpty.​ то какие именно​

excelworld.ru

​ цифра 0. Если​

Skip to content

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Функция СЦЕП

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

=СЦЕП(A1; B1)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

=A1&B1

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

=A1&» «&B1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

или

=A1 & » » & B1

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

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

или

=A1 & «, » & B1

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

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

или

=A1 & «-» & B1

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

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

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

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

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

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

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

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

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

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

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

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

=A1 & «/» & B1

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

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

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

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

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

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

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

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

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

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

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

=A1 & A2 & A3 & A4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

=СЦЕП(A2:D2)

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

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

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

=СЦЕП(A:A)

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

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

=СЦЕП(A2:A1048576)

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

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

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

=СЦЕП(A2:C3)

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

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

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

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

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

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

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

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

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

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

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

или

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше

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

Важно: В Excel 2016, Excel Mobile и Excel в Интернете эта функция была заменена функцией СКАЙТ. Функция СЦЕПИТЬ пока еще доступна для обратной совместимости, однако рекомендуем использовать вместо нее функцию СЦЕП. В последующих версиях Excel функция СЦЕПИТЬ может быть недоступна.

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

Ниже приведены примеры.

  • =СЦЕПИТЬ(«Популяция рек для «;A2;» «;A3;» составляет «;A4;» на километр.»)

  • =СЦЕПИТЬ(В2;» «;C2)

Имя аргумента

Описание

текст1    (обязательный)

Первый элемент для объединения. Это может быть текстовое значение, число или ссылка на ячейку.

текст2,…    (необязательные)

Дополнительные текстовые элементы для объединения. Можно указать до 255 элементов и до 8 192 символов.

Примеры

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

Данные

вида

Виталий

Токарев

речная форель

Fourth

Pine

32

Формула

Описание

=СЦЕПИТЬ(«Популяция рек для «;A2;» «;A3;» составляет «;A4;» на километр.»)

Создает предложение, объединяя данные в столбце А с остальным текстом. Результат: «Популяция рек для вида речная форель составляет 32 на километр».

=СЦЕПИТЬ(В2;» «;C2)

Объединяет строку в ячейке В2, пробел и значение в ячейке С2. Результат: «Виталий Токарев».

=СЦЕПИТЬ(С2;», «;В2)

Объединяет текст в ячейке C2, строку, состоящую из запятой и пробела, и значение в ячейке B2. Результат: «Виталий Токарев».

=СЦЕПИТЬ(B3;» & «;C3)

Объединяет строку в ячейке B3, строку, состоящую из пробела, амперсанда и еще одного пробела, и значение в ячейке C3. Результат: Fourth & Pine.

=B3 & » & » & C3

Объединяет те же элементы, что и в предыдущем примере, но с помощью оператора & (амперсанд) вместо функции СЦЕПИТЬ. Результат: Fourth & Pine.

Распространенные неполадки

Проблема

Описание

Кавычки отображаются в строке результата.

Используйте точку с запятой для разделения текстовых элементов. Например: Excel отобразит результат функции =СЦЕПИТЬ («Привет, «»мир!») как «Привет,»мир!» с лишней кавычкой, так как пропущена точка с запятой между текстовыми аргументами.

Числа не нужно заключать в кавычки.

Слова расположены впритык друг к другу.

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

  • Добавьте двойные кавычки с пробелом между ними (» «). Например: =СЦЕПИТЬ(«Привет,»; » «; «мир!»).

  • Добавьте пробел после текстового аргумента. Например: =СЦЕПИТЬ(«Привет, «; «мир!»). К строке «Привет,» добавлен пробел.

Ошибка #ИМЯ? отображается вместо ожидаемого результата.

Ошибка #ИМЯ? обычно означает, что для текстового аргумента не хватает кавычек.

Рекомендации

Необходимые действия

Описание

Вместо функции СЦЕПИТЬ используйте знак & (амперсанд).

С помощью оператора & можно объединять текстовые элементы, не прибегая к функции.

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

См. дополнительные сведения об использовании операторов вычислений.

Для объединения и форматирования строк используйте функцию ТЕКСТ.

Функция ТЕКСТ преобразует числовое значение в текст и объединяет числа с текстом или символами.

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

=ТЕКСТ(A1;»0,00 ₽»)

Результат: 23,5 ₽

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

  • Для объединения и форматирования строк используйте функцию ТЕКСТ.

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

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

Чтобы объединить значения (текстовые, цифровые) из разных ячеек в одну, используется функция СЦЕПИТЬ. Ее аналог – & (амперсанд). Знак справляется с простейшими задачами. Но для объединения множества строк не подходит.

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

Функция входит в группу «текстовые». Синтаксис: (текст 1; текст 2;…). Можно включить до 255 текстовых строк. Первый аргумент – «текст 1» – является обязательным. Любые аргументы можно указать в виде текста, цифр или ссылок на ячейки.

Общие правила использования функции СЦЕПИТЬ:

  1. Для разделения аргументов применяется точка с запятой. Пропуск или использование других знаков приведет к отображению в ячейке с результатом кавычек.
  2. Текстовые аргументы обязательно заключать в кавычки. В противном случае появляется ошибка – #ИМЯ? Числа и ссылки на ячейки – не нужно.
  3. Чтобы соединяемые элементы в строке результата отобразились с пробелом, пробелы нужно добавлять в формулу с функцией. С помощью двойных кавычек с пробелом внутри (“ “) или с помощью пробела после текстового аргумента (“Иванов ”;…).



Как пользоваться функцией СЦЕПИТЬ в Excel

Начнем с простейших примеров.

Данные для объединения:

Данные для объединения.

Ставим курсор в ячейку Е2 и вызываем мастер функций (кнопка fx). В категории «Текстовые» находим функцию СЦЕПИТЬ. Аргументы – ссылки на ячейки А2, В2, С2 и пробелы:

СЦЕПИТЬ.

Результат объединения значений в ячейках:

Результат.

Такой же результат получим с помощью амперсанда:

Результат 1.

Один из аргументов – текст. Формула: =СЦЕПИТЬ(«слесарь»; » «;A2;» «;B2;» «;C2). Результат:

Результат 2.

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

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

    Второй аргумент функции ТЕКСТ – формат представления даты. Результат:

  2. Результат 3.

  3. Соединим сразу много ячеек в строке. Если писать формулу с функцией СЦЕПИТЬ, получится долго и малоэффективно. Используем маленькую хитрость. Вот наша строка со значениями в отдельных ячейках.
    В ячейку Н1 ставим знак «равно». Выделяем диапазон со значениями А1:F1. Вводим амперсанд & и пробел “ “. Жмем F9. В строке формул появится формула массива.
    Ставим курсор в строку формул после знака «равно». Пишем название функции. Фигурные скобки заменяем на круглые и жмем ВВОД. Получаем нужный результат.
  4. Результат 4.

  5. Соединим значения через косую черточку («-», «&» и т.п.). Формула будет выглядеть так: = СЦЕПИТЬ (ссылка на ячейку 1; «/»; ссылка на ячейку 2).
  6. Результат 5.

  7. Соединим несколько значений в столбце. Функция подходит для значений в строках. Описанный выше способ с формулой массива тоже не сработает.

Результат 6.

Преобразуем вертикальный диапазон в горизонтальный с помощью функции ТРАНСП. А затем воспользуемся формулой массива для быстрого соединения значений. В ячейку В1 ставим знак «равно». Пишем ТРАНСП. Указываем диапазон А1:А6. Вводим & и пробел (« »). Жмем F9.

ТРАНСП.

Теперь преобразуем формулу массива, добавив функцию и заменив скобки.

Формула массива.

Обратная функция СЦЕПИТЬ в Excel

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

  • ЛЕВСИМВ (отображает заданную часть символов с начала строки);
  • ПРАВСИМВ (отображает заданную часть символов с конца строки);
  • ПСТР (отображает указанную часть символов, начиная с заданной позиции) и другие.

Примеры:

  1. Извлечем первое слово из строки, применив функцию ЛЕВСИМВ. Аргументы – «текст» (ссылка на строку с искомым значением), «количество знаков» (число символов, которые нужно извлечь).
  2. ЛЕВСИМВ.

  3. Извлечем последнее слово из строки с помощью функции ПРАВСИМВ. Синтаксис похожий (как в предыдущем примере). Только количество знаков считается с конца.
  4. ПРАВСИМВ.

  5. Извлечем из записи в строке фамилию (второе слово) с помощью функции ПСТР. Аргументы – «текст» (ссылка на строку), «начальная позиция» (номер символа, с которого программа начнет считать число знаков); «количество знаков». В примере: Е2 – «текст», с 9 знака функция вернет 8 символов.

ПСТР.

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

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