Как в excel сцепитьесли

MulTEx »

17 Февраль 2014              23168 просмотров

СцепитьЕсли

Данная функция является частью надстройки MulTEx


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

Функция сцепляет в одну строку(ячейку) только ячейки, которые отвечают какому-либо критерию.
Например, необходимо собрать в одну ячейку через запятую фамилии всех сотрудников одного отдела, даже если все сотрудники идут вразнобой:
Исходная таблица
И из этой таблицы надо получить что-то вроде такой:
Результат
Или есть список проектов и этапы по каждому проекту. Для каждого этапа одна строка и необходимо для каждого проекта записать в одну ячейку через запятую все этапы.
Стандартными функциями такие вещи сделать весьма проблематично, т.к. заранее неизвестно сколько будет этих оценок или этапов. Да даже если известно — не так просто это сделать. Через функцию СЦЕПИТЬ(CONCANTENATE)? Для этого для начала потребуется пощелкать по каждой ячейке со значениями.
Функции СцепитьЕсли поможет сделать это в разы быстрее и проще. По принципу работы функция очень похожа на стандартную СУММЕСЛИ(SUMIF). Только она не суммирует значения диапазона, а сцепляет их через разделитель. Указываете диапазон значений (отделы), критерий (конкретный отдел) и диапазон значений для сцепления (сотрудники). Символ для разделения слов может быть как любым символом так и группой символов(т.е. несколько символов или целые слова и фразы).
Плюс можно добавить к сравнению более чем 50 доп.условий.

Вызов команды через стандартный диалог:

Мастер функцийКатегория «MulTEx»СцепитьЕсли

Вызов с панели MulTEx:

Сумма/Поиск/ФункцииТекстовыеСцепитьЕсли

Синтаксис:
=СцепитьЕсли($A$2:$A$38;A1;$B$2:$B$38;», «;1)
=СцепитьЕсли($A$2:$A$38;A1;$B$2:$B$38;», «;ИСТИНА)
=СцепитьЕсли($A$2:$A$38;A1;$B$2:$B$38;»; «;ЛОЖЬ;$C$2:$C$38;»>=1984″)
=СцепитьЕсли($A$2:$A$38;A1;$B$2:$B$38;»; «;1;$C$2:$C$38;»>=»&D$1)
=СцепитьЕсли($A$2:$A$38;A1;$B$2:$B$38;» + «;1;$E$2:$E$38;»*руководитель*»)


Диапазон($A$2:$A$38)

— диапазон с критериями(указывается один столбец).

Критерий(A1) — ссылка на ячейку или непосредственно значение, с которым сравниваем значения в Диапазоне. В критерии допускается указание специальных символов подстановки — * и ?. Т.е. указав в качестве Критерия «*план*» Вы сможете отобрать для сцепления ячейки со значениями, в столбце критериев которых встречается слово «план»(план, данные по плановым показателя и т.п.). Подробнее про подстановочные символы >>
Так же данный аргумент может принимать в качестве критерия символы сравнения(<, >, =, <>, <=, =>):

  • «>0» — будут объединены все ячейки в столбце сцепления, значения ячеек критериев для которых больше нуля;
  • «>=2» — будут объединены все ячейки в столбце сцепления, значения ячеек критериев для которых больше или равно двум;
  • «<0» — будут объединены все ячейки в столбце сцепления, значения ячеек критериев для которых меньше нуля;
  • «<=60» — будут объединены все ячейки в столбце сцепления, значения ячеек критериев для которых меньше или равно 60;
  • «<>0» — будут объединены все ячейки в столбце сцепления, значения ячеек критериев для которых не равно нулю;
  • «<>» — будут объединены все ячейки в столбце сцепления, значения ячеек критериев для которых не пустые;
  • Вместо нуля может быть любое число или текст. Так же можно добавить ссылку на ячейку со значением: «>=»&A1

Например, если необходимо отобрать и записать через точку-с-запятой и пробел(; ) только тех сотрудников, чей год рождения 1984 и выше(при условии, что год рождения записан в диапазоне $C$2:$C$38), то функцию можно записать так:
=СцепитьЕсли($C$2:$C$38;»>=1984″;$B$2:$B$38;»; «;ИСТИНА)

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

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

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

ДиапазонКритерий($C$2:$C$38;»>1984″) — необязательный. Дополнительные диапазоны и критерии для отбора. Важно: при указании очень важен порядок следования: сначала обязательно указывается диапазон и только потом критерий, который в этом диапазоне просматривать. Если указать в другом порядке — функция выдаст ошибку. Если указан диапазон — то обязательно указывать и критерий.
Условия использования те же, что и для критериев Диапазон и Критерий. Т.е. допускается использование подстановочных символов и операторов сравнения.
Допускается указывать до 125 связок Диапазон-Критерий(т.е. всего 250 аргументов — до 125 Диапазонов и до 125 относящихся к ним Критериев). Все условия объединены между собой по принципу совпадения И. Если хоть одно условие связки ДиапазонКритерий не выполняется, условия расположенные далее по списку не проверяются, общее условие по строке считается как несоответствующее и данные этой строки не будут сцеплены.
Например, если необходимо отобрать только тех сотрудников, которые работают в плановом отделе и чей год рождения 1984 и выше(при условии, что год рождения записан в диапазоне $B$2:$B$38), то функцию можно записать так:
=СцепитьЕсли($A$2:$A$38;A1;$B$2:$B$38;»; «;ЛОЖЬ;$E$2:$E$38;»>=1984″)

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

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

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

Текстовые функции

ПОЛУЧКОММЕНТ (функция ПОЛУЧКОММЕНТ)

Функция ПОЛУЧКОММЕНТ – выводит текст комментария ячейки

Текстовые

Синтаксис

= ПОЛУЧКОММЕНТ (Ячейка)

Аргумент функции ПОЛУЧКОММЕНТ :

Аргумент Описание
Ячейка — обязательный Ссылка на ячейку с комментарием

ПОЛУЧТЕКСТ (функция ПОЛУЧТЕКСТ)

Функция ПОЛУЧТЕКСТ – выделяет из выбранной ячейки только текст, игнорируя все остальное

Текстовые

Синтаксис

= ПОЛУЧТЕКСТ (Ячейка)

Аргумент функции ПОЛУЧТЕКСТ :

Аргумент Описание
Ячейка — обязательный Ссылка на ячейку с текстом

ПОЛУЧЧИСЛО (функция ПОЛУЧЧИСЛО)

Функция ПОЛУЧЧИСЛО – выделяет из выбранной ячейки только числа, игнорируя все остальное

Текстовые

Синтаксис

= ПОЛУЧЧИСЛО (Ячейка)

Аргумент функции ПОЛУЧЧИСЛО :

Аргумент Описание
Ячейка — обязательный Ссылка на ячейку с текстом

СКЛЕЙТЕКСТ (функция СКЛЕЙТЕКСТ)

Функция СКЛЕЙТЕКСТ – объединяет текст выбранного диапазона, используя символ разделитель

Текстовые

Синтаксис

= СКЛЕЙТЕКСТ (Диапазон_данных; Символ_разделитель)

Аргумент функции СКЛЕЙТЕКСТ :

Аргумент Описание
Диапазон — обязательный Ссылка на диапазон данных
Символ разделитель — обязательный Символы для разделения текста при объединения

СЦЕПИТЬЕСЛИ (функция СЦЕПИТЬЕСЛИ)

Функция СЦЕПИТЬЕСЛИ – объединяет текст выбранного диапазона, по заданному условию, используя символ разделитель 

Текстовые

Синтаксис

= СЦЕПИТЬЕСЛИ (Диапазон_критериев; Критерий; Диапазон_сцепления; Разделитель; Без_повторов)

Аргумент функции СЦЕПИТЬЕСЛИ :

Аргумент Описание
Диапазон критерий- обязательный Ссылка на диапазон критериев
Критерий- обязательный Условие критерия
Диапазон данных — обязательный Ссылка на диапазон данных для сцепления
Символ разделитель — обязательный Символы для разделения текста при объединения
Без повторов — не обязательный Логическое значение ИСТИНА или ЛОЖЬ, сцеплять только уникальные значения или нет

ЕЛАТИН (функция ЕЛАТИН)

Функция ЕЛАТИН – определяет есть ли в ячейке символы латиницы, возвращает ИСТИНУ или ЛОЖЬ

Текстовые

Синтаксис

= ЕЛАТИН (Ячейка)

Аргумент функции ЕЛАТИН :

Аргумент Описание
Ячейка — обязательный Ссылка на ячейку с текстом

ЕЛАТИН (функция ЕЛАТИН)

Функция ПРОПИССУММ – выводит число прописью на русском языке

Текстовые

Синтаксис

= ПРОПИССУММ (Ячейка)

Максимальное число – 999 999 999 999, 999 – “Девятьсот девяносто девять миллиардов девятьсот девяносто девять миллионов девятьсот девяносто девять тысяч девятьсот девяносто девять целых девятьсот девяносто девять тысячных”

Аргумент функции ПРОПИССУММ :

Аргумент Описание
Ячейка — обязательный Ссылка на ячейку с числом
Параметр — не обязательный Значение указывающее тип данных: 0 — число, 1 — финансовый, 2 — дробный, 3 — проценты
Регистр — не обязательный Изменение регистра текста с заглавной или нет, значение ИСТИНА или ЛОЖЬ
Параметр — не обязательный Добавление числа в скобках перед прописью, значение ИСТИНА или ЛОЖЬ

РАЗБСТРОКУ (функция РАЗБСТРОКУ)

Функция РАЗБСТРОКУ – разделяет текст в строке на отдельные фрагменты по заданному символу – разделителю

Текстовые

Синтаксис

= РАЗБСТРОКУ (Ячейка; Символ_разделитель; Номер_элемента)

Аргумент функции РАЗБСТРОКУ :

Аргумент Описание
Ячейка — обязательный Ссылка на ячейку с текстом
Параметр — обязательный Символ разделитель
Номер элемента — не обязательный Число, номер элемента по порядку

ТРАНСЛИТ (функция ТРАНСЛИТ)

Функция ТРАНСЛИТ – преобразует кириллицу в латиницу, транслитом

Текстовые

Синтаксис

= ТРАНСЛИТ (Ячейка_с_текстом)

Аргумент функции ТРАНСЛИТ :

Аргумент Описание
Ячейка — обязательный Ссылка на ячейку с текстом

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

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

Данная функция начиная с 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; текст 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 сцепить символ