Склеивание текста по условию
Про то, как можно быстро склеивать текст из нескольких ячеек в одну и, наоборот, разбирать длинную текстовую строку на составляющие я уже писал. Теперь же давайте рассмотрим близкую, но чуть более сложную задачу — как склеивать текст из нескольких ячеек при выполнении определенного заданного условия.
Допустим, что у нас имеется база данных по клиентам, где одному названию компании может соответствовать несколько разных 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):
В открывшемся окне редактора запросов выделяем щелчком по заголовку столбец Компания и сверху жмем кнопку Группировать (Group By). Вводим имя нового столбца и тип операции в группировке — Все строки (All Rows):

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

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

Осталось удалить ненужный уже столбец ТаблАдресов (правой кнопкой мыши по заголовку — Удалить столбец) и выгрузить результаты на лист, нажав на вкладке Главная — Закрыть и загрузить (Home — Close and load):
Важный нюанс: в отличие от предыдущих способов (функций), таблицы из Power Query не обновляются автоматически. Если в будущем произойдут какие-либо изменения в исходных данных, то нужно будет щелкнуть правой кнопкой в любое место таблицы результатов и выбрать команду Обновить (Refresh).
Ссылки по теме
- Как разделить длинную текстовую строку на части
- Несколько способов склеить текст из разных ячеек в одной
- Использование оператора Like для проверки текста по маске
Как сложить и удалить дубли в Excel.
Смотрите также: В Готовых решениях формулы/фичи, то какЭто не пустые все фильтры включены, все остальные одинаковые, я сделал пример: Макрос.{=СУММ ((товар=»валидол»)*(количество)) }Ctrl+H(Удалить). столбце
(Full Name). объединить несколько столбцов,Значение из последней строки разделе «Библиотека функций»
столбцов;
Рассмотрим, есть пользовательская функция, можно облегчить решение? строки, они просто а нужно сократить сократив, таким образом, как было и

отображают объединение, т.е. число строк в число строк. Как как должно быть!: Дима, надо чтобы: на вкладке Данные окно из двух столбцовтакже будут потеряны. столбец. Для этого город, индекс и текстовую строку (см.
— это значит, дубли в Excel по условию. там 1,5тыс)
каждая строка соответствует первоначальной базе, чтобы это сделать - Если, кто поможет одинаковые наименования объединялись — КонсолидацияReplace в один!Теперь нам нужно превратить
наведите указатель мыши страна в один файл примера). диалоговое окно так. что искать дубли
. Как выделить дублиhttp://www.excelworld.ru/board….-1-0-24
Спасибо заранее внутренним перевозкам до потом можо было
я не знаю, в долгу не в одну ячейку.Алексей матевосов (alexm)(Заменить). В поле
Хоть это и формулу в значение,



DV
макрос. надо знать где(Что) вставьте из
и времени. удалить ненужные столбцы это столбец D), чтобы в дальнейшем она может вернуть с дублями.Нажимаем «ОК». Поучилось выделить повторяющиеся значенияAleX_Leon
что хотите получить? наименования. и уже на приложении, суммировать нужно: Формулами можно так:Storm_Zcooler расположены данные, а буфера обмена символ
Этот способ быстрее, чем с нашего листа кликните по нему
распечатывать адреса на несколько значений вВ строке «Критерий»
так. в Excel» тут., перенести тему в Как объединить? Установить


указываем ячейку столбцаЕсли таблицу консолидации делаем Как удалить повторяющиеся раздел ВОПРОСЫ ПО фильтр «содержит».
отобразить, надо сделать сводную (каждый разTEU: Или макросом:Сергей, под свой
нет имен столбцовReplace with требует создания формул.
ячейки с данными
и в контекстномК сожалению, в Microsoft без утомительного ввода С, в которой на другом листе, значения, смотрите в VBA?AleX_Leon
соответствующий стиль отображенияЧто-то выбирая нужные параметры)., если остальные столбцыЗЫ: Использована функция случай я не и строк.(Чем) введите Ваш Но он подходит в объединённом столбце меню выберите пункт

будем писать название то получится такая статье «Как удалитьAleX_Leon:
excel-office.ru
Объединение значений нескольких ячеек в одну текстовую строку в EXCEL
немогу найти где Сейчас на это одинаковые. Таким образом,
«сцепитьесли» с excel-vba.ru нашёл….Допустим названия препаратов разделитель, например, пробел, только для объединения
(выделите первую ячейкуInsert инструмента для выполнения этого запишем формулу дубля.
таблица. дубли в Excel».:gling это сделать в
нужно было бы число строк вИсточникStorm_Zcooler начинаются с В2,
запятую и т.д. смежных столбцов при в столбце
(Вставить). Давайте назовём таких задач. Конечно, =СЦЕПИТЬ(A6:A9), указав вВ строке «Диапазон
Когда мы делали консолидациюИтак, нам нужноPelena, нужно объединить строчку сводной?А зачем это более 2млн. строк, базе должно сократиться,YYYS: Юра, огромное, спасибо. с С2 их Нажмите кнопку использовании одинакового разделителяFull Name новый столбец есть команды
качестве единственного аргумента суммирования» указываем диапазон на другом листе, перед удалением дублей,, как считаете нужным, одинаковых арт(1 столбик), делать? У Вас чего Excel не но какая-либо информация: Спасибо огромное Вам!
Есть ли вариант количество.Replace All между ними.и затем нажмитеFull NameMerge Cells весь диапазон сразу, столбца В, числа то в диалоговом их сложить. Рассмотрим я про vba чтобы все цвета(7 1 файл - может, да и не будет потеряна. С меня причитается) формулой сделать?В D2 пишите
(Заменить все), а
Вот пример: мы хотимCtrl+Shift+Стрелка вниз.
(Объединить ячейки), а не отдельные из ячеек которого окне консолидации в несколько способов.
excel2.ru
Как объединить два столбца в Excel без потери данных
ничеоо не знаю. столбик) были в 1 месяц - с 1млн. строкЗаранее большое спасибо! DV не вижу
Владимир формулу=ЕСЛИ (СЧЁТЕСЛИ (B$2:B2;B2)=1;СУММЕСЛИ затем объединить все те.Скопируйте содержимое в буферВ ячейкеMerge & Center ячейки. В результате нужно сложить. строке «создавать связиПервый способ.Спасибо, за ссылку одной ячейки, а 1 сводная. Теперь файл слишком тяжелый,Shuter1987 твои поощрительные реквизиты)): 57787
(B$2:B$18;B2;C$2:C$18);»»)PS. пробелы изCancel же два столбца обмена (D2(Объединить и поместить получим лишь значениеВ строке формул с исходными данными»Самый простой способ на польз ф-ию, размеры(6 столбик) в из этих 12 работать с ним: Сводной не вариант?Serge_007
maximS2 формулы удалите
- (Отмена), чтобы закрыть с именем иCtrl+Cзапишите вот такую в центре) и первой ячейки. сразу видна получившаяся поставили галочку. Теперь, – это использовать буду пробовать
- другой сводных надо сделать проблемно.Shuter1987: СцепитьЕсли есть и: А если колличествоhttps://cloud.mail.ru/public/1a6f35b11fc3/Нина Панюкова.xls диалоговое окно. фамилией в один.или формулу: прочие, но еслиТеперь в Строке формул формула.
если в столбце функциюпримерно так…gling одну годовую.Shuter1987: Дело в том, у нас
- строчек в столбцахАрбузо л.З.
- НажмитеВыделяем оба столбца, которые
Объединяем два столбца при помощи формул
Ctrl+Ins=CONCATENATE(B2,» «,C2) Вы выберите 2 выделим формулу =СЦЕПИТЬ(A6:A9)Третий способ. В изменятся цифры,«Консолидация» в ExcelAleX_Leon: Вы файл свойОткрыть новую книгу
- : что мне наSkyPro заранее не известно?: И ещё дваCtrl+A необходимо объединить. Для– что предпочитаете),=СЦЕПИТЬ(B2;» «;C2) смежные ячейки с и нажмем клавишуСоздать таблицу с то и в. У нас такая: УРА! Получилось! то
- видели? Цвета в — вставить тудаShuter1987 выходе нужно получить
: Видел, но не
maximS2 способа, чтобы выделить весь этого выделяем ячейку затем кликните правойB2 целью объединить их, F9. Получим массив фильтром. Внизу столбца этой таблице данные таблица что надо для ячейки разные,размеры разные все данных из, вопрос не в вид опять в пробовал. А эта: А если колличествоПЕРВЫЙ текст в Блокноте,
B1 кнопкой мыши пои как показано на ={«Вася»:»Петя»:»Даша»:»Маша»}, его можно В установить автосумму. пересчитаются автоматически. Проверяем. меня!
- их что сцепить сводных, добавить 1 том, что усложняет формате БД, чтобы на ядиске уже строчек в столбцахСоздать «Сводную таблицу» затем, нажимаем любой ячейке вC2
- снимке экрана ниже: скопировать в буфер Выбирать фильтром нужные – изменим цифруНам нужно сложить всеsv-zzz в одну строку столбец с названием и как. Я потом можно было лежала в заначках. заранее не известно?{/post}{/quote}Меню «Данные» –Ctrl+C
- Shift+Стрелка вправо том же столбце– это адресаВам будет показано сообщение обмена (без знака дубли. Как сделать 12 в ячейке числа в столбце: Добрый день, есть что ли? На месяца. спрашиваю, но этим объединить ее сDAV2014Пример в excel2003 «Сводная таблица» –, чтобы скопировать его, чтобы добавить к (Full Name) и ячеек из столбцов с предупреждением: = и фигурных сводную таблицу, читайте В2 основной таблицы В по каждому задача: другом листе покажитеИли я сильно полям надо суммировать? базами по другими: Здравствуйте! Нужна помощьStorm_Zcooler для Эксель2003
- в буфер обмена. выделению ячейку в контекстном менюFirst Nameв Excel 2013: скобок) и вставить в статье «Сводные
- на цифру 2. дублю из столбцаИмеется таблица (более какой хотите результат упрощаю, на самом Правильная сумма сейчас месяцам, а в в объединении одинаковых: Спасибо, то что
- Меню «Вставка» –Вернитесь к листу ExcelC1 выберитеиMerging cells only keeps в нужную ячейку. таблицы Excel». Получилось так. А – отдельно 3000 строк): номер(186 из этих двух деле все гораздо получилась?
сводной крутить уже ячеек из поля надо!!! «Сводная таблица»– для (нажмите. Затем нажимаемPaste Special
Last Name the upper-left cellОт наборов символов «:»Но мы сделаемКак работать с таблицей все ячейки с
Объединяем столбцы при помощи Блокнота
позиций); код; статус; сток.Для этого можно сложнее?Да, все так,Как раз фильтры данные за пол-года ТОВАР, причем такYYYS Эксель2007
Alt+TabCtrl+Shift+Стрелка вниз(Специальная вставка). Отметьте. Обратите внимание, что value, and discards
- (двойные кавычки, двоеточие проще и быстрее. консолидации, как объединить цифрой 1, отдельно кол-во использовать сводную таблицу, только при копировании и не включены)) или год. чтобы из множества: Здравствуйте! Нужна помощьВТОРОЙ), выделите только ячейку, чтобы выделить все
- вариант в формуле между the other values и опять двойные Выделяем таблицу, нажимаем несколько таблиц в
- все ячейки с1.необходимо-просуммировать числа в а дальше то строки, как выА сводную можноShuter1987 одинаковых строк поля в объединении одинаковыхСоздать промежуточные строки
- B1 ячейки с даннымиValues ними стоит символ(В объединённой ячейке кавычки) можно избавиться сочетание клавиш Ctrl
- одну консолидацией, читайте цифрой 2, т.д. столбце «кол-во» у что??? сказали отражающие объединение, делать по консолидации: Для суммирования должны ТОВАР осталась всегда ячеек, причем так с функцией
- и вставьте текст в двух столбцах.(Значения) и нажмите пробела, заключенный в сохраняется только значение с помощью функции + T (английская в статье «Как Мы не знаем, совпадающих по 3-мAleX_Leon будут пустыми (тотжеЕще раз посмотрел, совпасть все столбцы? одна строка с чтобы строки тоже=ПРОМЕЖУТОЧНЫЕ. ИТОГИ () из буфера обменаСкопируйте данные в буферОК кавычки. Это разделитель, из верхней левой ПОДСТАВИТЬ() (см. файл на любой раскладке). объединить таблицы в сколько и какие
- признакам (номер+код+статус) строк: вид перевозки), соответственно что вы предлагаете,Промежуточные итоги ? уникальным значением, а объединялись пример прилагаю!Меню «Данные» –
- в таблицу. обмена (. который будет вставлен ячейки диапазона. Остальные примера). или с Получилась такая сводная Excel».
- у нас дубли и написать суммуgling до копирования надо что-то я неShuter1987 в поле соответсвенно
Отблагодарю чем смогу) «Итоги»– для Эксель2003Переименуйте столбецCtrl+CУдалите столбцы между соединёнными частями значения будут потеряны).
помощью инструмента Заменить таблица с фильтрами.
Второй способ.
в большой таблице.
в столбце «итог»
office-guru.ru
Работа в Excel, суммирование одинаковых данных
, да, сцепить, только их отобразить, а сразу вьехал, действительно: Да, предположим есть Кол-во и СуммаSkyProМеню «Данные» –»СтруктураB
илиFirst Name
имени. В качествев Excel 2010 и
(нажмите
Внизу столбца ВСложить все дублиНа новом листе у первой в
если есть повтор
вот как я это близко к такая таблица:
автоматически пересчитывались значения!!!: Это как? По «-«Промежуточные Итоги»– длявCtrl+Insи разделителя Вы можете
2007:CTRL+H установили автосумму. с помощью формул.
делаем активной ячейку. списке строки артов не нашел.Отобразите потом.
тому что нужно!
q|w|e|r|t|y|1|u|i Исходный файл прилагаю! каким параметрам? в
Эксель2007
Full Name
– что предпочитаете).Last Name использовать любой другой
The selection contains multiple, чтобы его вызвать).Выберем фильтром дубли 1.
Таблица та же.
Мы, в нашем2.удалить все одинаковые
Как для этого
Найти/Заменить — Выделение Не заметил, что
q|w|e|r|t|y|1|u|iЗаранее благодарю за каких столбцах?
И ничего писатьи удалите столбецЗапустите Блокнот:, они нам больше
Найти в первом столбце одинаковые значения и сложить значения из второго
символ, например, запятую. data values. Merging
Если строка Вася»:»Петя»:»Даша»:»Маша Получилось так.Принцип такой. Создаем примере, сделаем активной строчки где совпадают можно использовать сводную группы ячеек - отключен подитог. Толькоq|w|e|r|t|y|1|u|i помощь.Цитата
не надо –
Last name
Start не нужны. Для
Точно так же Вы
into one cell находится в ячейкеКак написать данные одновременно дополнительный столбец, в ячейку Е2 на (номер+код+статус), кроме строки, таблицу(не сталкивался с
Пустые — не пока в таком
q|v|e|r|t|y|1|u|iShuter1987
YYYS, 12.10.2013 в Эксель сделает всё.(Пуск) > этого: можете объединить данные
will keep theG8
в нескольких ячейках, ячейках которого будем этом же листе.
куда поставлен «итог». ней раньше)
снимая выделение ставите виде нельзя опять
q|v|e|r|t|y|1|u|i: Добрый день! Появилась
18:08, в сообщении сам.В описании этого способаAll Programs
кликните по заголовку столбца из нескольких ячеек, upper-left most data, то формула для
смотрите в статье
писать название дубля, На закладке «Данные»В файле в
planetaexcel.ru
Как объединить повторные ячейки? (Формулы)
gling курсор на самую перевести в форматq|v|e|r|t|y|1|u|i такая задача, нужно № 1200?’200px’:»+(this.scrollHeight+5)+’px’);»>причем такStorm_Zcooler
больше шагов, чем(Все программы) >B используя при этом
only замены этих символов, «Как заполнить ячейки который нужно сложить. в разделе «Работа столбце «итог» сначала
: Даааа! Для Вашего верхнюю пустую ячейку базы, которая была
q|d|e|g|t|y|1|u|i обрабатывать базы данных чтобы строки тоже
: Доброго времени суток. в предыдущем варианте,Accessories, затем, нажав и любой разделитель по(Выделенная область содержит например, на символ в Excel одновременно». Мы будем писать с данными» нажимаем показан результат, который варианта формулы предложить (выделенную) пишете =ячейка бы пригодна дляq|d|e|g|t|y|1|u|i с объемом перевозок, объединялисьВсю строку?Помогите сваять формулу но поверьте мне(Стандартные) > удерживая клавишу Вашему вкусу. Например, несколько значений данных. ; будет выглядетьОбъединим значения из нескольких
дубли в ячейках на кнопку функции
должен получиться. не могу, только
выше — Ctrl+Enter. построения новой сводной:
q|d|e|g|t|y|1|u|i
для дальнейшего анализаМожет вам нужно в EXCEL. Есть или проверьте самиNotepad
Ctrl Вы можете соединить Объединение ячеек приведёт
так: ячеек в одной С2, С3, С4, «Консолидация». Выйдет диалоговоеОпыт в экселе
макрос. Но это Все заполнится.Большое спасибо! например по первомуНужно преобразовать в: информации. Месячная база просто две таблицы два столбца в – этот способ(Блокнот), кликните по заголовку адреса из 3 к потере всех=ПОДСТАВИТЬ(G8;»»»:»»»;»;») ячейке.
С5. окно.
excelworld.ru
Объединение строк с суммированием по одному полю таблицы, если остальные совпадают
небольшой, если возможно в другом разделе. Все получилось! столбцу идет видq|w|e|r|t|y| содержит около 150 свести в одну? одном наименование товара, гораздо быстрее.Вставьте данные из буфера столбца столбцов в один: значений, кроме левогоВ итоге, вставив результатПредположим, что имеется диапазонА в следующемЗаполнили его так: подскажите самый простойbuchlotniklexamen перевозки (например внутренние)3 тыс. строк, однаЕсли да, то во втором кол-во.Урок подготовлен для Вас обмена в БлокнотCСкопируйте эту формулу во верхнего). формулы как значение, имен, необходимо, чтобы столбце напишем формулу,В строке «Функция» вариант.:
: Имеется таблица со и он относится|u|i строка — один на форуме полно Как сделать, чтобы командой сайта office-guru.ru (нажмите. все остальные ячейки
Далее в этой статье
получим строку Вася;Петя;Даша;Маша. все имена были
которая будет искать выбрали функцию «Сумма».Заранее благодарна заAleX_Leon значениями, некоторые значения ко всем последующимq|v|e|r|t|y| перевезенный контейнер и подобных тем. в третьем столбцеИсточник: https://www.ablebits.com/office-addins-blog/2013/10/13/merge-columns-excel-without-losing-data/Ctrl+V(другой способ) выберите любую
столбца Вы найдёте 2Примечание
выведены подряд в
дублирующие данные в Можно выбрать другие помощь.
,
в первом столбце
строкам, пока не
3
все его перемещения
YYYS
он находил одинаковые
Перевел: Антон Андронов
или
ячейку в столбце
Full Name способа, как объединить: В формуле для
одной ячейке. первом столбце и действия.
sv-zzzЧто такое совпадение совпадают
дойдет до следующего|u|i и т.д., если: Это одна таблица наименования товара и
Автор: Антон АндроновShift+InsB. Пошаговую инструкцию как
данные из нескольких замены двойных кавычекКогда значений немного, то складывать цифры поВ строке «Ссылка»: Предлагаю 2 варианта артов, по какимНужно объединить совпадающие вида перевозки (напримерq|d|e|g|t|y| объединять несколько месяцев, там где то складывал их кол-воС помощью какой формулы), нажмите это делается Вы столбцов в один » использовано 2 объединить их можно дублям из второго поставили диапазон нашей в файле. столбцам, как? сцепка значения в одну
транзита), между ними3 база становится неподъемной, 800 наименований, в из второго столбца. можно свести данныеСкопируйте в буфер обменаCtrl+Space можете найти в без потери данных
двойные кавычки «». с помощью функции
столбца. таблицы. У нас
1. Формулой Код размеров — вам строку с сохранением поля пустые, а|u|i а тут потребовалось первой ячейке естьПример файла прилагаю. в таблице, чтобы символ табуляции. Для(Пробел), чтобы выделить статье Как вставить и, не используяИз этой короткой статьи СЦЕПИТЬ() записав формулуВ ячейке D2 указан фиксированный размер =СУММПРОИЗВ(($A$2:$A$58=A2)*($B$2:$B$58=B2)*($C$2:$C$58=C2)*$D$2:$D$58) вывести итог там сортировка нужна? всех не совпадающих им бы повторятьсяПо поводу промежуточных анализировать год, столько повторения (это idзаранее спасибо! повторяющиеся строки ссумировались. этого нажмите клавишу весь столбец
одинаковую формулу сразу макрос VBA. Вы узнаете, как =СЦЕПИТЬ(A6;A7;A8;A9) пишем такую формулу. диапазона с абсолютными — скопировать - — в примере данных в этих каждую строчку, до итогов, пока не
строк excel не товара). Повторения изdimonovych Например вместо пятиTabB во все выбранныеОбъединяем два столбца при
в Excel объединитьИли с помощью Амперсанда =СУММЕСЛИ(A2:A9;C2;B2:B9) ссылками и названием вставить значения, затем синий из второй строках следующего параметра, можно очень понимаю, как потянет вообще. Выход за того, что: =SUMIF($A$2:$A$11;E2;$B$2:$B$11) строк анальгина -
в Блокноте, затем, затем нажмите ячейки. помощи формул несколько столбцов в & (добавим еще
В ячейку D3 столбцов. Можно написать выделить все столбцы строки стал вBasil это как-то решить? их применить для вижу в объединении у товара ест=СУММЕСЛИ($A$2:$A$11;E2;$B$2:$B$11) одна с общим сочетаниеCtrl+Shift+Стрелка вправоИтак, мы объединили именаОбъединяем столбцы при помощи один, не потеряв для красоты символ пишем такую формулу. диапазон с относительными и Данные - конец сцепки, а: Через сводную таблицу.А так да,
CyberForum.ru
Объединение строк При условии одинаковых ячеек с сохранением содержимого в строках
решения такой задачи.. строк, т.к. есть разные размеры иSerge количеством
Ctrl+Shift+Стрелка влево, чтобы добавить к из двух столбцов Блокнота при этом данные. пробела): =A6&» «&A7&»
=СУММЕСЛИ(A3:A9;C3;B3:B9) ссылками.
CyberForum.ru
соединить одинаковые строки (Формулы/Formulas)
Удалить дубликаты вот размер, наоборот,AleX_Leon именно эти поляShuter1987 много маршрутов, где количество а ID: Этот вопрос почтиПолосатый жираф алик, а затем выделению столбец в один, ноДопустим, у Вас естьУ Вас есть таблица
«&A8&» «&A9
По такому принципуПодробнее о видах2. Сводная таблица в начало сцепки.: Всем привет. Помогите
нужно суммировать, сумма: т.е. должно быть все столбцы одинаковые одинаковый. Мне нужно каждый день задаётся,: =СУММЕСЛИ ()Ctrl+XC это по-прежнему формула. таблица с данными
в Excel, иЕсли значений много, то написать формулы в ссылок читайте в на Лист1 А всегда значения плиз. Имеется n-строки правильная. Число строк вот так, но и можно просто объединить строки с поищите, думаю паруDsd.
. Если мы удалим о клиентах, и Вы хотите объединить придется вводить вручную других ячейках столбца
статье «Относительные иAlexM уникальные? Если на с одинаковыми артами,
сократилось в 2.5 формулами? просуммировать строку с одинаковым ID, и тысяч топиков с: или =суммеслимн ()
Замените в Блокноте символыПосле этого кликните правой столбец Вы хотите объединить
два столбца в много амперсандов и D. Получилось так. абсолютные ссылки в: Большое спасибо,Fairuza, 1-й входе 1,5 тыс названиями и ценами, раза, что иShuter1987 числом контейнеров. Короче чтобы ячейка размер таким же вопросом=РTab кнопкой мыши поFirst name столбцы с именем один построчно. Например,
аргументов функции СЦЕПИТЬ().Эту же формулу можно Excel» здесь. вариант помог, со строк потрудитесь хотя
а цвет и
требуется (в целой: Да, видно, что
задача такая, в добавлялась и была Вас устроятили в таком
на другие символы, любому из выделенныхили (First Name) и необходимо объединить столбец Это неудобно.
написать, вызвав диалоговоеПоставили галочки у сводными пока не
бы 10 привести
размеры разные. Нужно базе наверно будет в данном случае массиве данных нужно
excelworld.ru
Суммирование значений строк, одинаковых по 3-м признакам. Удаление повторов
через запятую, аРешений три: Сводной духе через формулу
которые Вы хотите столбцов и вLast name фамилией (Last Name)
с именем иИзбежать этого поможет дополнительный окно функции «СУММЕСЛИ». слов: умею работать. и результат - соединить n-строки по еще больше).Включите в
сводная только усложняет, проссумировать значения по строка количество суммировалась. таблицей, макросом, формулами
массив и именованые использовать в качестве контекстном меню нажмите, то связанные с
в один столбец столбец с фамилией столбец с простейшей Она расположена на
«подписи верхней строки»Еще формула Код
что должно получиться размеру и цвету. Параметрах отображение промежуточных
это еще не 1 столбцу, если В двух файлахЮрий М диапазоны разделителей.Для этого нажмитеDelete
ними данные в с полным именем
в один, или формулой: закладке «Формулы» в – это название =СУММПРОИЗВ((МУМНОЖ(Ч(A$2:C$58=A2:C2);{1:1:1})=3)*D$2:D$58)
Pelena Если нет такой
CyberForum.ru
итогов.
In this article, we are going to show you how to consolidate text by a condition in Excel.
Download Workbook
Please note that we will be using the new dynamic array functions UNIQUE and FILTER in this post. These functions currently are only available to Office 365 users.
If you don’t have Office 365, a great alternative to these formulas is using a Pivot Table instead. To learn more about this method, please see How to consolidate text with Pivot Table in Excel.
Consolidating text by a condition
The example we are going to be looking at consists of categories (Name), and corresponding text values (Ability) we want to consolidate.
Note that you can convert your data into an Excel Table by pressing Ctrl + T when the data is selected. An Excel Table provides a dynamically updating table layout and makes formulas easier to apply. See Tips for Excel Tables for more.
First, we need a list of conditions (categories). This list needs to include unique names to avoid any duplicate entries. If you already have a list of conditions, you can use it as is.
You can generate a unique list using the UNIQUE function. Use the Name column to populate a list of unique categories.
Next, we can use these unique values to “filter”, and merge the values under the Ability column. The consolidation formula will include FILTER and TEXTJOIN functions.
=TEXTJOIN(«, «,TRUE,FILTER(Table1[Ability],Table1[Name]=<Category>))
In summary, the FILTER formula can return an array of values based on a criteria, and the TEXTJOIN can merge text values in an array, adding a delimiter.
The criteria in our scenario can be defined with the Table1[Name]=<Category> expression. So, replace <Category> with the reference of the unique Name value.
The first argument of the TEXTJOIN function determines the delimiter. Our choice is a comma and a space «, «. You can replace this with any value you want like “ — «, “ | “, etc.
|
Как объединить данные строк по условиям |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
#Руководства
- 29 апр 2022
-
0
Инструкции со скриншотами и нюансами. Учим использовать кнопку «Объединить» и функции СЦЕПИТЬ, СЦЕП, ОБЪЕДИНИТЬ. Рассказываем, какой метод выбрать.
Иллюстрация: Meery Mary для Skillbox Media
Рассказывает просто о сложных вещах из мира бизнеса и управления. До редактуры — пять лет в банке и три — в оценке имущества. Разбирается в Excel, финансах и корпоративной жизни.
Объединение ячеек в Excel позволяет из нескольких ячеек таблицы сделать одну. Такая опция обычно требуется в двух случаях:
- если нужно отформатировать таблицу — например, расположить название таблицы по центру, убрать лишние пустые ячейки или оформить шапку;
- если нужно объединить информацию — из нескольких строк или столбцов сделать одну ячейку, при этом сохранив все данные.
Рассмотрим четыре способа объединения ячеек в Excel. Разберёмся, для каких случаев они подойдут и как их применять. В конце расскажем, какие из этих способов работают в «Google Таблицах».
- Кнопка «Объединить» — когда нужно сделать шапку в таблице.
- Функция СЦЕПИТЬ — когда нужно собрать данные из нескольких ячеек в одну.
- Функция СЦЕП — когда нужно собрать данные из большого диапазона.
- Функция ОБЪЕДИНИТЬ — когда нужно собрать данные из большого диапазона и автоматически разделить их пробелами.
Для чего подойдёт. Для форматирования таблицы, когда нужно улучшить её внешний вид. Например, сделать общую шапку для нескольких столбцов. Лучше, чтобы объединяемые ячейки были пустыми или информация была только в одной из них.
Особенности метода. После объединения сохраняется только значение первой ячейки, информация из других удаляется.
Как сделать. Допустим, нужно отформатировать таблицу с каталогом авто: оформить шапку для колонок с характеристиками и убрать лишнюю пустую ячейку.
Скриншот: Skillbox
Для начала сделаем шапку. Выделяем ячейки над колонками с характеристиками авто: год выпуска, объём двигателя, коробка передач, привод, руль.
Скриншот: Skillbox
На вкладке «Главная» нажимаем на кнопку «Объединить ячейки» или «Объединить и поместить в центре» — в зависимости от того, какой визуальный результат хотим получить.
Скриншот: Skillbox
В итоге вместо пяти ячеек получаем одну. Вводим её название и меняем оформление, если нужно.
В нашем случае получилась шапка части таблицы — «Характеристики автомобилей».
Скриншот: Skillbox
По аналогии с предыдущими шагами уберём лишнюю пустую ячейку над ячейкой «Марка, модель». Для этого нужно выделить их одновременно и также нажать на кнопку «Объединить и поместить в центре».
Скриншот: Skillbox
Получаем таблицу в таком виде:
Скриншот: Skillbox
Чтобы убрать объединение ячеек, выделим их и нажмём на кнопку «Отмена объединения ячеек». Можно выбирать всю таблицу целиком — тогда Excel сам найдёт объединённые ячейки и разъединит их. Можно выделить отдельный диапазон — в этом случае разъединится только он. Мы выделим и разъединим всю шапку таблицы.
Скриншот: Skillbox
Получим таблицу в таком виде. Можно внести необходимые изменения, если нужно, и объединить ячейки снова.
Скриншот: Skillbox
Дополнительно в этом методе есть кнопка «Объединить по строкам». С помощью неё можно объединить ячейки выбранного диапазона построчно. Например, есть диапазон из трёх столбцов и семи строк — нужно из всех этих столбцов сделать один, но при этом оставить количество строк неизменным. Выделим всю таблицу целиком и нажмём эту кнопку.
Скриншот: Skillbox
Получим таблицу в таком виде — три столбца объединились в один, при этом количество строк осталось прежним.
Скриншот: Skillbox
Следующие три способа используются для объединения ячеек с сохранением всех данных в них. Они работают по такому принципу: функции собирают значения из выбранных ячеек в отдельную пустую ячейку.
Например, нам нужно собрать все характеристики автомобилей в одну строку, чтобы в дальнейшем использовать их для квитанции. Разберёмся, как сделать это с помощью трёх функций.
Для чего подойдёт. Для объединения небольшого количества ячеек с сохранением всех данных.
Особенности метода. Каждую ячейку нужно указывать в виде отдельного аргумента функции; большой диапазон сразу выделить нельзя.
Функция склеивает все данные из исходных ячеек в итоговую ячейку. Часто эти данные нужно разделить: вставить пробелы, знаки препинания, символы или слова. Это придётся прописывать вручную в строке ссылок.
Как сделать. Для начала выделим ячейку, в которую функция соберёт значения из объединяемых ячеек. В нашем случае создадим дополнительную колонку «Данные для квитанции» и выделим первую ячейку.
Скриншот: Skillbox
Дальше открываем окно для построения функции. Есть два способа сделать это. Первый — перейти во вкладку «Формулы» и нажать на «Вставить функцию».
Скриншот: Skillbox
Второй способ — нажать на «fx» в строке ссылок на любой вкладке таблицы.
Скриншот: Skillbox
Справа появляется окно «Построитель формул». В нём через поисковик находим функцию СЦЕПИТЬ и нажимаем «Вставить функцию».
Скриншот: Skillbox
Появляется окно для ввода аргументов функции. «Текст 1», «Текст 2» — ячейки, значения которых мы объединяем. В нашем случае таких ячеек пять, поэтому с помощью кнопки + добавляем ещё три таких аргумента.
Скриншот: Skillbox
Заполняем аргументы функции. Поочерёдно нажимаем на окно каждого аргумента и из таблицы выбираем значение для него.
Порядок действий, чтобы указать значение, выглядит так:
- Ставим курсор в окно «Текст1» в построителе формул.
- Выбираем первое значение столбца «Год выпуска» в таблице. Это ячейка B4.
Выбранное значение переносится в построитель формул и одновременно появляется в формуле строки ссылок: fx=СЦЕПИТЬ(B4).
То же самое делаем для остальных аргументов: «Текст2» → значение ячейки «Объем», «Текст3» → значение ячейки «Коробка передач», «Текст4» → значение ячейки «Привод», «Текст5» → значение ячейки “Руль”.
В итоговом виде функция получается такой: fx=СЦЕПИТЬ(B4; C4; D4; E4; F4). Нажимаем кнопку «Готово».
Скриншот: Skillbox
Скриншот: Skillbox
Функция объединила данные всех ячеек, но не добавила пробелы и знаки препинания между ними. В этом методе их можно добавить только вручную, с помощью изменений в строке ссылок.
Добавляем в получившуюся функцию после значения каждого аргумента запятую и пробел, в таком виде, вместе с кавычками: «, «;
Скриншот: Skillbox
Получаем функцию в таком виде: fx=СЦЕПИТЬ(«год выпуска «;B4;», объем «;C4;», коробка передач «;D4;», привод «;E4;», руль «;F4). Нажимаем Enter.
Скриншот: Skillbox
Таким же образом можно добавить не только пробелы и знаки препинания, но и целые слова и фразы.
Для нашего примера можно преобразовать функцию к такому виду: fx=СЦЕПИТЬ(«год выпуска «;B4;», объем «;C4;», коробка передач «;D4;», привод «;E4;», руль «;F4). Главное — не забывать указывать все необходимые пробелы, которые должны быть между объединёнными данными.
Скриншот: Skillbox
Дальше нужно протянуть это значение вниз до конца таблицы, чтобы функция объединила характеристики всех остальных автомобилей.
Скриншот: Skillbox
Для чего подойдёт. Для объединения больших диапазонов ячеек с сохранением всех данных.
Особенности метода. Можно указать сразу весь диапазон ячеек. Но функция, как и СЦЕПЛЕНИЕ, склеит их: значения не будут ничем разделены.
Есть два способа разделить значения в итоговой ячейке. Первый — указывать разделители (слова, символы. пробелы, запятые и так далее) в окне построения формул после каждой ячейки. Второй — прописывать их вручную в строке ссылок.
Как сделать. По аналогии с функцией СЦЕПЛЕНИЕ выделим ячейку, в которую функция будет собирать значения. Откроем окно для построения функций и найдём функцию СЦЕП.
Скриншот: Skillbox
Появляется окно построителя формул. В нём аргумент «Текст 1» — диапазон ячеек, который нужно объединить. В нашем случае выделяем все ячейки с характеристиками автомобилей и жмём «Готово».
Выбранное значение диапазона переносится в построитель формул и одновременно появляется в формуле строки ссылок: fx=СЦЕП(B4:F4).
Скриншот: Skillbox
Скриншот: Skillbox
Как и в предыдущем случае, функция объединила данные всех ячеек, но снова слепила их между собой. Добавить пробелы и знаки препинания в этом методе можно через построитель формул. К сожалению, тогда придётся отказаться от выделения всего диапазона и вводить значения каждого аргумента отдельно, разбавляя их пробелами, запятыми или дополнительными словами.
Вернёмся в окно построения функции и поменяем аргументы на такой вид: «Текст1» → значение ячейки «Год выпуска», «Текст2» → «, «, «Текст3» → значение ячейки «Объём», «Текст4» → «, «. И так далее до последней ячейки, которую нужно объединить: чередуем значения ячеек и аргумент-разделитель.
Затем нажимаем «Готово». Итоговое значение функции принимает вид: fx=СЦЕП(B4;», «;C4;», «;D4;», «;E4;», «;F4), и данные ячейки разделяются запятыми и пробелами.
Скриншот: Skillbox
Скриншот: Skillbox
Чтобы добавить не только запятые с пробелами, но и слова, нужно дописать их в промежуточных аргументах функции. Сделаем это на нашем примере. Вернёмся в построитель формул и заменим данные:
«Текст2» → «, объём «, «Текст4» → «, коробка передач «, «Текст6» → «, привод «, «Текст8» → «, руль «.
Скриншот: Skillbox
В итоге функция выдаёт значение, где все данные разделены между собой дополнительными словами. Формула при этом принимает вид: fx=СЦЕП (B4;”, объём “; C4;”, коробка передач “; D4;”, привод “; E4;”, руль “; F4).
Скриншот: Skillbox
Как и в предыдущем методе, можно было вносить изменения в формулу сразу в строке ссылок. Но через окно построения функций это делать удобнее — меньше вероятность ошибиться.
Протягиваем полученное значение вниз до конца таблицы — функция объединяет характеристики всех остальных автомобилей по такому же принципу.
Скриншот: Skillbox
Для чего подойдёт. Для объединения больших диапазонов ячеек с сохранением данных.
Особенности метода. Можно указать сразу весь диапазон ячеек и разделитель для них. При этом значение самого разделителя будет одним для всех объединённых ячеек. Если нужно изменить разделитель для части ячеек — делать это придётся вручную в строке ссылок.
Как сделать. Выделим ячейку, в которую функция будет собирать значения. Откроем окно для построения функций и найдём функцию ОБЪЕДИНИТЬ.
Скриншот: Skillbox
Появляется окно построителя формул. Здесь аргументы не такие очевидные, как в предыдущих двух методах, поэтому разберём каждый подробнее.
«Разделитель» — значение, которое появится между ячейками после объединения. Разделитель будет одинаковым для всех ячеек.
В нашем случае в качестве разделителя добавим запятую и пробел: «, «.
Скриншот: Skillbox
«Пропускать_пустые» — условное значение, которое определит, что функция будет делать с пустыми ячейками в диапазоне:
- Если нужно, чтобы пустые ячейки игнорировались и разделители не дублировались в них, вводим 1 (ИСТИНА).
- Если нужно, чтобы пустые ячейки обязательно учитывались, вводим 0 (ЛОЖЬ).
В нашем примере в таблице нет пустых ячеек, поэтому не принципиально, какое значение устанавливать в этом аргументе. Введём 1.
Скриншот: Skillbox
«Текст1» — значения ячеек, которые нужно объединить. Можно выбирать одним диапазоном или вводить каждое значение по отдельности.
В нашем примере выберем все ячейки одним диапазоном.
Скриншот: Skillbox
Итоговая функция в строке ссылок принимает вид: fx=ОБЪЕДИНИТЬ(«, «;1;B4:F4).
Нажимаем кнопку «Готово» и растягиваем полученную ячейку на все остальные строки.
Скриншот: Skillbox
В итоге функция объединила данные всех ячеек и сразу разделила их запятыми и пробелами. С одной стороны, это удобно: не пришлось вводить разделители несколько раз. С другой стороны, функция позволила ввести только одно значение разделителя. Если нужно дополнить значения дополнительным текстом, разным для всех ячеек, — придётся делать это вручную через построитель формул. Как это сделать, можно посмотреть в предыдущей инструкции для функции СЦЕП.
Какие методы объединения ячеек есть в «Google Таблицах»? В них есть кнопка «Объединить», которая работает по аналогии с Excel. Также есть функция СЦЕПИТЬ, но нет окна построителя формул — прописывать значения придётся вручную. Если вам нужен разделитель в виде запятой и пробела, то функция будет выглядеть так: fx=СЦЕПИТЬ(C4;», «;D4).

Научитесь: Excel + Google Таблицы с нуля до PRO
Узнать больше





























Там в base еще есть колонки с комиссиями за сделки, их тоже необходимо объединить, в этом примере их в final нету.

































