Excel массив в одну строку

Желаю всем здравствовать.
Можно ли преобразовать выбранный диапазон (массив) значений в одну строку? То есть чтобы строки выстраивались одна за другой?
Вообще, идеальным вариантом была бы возможность иметь на выходе ОДНУ ячейку (видимо, текстовую), в которой собраны все значения из массива, разделенные только пробелами… Причем количество заполненных ячеек в массиве — не постоянное. Такие дела.

В файле условная таблица, просто заполненная числовыми значениями, которые на деле рассчитываются формулой в каждой ячейке, причем при невыполнении некоторого условия ячейка выглядит пустой, так что размер массива не постоянен. Максимальный размер, который может занять таблица 500 строк на 200 столбцов.
[p.s.]
Пока приходится обходить эту недостижимую функцию за три версты (вручную выделяются заполненные ячейки, копируются в текстовый редактор как текст, поиском-заменой заменяются символы переноса и табуляции на пробелы, после чего получается искомая строка с последовательностью значений) pray [/p.s.]

Если необходимо преобразовать массив в столбец или строку (рис. 1), можно воспользоваться функцией Индекс.

Рис. 1. Массив преобразован в столбец

Скачать статью в формате Word, примеры в формате Excel

Функция ИНДЕКС возвращает значение, хранящееся в ячейке (являющейся элементом массива). Какую ячейку выбрать, функция указывает по горизонтальному и вертикальному номеру ячейки, отсчитываемому от левого верхнего угла массива. Например (рис. 2):

Рис. 2. Пример «работы» функции ИНДЕКС

=ИНДЕКС(A1:G16;3;5)

где      A1:G16 – область массива

3 – номер строки массива

5 – номер столбца массива

то есть, индекс задал ячейку Е3

Чтобы легче понять формулу ИНДЕКС, преобразующую массив в столбец, выполним последовательные шаги (см. также лист «Рис. 3» Excel-файла):

  1. Функция СТРОКА() возвращает номер строки той ячейки, в которой она забита (рис. 3); столбец I;
  2. Функция ЧИСЛСТОЛБ($A$1:$G$16) возвращает число столбцов в массиве;
  3. Функция ОКРВВЕРХ(СТРОКА()/ЧИСЛСТОЛБ($A$1:$G$16);1) возвращает номер столбца, ячейки, значение который мы хотим получить, столбец J; дает значение 1 для первых 7 значений (в общем случае, для первых N значений, где N – число столбцов в массиве);
  4. Функция ОСТАТ(СТРОКА();ЧИСЛСТОЛБ($A$1:$G$16)+0,0001) возвращает номер от 1 до 7 (в общем случае, от 1 до N, где N – число столбцов в массиве); получается, что идет перебор индексов: сначала первый индекс равен 1 (строка), а второй изменяется от 1 до 7 (столбец); далее строка = 2, а столбец перебирается от 1 до 7 и т.д., пока не пройдемся по всем строкам массива; +0,0001 – это маленькая хитрость; без этой добавочки при делении 7/7 будет получаться 0 в остатке, а нам нужно получить 7; эта формула расположена в столбце K;
  5. Функция ИНДЕКС($A$1:$G$16;ОКРВВЕРХ(СТРОКА()/ЧИСЛСТОЛБ($A$1:$G$16);1); ОКРВВЕРХ(ОСТАТ(СТРОКА();ЧИСЛСТОЛБ($A$1:$G$16)+0,0001);1)) возвращает значение из ячейки; см. столбец L
    1. Массив, где ищется значение, выделен желтым
    2. Номер строки внутри массива – зеленым
    3. Номер столбца внутри массива – серым

В Excel-файле представлено преобразование массива в столбец и строку. При этом приведено два варианта преобразования:

  • Сначала по строкам, затем по столбцам массива
  • Сначала по столбцам, затем по строкам массив

Хитрости »

5 Август 2013              151120 просмотров


Сцепить много ячеек с указанным разделителем

Часто бывает ситуация, когда необходимо из трех разных столбцов сцепить данные в одну строку с разделителем. Допустим в А1 Фамилия, в В1Имя, в С1Отчество, а надо получить все вместе Фамилия Имя Отчество. Как обычно в Excel объединяют значения нескольких ячеек в одну? Правильно, при помощи функции СЦЕПИТЬ или при помощи амперсанда:
=СЦЕПИТЬ(A1;» «;B1;» «;C1;» «)
=A1&» «&B1&» «&C1&» «
Это достаточно эффективно, если необходимо сцепить значения из трех-пяти ячеек. А если ячеек 50? Или того больше? Не очень удобно объединять их все описанными выше способами. А других встроенных функций в Excel для подобных операций не существует. С момента написания статьи Microsoft порадовал нас новыми функциями и теперь в составе функций есть функция ОБЪЕДИНИТЬ(TEXTJOIN), которая способна решить задачу без лишних телодвижений.
=ОБЪЕДИНИТЬ(«, «;ИСТИНА;A2:A100)
=TEXTJOIN(«, «,TRUE,A2:A100)

    Разделитель(«, «) — разделитель, с которым объединять текст из указанных ячеек
    Пропускать пустые(ИСТИНА) — указывает пропускать ли пустые ячейки. Т.е. если указано ИСТИНА или 1(а так же если аргумент вовсе не указан) — пустые ячейки будут пропускаться и не попадут в общую строку сцепки. Если указано ЛОЖЬ — сцепляться будут все ячейки, независимо от их содержимого. Например, если указать три ячейки A1:A3 в которых А2 пустая, то при указании ИСТИНА результат будет таким: «один, два». Если указать ЛОЖЬ, то пустая ячейка тоже попадет в сцепку: «один, , два».
    Так же этот аргумент удобен, если неизвестен заранее размер диапазона сцепления. Можно указать ячейки чуть с запасом(A1:A300) и тогда сцепляться будут только ячейки заполненного диапазона.
    Текст(A2:A100) — указывается непосредственно диапазон либо текст для сцепления. Этот аргумент расширяемый — т.е. можно указать не один диапазон, а несколько или просто текст: =ОБЪЕДИНИТЬ(«, «;ИСТИНА;A2:A100;B2:B70;»текст»)

Правда и здесь не все так радужно: эта функция доступна только пользователям версий 2019 и выше, а так же офиса 365.


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

Option Explicit
'---------------------------------------------------------------------------------------
' Procedure : СцепитьМного
'             http://www.excel-vba.ru
' Purpose   : Функция сцепляет все указанные ячейки в одну с указанным разделителем.
' Аргументы функции:
' Диапазон    — диапазон ячеек, значения которых необходимо объединить в строку.
' Разделитель — необязательный аргумент.
'               Один или несколько символов, которые будут вставлены между каждым словом.
'               По умолчанию пробел.
' БезПовторов — необязательный аргумент.
'               Если указан как ИСТИНА или 1 — в результирующей строке будут значения без дубликатов.
'               Для английской локализации данный параметр указывается как TRUE и FALSE соответственно.
'---------------------------------------------------------------------------------------
Function СцепитьМного(Диапазон As Range, Optional Разделитель As String = " ", Optional БезПовторов As Boolean = False)
    Dim avData, lr As Long, lc As Long, sRes As String
    Dim oDict As Object, sTmpStr
    Set oDict = CreateObject("Scripting.Dictionary")
    oDict.comparemode = 1
 
    avData = Диапазон.Value
    If Not IsArray(avData) Then
        СцепитьМного = avData
        Exit Function
    End If
 
    For lc = 1 To UBound(avData, 2)
        For lr = 1 To UBound(avData, 1)
            If Len(avData(lr, lc)) Then
                sRes = sRes & Разделитель & avData(lr, lc)
                If БезПовторов Then
                    If Not oDict.exists(avData(lr, lc)) Then
                        oDict.Add avData(lr, lc), 0&
                    End If
                End If
            End If
        Next lr
    Next lc
    If Len(sRes) Then
        sRes = Mid(sRes, Len(Разделитель) + 1)
    End If
 
    If БезПовторов Then
        sRes = ""
        sTmpStr = oDict.keys
        For lr = LBound(sTmpStr) To UBound(sTmpStr)
            sRes = sRes & IIf(sRes <> "", Разделитель, "") & sTmpStr(lr)
        Next lr
    End If
    СцепитьМного = sRes
End Function

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

Синтаксис функции:
=СцепитьМного(A2:A100;», «;ИСТИНА)

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

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

  СцепитьМного.xls (52,5 KiB, 11 993 скачиваний)


Если необходимо объединять значения ячеек из «рваных»(несмежных) диапазонов(выделенных через Ctrl), то код нужно немного изменить:

Option Explicit
'---------------------------------------------------------------------------------------
' Procedure : СцепитьМного
'             http://www.excel-vba.ru
' Purpose   : Функция сцепляет все указанные ячейки в одну с указанным разделителем. Допускается указание несмежных диапазонов
' Аргументы функции:
' Диапазон    — диапазон ячеек, значения которых необходимо объединить в строку.
' Разделитель — необязательный аргумент.
'               Один или несколько символов, которые будут вставлены между каждым словом.
'               По умолчанию пробел.
' БезПовторов — необязательный аргумент.
'               Если указан как ИСТИНА или 1 — в результирующей строке будут значения без дубликатов.
'               Для английской локализации данный параметр указывается как TRUE и FALSE соответственно.
'---------------------------------------------------------------------------------------
Function СцепитьМного(диапазон As Range, Optional разделитель As String = " ", Optional БезПовторов As Boolean = False)
    Dim avData, lr As Long, lc As Long, sRes As String
    Dim ra As Range
 
    For Each ra In диапазон.Areas
      avData = ra.Value
      If Not IsArray(avData) Then
          ReDim avData(1 To 1, 1 To 1)
          avData(1, 1) = ra.Value
      End If
 
      For lc = 1 To UBound(avData, 2)
          For lr = 1 To UBound(avData, 1)
              If Len(avData(lr, lc)) Then
                  sRes = sRes & разделитель & avData(lr, lc)
              End If
          Next lr
      Next lc
    Next
    If Len(sRes) Then
        sRes = Mid(sRes, Len(разделитель) + 1)
    End If
 
    If БезПовторов Then
        Dim oDict As Object, sTmpStr
        Set oDict = CreateObject("Scripting.Dictionary")
        sTmpStr = Split(sRes, разделитель)
        On Error Resume Next
        For lr = LBound(sTmpStr) To UBound(sTmpStr)
            oDict.Add sTmpStr(lr), sTmpStr(lr)
        Next lr
        sRes = ""
        sTmpStr = oDict.Keys
        For lr = LBound(sTmpStr) To UBound(sTmpStr)
            sRes = sRes & IIf(sRes <> "", разделитель, "") & sTmpStr(lr)
        Next lr
    End If
    СцепитьМного = sRes
End Function

Однако в таком случае слегка изменится и синтаксис — такие диапазоны обязательно надо будет записывать в скобках:
Синтаксис функции:
=СцепитьМного((A2:A100;F4:F60;Y2:Z43);», «;ИСТИНА)
Иначе функция просто не сработает и выдаст ошибку #ЗНАЧ!(#VALUE!)


И еще одна реализация — в ней допускается указывать не только отдельные диапазоны, но и вообще все что угодно(ячейки, отдельный текст, числа и т.п.). Единственная проблема — в этой функции иначе организован порядок аргументов: сначала указывается разделитель, а уже потом значения для сцепления. Более подробно эта функция рассмотрена в статье Что такое функция пользователя(UDF)?. Так же эта функция не убирает дубли, что впрочем, не так сложно добавить, ориентируясь на функции выше.

Function ОбъединитьВсеСРазделителем(Разделитель As String, ParamArray Значения()) As String
    Dim result As String, arg, x, rc As Range
    For Each arg In Значения
        Select Case TypeName(arg)
        Case "Range"                     'это диапазон
            'цикл по всем ячейкам
            For Each rc In arg.Cells
                If result = "" Then
                    result = rc.Value
                Else
                    result = result & Разделитель & rc.Value
                End If
            Next
        Case "Variant()"                 'это произвольный массив({"а";"б";"в"})
            'цикл по всем ячейкам
            For Each x In arg
                If result = "" Then
                    result = x
                Else
                    result = result & Разделитель & x
                End If
            Next
        Case Else 'это любой другой тип
            'суммируем
            If result = "" Then
                result = arg
            Else
                result = result & Разделитель & arg
            End If
        End Select
    Next
    ОбъединитьВсеСРазделителем = result
End Function

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


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

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


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



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

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 Еще…Меньше

Функция CONCAT объединяет текст из нескольких диапазонов и (или) строк, но не предоставляет аргументы delimiter или IgnoreEmpty. 

Функция CONCAT заменяет функцию CONCATENATE. Функция СЦЕПИТЬ (CONCATENATE) также будет поддерживаться для совместимости с более ранними версиями Excel. 

Синтаксис

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

Аргумент

Описание

text1

(обязательно)

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

[text2, …]

(необязательно)

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

Например, выражение =СЦЕП(«Не»;» «;»слышны»;» «;»в»;» «;»саду»;» «;»даже»;» «;»шорохи.») вернет строку Не слышны в саду даже шорохи.

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

Примечания

  • Если объединенная строка содержит свыше 32767 символов (ограничение для ячейки), функция СЦЕП вернет ошибку #ЗНАЧ!.

Примеры

Скопируйте данные примеров из приведенных ниже таблиц и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Пример 1

=СЦЕПИТЬ(B:B; C:C)

A’s

B’s

a1

b1

a2

b2

a4

b4

a5

b5

a6

b6

a7

b7

Так как эта функция допускает ссылки на целый столбец и строку, она возвращает следующий результат: A’sa1a2a4a5a6a7B’sb1b2b4b5b6b7

Пример 2

=СЦЕПИТЬ(B2:C8)

A’s

B’s

a1

b1

a2

b2

a4

b4

a5

b5

a6

b6

a7

b7

Результат: a1b1a2b2a4b4a5b5a6b6a7b7

Пример 3

Данные

Имя

Фамилия

вида

Виталий

Токарев

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

Fourth

Pine

32

Формула

Описание

Результат

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

Создает предложение, объединяя данные в столбце А с остальным текстом.

Популяция рек для вида речная форель составляет 32 на километр.

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

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

Виталий Токарев

=СЦЕПИТЬ(C2; «, «; B2)

Объединяет текст в ячейке C2, строку, состоящую из запятой и пробела, и значение в ячейке B2.

Токарев, Виталий

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

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

Fourth & Pine

=B3 & » & » & C3

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

Fourth & Pine

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

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

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

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

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

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

Поиск ошибок в формулах

Сочетания клавиш и горячие клавиши в Excel

Текстовые функции (справочник)

Функции Excel (по алфавиту)

Функции Excel (по категориям)

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


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

Предположим, что имеется диапазон имен, необходимо, чтобы все имена были выведены подряд в одной ячейке.

Когда значений немного, то объединить их можно с помощью функции

СЦЕПИТЬ()

записав формулу

=СЦЕПИТЬ(A6;A7;A8;A9)

Или с помощью Амперсанда & (добавим еще для красоты символ пробела):

=A6&» «&A7&» «&A8&» «&A9

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

СЦЕПИТЬ()

. Это неудобно.

Избежать этого поможет дополнительный столбец с простейшей формулой:

Значение из последней строки будет содержать желаемую текстовую строку (см.

файл примера

).

Возвращаясь к функции

СЦЕПИТЬ()

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

=СЦЕПИТЬ(A6:A9)

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

Теперь в

Строке формул

выделим формулу

=СЦЕПИТЬ(A6:A9)

и нажмем

клавишу F9

. Получим

массив

={«Вася»:»Петя»:»Даша»:»Маша»}, его можно скопировать в буфер обмена (без знака = и фигурных скобок) и вставить в нужную ячейку.

От наборов символов «:» (двойные кавычки, двоеточие и опять двойные кавычки) можно избавиться с помощью функции

ПОДСТАВИТЬ()

(см.

файл примера

). или с помощью инструмента Заменить (нажмите

CTRL+H

, чтобы его вызвать). Если строка Вася»:»Петя»:»Даша»:»Маша находится в ячейке

G8

, то формула для замены этих символов, например, на символ ; будет выглядеть так:

=ПОДСТАВИТЬ(G8;»»»:»»»;»;»)

В итоге, вставив результат формулы как значение, получим строку

Вася;Петя;Даша;Маша.


Примечание

: В формуле для замены двойных кавычек » использовано 2 двойные кавычки «».

Терминология

Под массивом обычно понимают набор данных, объединенных в группу. Массивы бывают одномерные (элементы массива образуют строку или столбец) или двумерные (матрица). Легко сообразить, что почти в любой таблице Excel при желании можно найти один или несколько таких массивов:

arrays0.gif

Формулы массива в Excel — это специальные формулы для обработки данных из таких массивов. Формулы массива делятся на две категории — те, что возвращают одно значение и те, что дают на выходе целый набор (массив) значений. Рассмотрим их на простых примерах…

Пример 1. Классика жанра — товарный чек

arrays1.gif

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

  1. выделяем ячейку С7
  2. вводим с клавиатуры =СУММ(
  3. выделяем диапазон B2:B5
  4. вводим знак умножения (звездочка)
  5. выделяем диапазон C2:C5 и закрываем скобку функции СУММ — в итоге должно получиться так:

    arrays2.gif

  6. чтобы Excel воспринял нашу формулу как формулу массива жмем не Enter, как обычно, а Ctrl + Shift + Enter

Вуаля!

arrays3.gif

Т.е. Excel произвел попарное умножение элементов массивов B2:B5 и C2:C5 и образовал новый массив стоимостей (в памяти компьютера), а затем сложил все элементы этого нового массива.

Обратите внимание на фигурные скобки, появившиеся в формуле — отличительный признак формулы массива. Вводить их вручную с клавиатуры бесполезно — они автоматически появляются при нажатии Ctrl + Shift + Enter.

Пример 2. Разрешите Вас… транспонировать?

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

Допустим, имеем двумерный массив ячеек, который хотим транспонировать.

arrays6.gif

  • Выделяем диапазон ячеек для размещения транспонированной таблицы. Поскольку исходный массив ячеек был 8 строк на 2 столбца, то надо выделить диапазон пустых ячеек размером 2 строки на 8 столбцов.
  • вводим функцию транспонирования =ТРАНСП(   
  • в качестве аргумента функции выделяем наш массив ячеек A1:B8

arrays7.gif

жмем Ctrl + Shift + Enter и получаем «перевернутый массив» в качестве результата:

arrays8.gif

Редактирование формулы массива

Если формула массива расположена не в одной ячейке (как в Примере 1), а в нескольких ячейках (как в Примере 2), то Excel не позволит редактировать или удалить одну отдельно взятую формулу (например в ячейке D10) и выдаст предупреждающее сообщение Невозможно изменить часть массива.

Для редактирования формулы массива необходимо выделить весь диапазон (A10:H11 в нашем случае) и изменить формулу в строке формул (или нажав F2). Затем необходимо повторить ввод измененной формулы массива, нажав сочетание клавиш Ctrl + Shift + Enter.

Excel также не позволит свободно перемещать ячейки, входящие в формулу массива или добавлять новые строки-столбцы-ячейки в диапазон формулы массива (т.е. в диапазон A10:H11 в нашем случае)

Пример 3. Таблица умножения

Вспомните детство, школу, свою тетрадку по математике… На обороте тетради на обложке было что? Таблица умножения вот такого вида:

arrays4_1.jpg

При помощи формул массива она вся делается в одно движение:

arrays5.gif

  1. выделяем диапазон B2:K11
  2. вводим формулу =A2:A11*B1:K1
  3. жмем Ctrl + Shift + Enter, чтобы Excel воспринял ее как формулу массива

и получаем результат:

arrays4.gif

Пример 4. Выборочное суммирование

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

arrays10.gif

 В данном случае формула массива синхронно пробегает по всем элементам диапазонов C3:C21 и B3:B21, проверяя, совпадают ли они с заданными значениями из ячеек G4 и G5. Если совпадения нет, то результат равенства ноль, если совпадение есть, то единица. Таким образом суммы всех сделок, где заказчик не ANTON и товар не Boston Crab Meat умножаются на ноль и суммируются только нужные заказы.

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

  • Формула массива для извлечения непустых ячеек из диапазона
  • Формула массива для извлечения уникальных ячеек из диапазона
  • Формула массива для извлечения данных из списка (многоразовый ВПР)

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

Диапазоны разной длины A1:A3 и B1:B2 в памяти представлены массивами {3:2:1} и {4:5}. Как формулой объединить массивы в один, т.е. получить {3:2:1:4:5} без использования вспомогательных ячеек?

Заранее спасибо за ответ!



Спасибо за ответ.
Наксолько я понял, Ваш вопрос — об объединении массивов в одну строку, тогда как необходимо получить _массив_.


Цитата: Alexxey от 10.11.2011, 21:16
Ваш вопрос — об объединении массивов в одну строку, тогда как необходимо получить _массив_.

А Ваш? Вы просили

Цитироватьформулой объединить массивы в один, т.е. получить

одномерный (в одну строку, точнее в один столбец) массив.
По ссылке я именно об этом и спрашивал.
Вы видите какую-то разницу или я что-то недопонял?


Ваш вопрос я понял так:
Из _одного_ массива значений {«любое значение1″;»любое значение2″;»любое значение3»}
получить одно значение «любое значение1любое значение2любое значение3».
Тогда как мне нужно из _нескольких_ массивов получить один массив.


Эксель изощрён, но не злонамерен.



Буду благодарен помощи в освоении VBA.
Не работает UDF

Public Function MyUnion(Array1, Array2) As Double()
Rem получить объединенный массив

        Dim N As Integer

        Dim Arr, ArrItem As Double
    Dim UnionArr() As Double

         For Each Arr In Array1
      ReDim Preserve UnionArr(0 To N)
      UnionArr(N) = Arr
      N = N + 1
     Next

           For Each Arr In Array2
      ReDim Preserve UnionArr(0 To N)
      UnionArr(N) = Arr
      N = N + 1
     Next

MyUnion = UnionArr
End Function

В чем проблема?


Alexxey, у меня Ваша функция работает.
(на всякий случай добавил немного извращённый  :)  вариант):

Эксель изощрён, но не злонамерен.


Ну и формульный вариант (тоже извращенный)


Спасибо за помощь! Понять бы еще и формульный вариант… Буду изучать


Здравствуйте!
Как использовать рассматриваемые функции соединения используя ссылки на исходные объединяемые массивы?
Заранее благодарен за ответ!


Цитата: Alexxey от 01.12.2011, 23:44
Как использовать рассматриваемые функции соединения используя ссылки на исходные объединяемые массивы?

Alexxey, в прикреплённом два макроса.
Первый — выделяет диапазон, соответствующий размеру возвращаемому функцией массиву (или (почти) любой формулы, возвращающей массив) и затем его вставляет.
Второй — удаляет формулы из ячеек диапазона-массива, кроме первой ячейки.

Эксель изощрён, но не злонамерен.


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


Alexxey, сорь, я невнимательно прочитал то что Вы хотите.
Так ? :

Эксель изощрён, но не злонамерен.


Так точно! Спасибо! Не догадался, что ИНДЕКС может возвращать массивы.


ну и мой вариант формулами


Спасибо за формульный вариант- не могу понять, за счет чего в нем осуществляется склейка 2-х массивов.


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

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

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

Предположим, что имеется диапазон имен, необходимо, чтобы все имена были выведены подряд в одной ячейке.

Когда значений немного, то объединить их можно с помощью функции СЦЕПИТЬ() записав формулу =СЦЕПИТЬ(A6;A7;A8;A9)

Или с помощью Амперсанда & (добавим еще для красоты символ пробела): =A6&» «&A7&» «&A8&» «&A9

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

Избежать этого поможет дополнительный столбец с простейшей формулой:

Значение из последней строки будет содержать желаемую текстовую строку (см. файл примера ).

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

Теперь в Строке формул выделим формулу =СЦЕПИТЬ(A6:A9) и нажмем клавишу F9. Получим массив =<«Вася»:»Петя»:»Даша»:»Маша»>, его можно скопировать в буфер обмена (без знака = и фигурных скобок) и вставить в нужную ячейку.

От наборов символов «:» (двойные кавычки, двоеточие и опять двойные кавычки) можно избавиться с помощью функции ПОДСТАВИТЬ() (см. файл примера ). или с помощью инструмента Заменить (нажмите CTRL+H, чтобы его вызвать). Если строка Вася»:»Петя»:»Даша»:»Маша находится в ячейке G8, то формула для замены этих символов, например, на символ ; будет выглядеть так:

В итоге, вставив результат формулы как значение, получим строку Вася;Петя;Даша;Маша.

Примечание: В формуле для замены двойных кавычек » использовано 2 двойные кавычки «».

Объединить текст в Excel

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как объединить текст в ячейках в Excel (Функция Сцепить)

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

Функция сцепить в Excel

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

Задача: Есть таблица с колонками Имя, Отчество и Фамилия. Необходимо сделать единый массив из этих значений. По сути нужно объединить все три ячейки в одну — ФИО.

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

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

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

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

После нажатия клавиши Enter вы получите результат сцепления.

Этот результат не совсем читабелен, потому что между значениями нет пробелов. Сейчас мы будем его добавлять. Для того, чтобы добавить пробелы, мы немного изменим формулу. Пробел — это разновидность текста и для того, чтобы ввести его в формулу, необходимо ввести кавычки и между ними вставить пробел. Вся конструкция будет выглядеть таким образом » «. Осталось дело за малым — сцепить все знаком ;.

Точно таким же образом можно вводить дополнительные символы. Например, поставить запятую или точку. Конструкция в этом случае будет такая «.». Осталось только протянуть функцию на все строки (об этом расскажу в конце статьи), а так как эта ячейка содержит формулу, а не значения, то необходимо скопировать значения в новую колонку через функцию Специальной вставки.

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

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

Задача: Есть таблица с сотрудниками. Колонки Имя, Отчество и Фамилия. Сейчас они отдельные. Необходимо соединить все значения в строке в одну ячейку ФИО.

Использовать будем формулы. Становимся на ячейку в столбце с ФИО. Далее вводим начало формулы — знак =. После этого щелкаем по первому значения в строке, которое мы хотим добавить. В нашем случае это значение в колонке Имя.

Для того, чтобы добавить к значению имени значение отчества, мы будем использовать знак & (в английской раскладке Shift+7). Ставим его после значения A2и теперь уже щелкаем по ячейке в колонке Отчество.

Аналогично добавляем значение из колонки Фамилия.

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

Добавлять пробел мы будем с помощью введения дополнительного амперсанда и двойных кавычек. В этом случае конструкция пробела выглядит следующим образом: » « — между кавычками ставится одинарный пробел. Щелкаем по ячейке в колонке ФИО два раза левой клавишей мыши, чтобы подкорректировать формулу, и через знак & добавляем к формуле пробел.

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

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

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

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

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

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

Объединение текста нескольких ячеек в одну – базовая функция при работе с табличными данными, с ее помощью содержание произвольного количества полей можно сцеплять нужным образом и размещать в свободных ячейках. Она используется при составлении пофамильных списков сотрудников, отчетов различных направлений и других операциях с большими массивами информации. Для объединения ячеек есть два способа: с потерей данных и без потери. В первом случае в объединенной ячейке остается только одно значение, во втором – сохраняется весь текст. Второй способ предполагает как минимум четыре варианта объединения: с использованием двух функций («Сцеп-сцепить» и «Объединить»), при помощи символа амперсанд и с применением макроса. В статье подробно разберемся, как в Excel объединить текст нескольких ячеек в одну.

С помощью функции

Excel предусматривает несколько функций для объединения ячеек. Для начала, расскажем о самой простой и «теряющей» информацию. Если интересует, как в Экселе соединить текст из двух ячеек в одну, оставив только одно значение – то вам понадобится функция «объединить» в разделе «Формат ячейки».

  1. Выделите мышкой ячейки, которые нужно объединить.
  2. По образовавшемуся полю щелкните правой кнопкой мыши.
  3. Выберите пункт «Формат ячеек».
  4. В появившемся окне зайдите в раздел «Выравнивание».
  5. Отметьте галочкой пункт «Объединить ячейки» и нажмите «Ок». Выделенные поля объединяться в одну большую с сохранением содержания первой ячейки.

Также эта функция есть в графе «Главная» в разделе «Выравнивание» в верхней части экрана.

С помощью функции «Сцеп-сцепить»

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

  1. Щелкните по пустой ячейке в Excel.
  2. Поставьте знак «=» и большими буквами введите «Сцепить» либо «Сцеп».
  3. В скобках после формулы кликните по ячейке, которая должна быть первой в объединенной ячейке, либо введите ее адрес вручную (например, A1). Затем поставьте точку с запятой, после щелкните или напишите вторую ячейку. Затем поставьте точку с запятой и отметьте третье поле. После перечисления адресов нажмите «Enter». В поле, где вбивали формулу, появится объединенный текст. Он появится без пробелов между текстовыми блоками. Чтобы этого избежать, отбейте пробел в каждой отдельно взятой ячейке после находящегося текста, либо после адреса ячейки в формуле добавьте пробел вручную, написав « » (пробел в кавычках). Пробел в формуле также отделяется от остальных элементов точкой с запятой.

Как в Экселе соединить текст из двух ячеек в одну с помощью функции «Объединить»

«Объединить» — усовершенствованная вариация функции «Сцеп». Ее отличие в том, что параметры вводятся единожды на этапе написания функции. В частности, разделитель придется указать один раз для содержимого всех ячеек. Для того чтобы воспользоваться функцией «Объединить» нужно выполнить действия:

  1. В пустой ячейке поставьте знак «=» и напишите большими буквами «Объединить».
  2. В скобках после формулы укажите разделитель в кавычках (« » ,«,»,« и »), затем поставьте точку с запятой. Второй параметр формулы – это игнорирование пустых полей. Если они не должны учитываться в формуле, напишите «1», в ряде версий этот параметр обозначается словом «Истина» или «Ложь». Затем перечислите через запятую ячейки, которые нужно объединить, и нажмите «Enter».

В итоге формула должна иметь вид: «=ОБЪЕДИНИТЬ(« »;ИСТИНА; «A1»; «A2»; «A3»).

Если в A1 – «Иванов», в А2 – «Иван», в А3 – «Иванович», то после нажатия «Enter» в пустой ячейке появится «Иванов Иван Иванович».

С помощью символа «&»

Четвертый способ объединить ячейки – использовать амперсанд ( «&»). Для этого:

  1. В пустой ячейке наберите «=».
  2. Напишите нужную ячейку, например, А1, затем поставьте знак «&», потом в кавычках введите разделитель. Это может быть пробел или запятая, он также помещается в кавычки, потом введите вторую ячейку, которую нужно объединить. Если их больше двух, пробел выставите после каждой нового поля. Формула должна выглядеть так: «=А1&« »&А2& « »&А3». После нажатия «Enter» содержимое ячеек объединится.

С помощью макроса

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

Чтобы записать макрос:

  1. В разделе «Разработчик» в графе «Код» нажмите на клавишу «Записать макрос».
  2. В появившемся окне выберите имя макроса, чтобы потом было удобнее его искать, присвойте ему сочетание клавиш и место хранения, добавьте описание.
  3. Нажмите «Ок», затем точно и без ошибок (потому что макрос записывает и ошибки тоже) проделайте алгоритм.
  4. Вернитесь во вкладку «Разработчик» и «Код» и нажмите «Остановить запись».

Макрос записывается в виде кода Visual Basic для приложений на одноименном языке программирования, который доступен для редактирования при нажатии комбинации ALT + F11. При ручном редактировании становится доступным правка записанного макроса, однако это требует дополнительных знаний и недоступно для рядового пользователя. Также макросы способны работать в нескольких продуктах Microsoft Office одновременно. Выполняется макрос нажатием присвоенной комбинации либо через окно «Макрос», которое вызывается комбинацией ALT + F8.

3 способа склеить текст из нескольких ячеек

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

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

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

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

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

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

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

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

Например:

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

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

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

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

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

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

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

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

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

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

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