MulTEx »
17 Февраль 2014 23172 просмотров
СцепитьЕсли
Данная функция является частью надстройки 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″)
Работа с функцией СЦЕПИТЬ в Microsoft Excel
Смотрите также нельзя использовать домашних их по нескольким хотите хранить на окне вводим имя в переменную OutTextLike запятую очередной адрес. отображение). А вотречная форельСовет: считать таковыми. такое число привести — арифметические действия в самом начале, чтобы эта ячейка в данном случаеОдной из интересных функций любимцев (мышек, птичек,
строкам. В моей листе текст приветствия,
Применение оператора СЦЕПИТЬ
нового столбца и For i =, то можно будет Если отличается, то если Вы введетеFourth Чтобы добавить разделители (например,Определяете параметры каждого из к числовому формату, различной сложности. Для чтобы в другие никогда после этого мы будем работать приложения Microsoft Excel собачек и иже текущей задаче ничего текущую дату и формулу сцепки на 1 To SearchRange1.Cells.Count осуществлять склейку по «сбрасываем» накопленное, начиная этот формат вPine
пробелы или символы полученных столбцов, и
этот ноль исчезнет,
более сложных операций поля, где содержится не заполнялась никакими только со ссылками. является функция с ними подобного нет пользоваться функцией
Способ 1: объединение данных в ячейках
встроенном в Power If SearchRange1.Cells(i) = неточному совпадению исходных заново: функцию ТЕКСТ, то32& в какие именно и останется только над данными используются этот адрес, пользователь данными.Устанавливаем курсор в первоеСЦЕПИТЬ
- )AndreTMСЦЕПИТЬ() Query языке М: Condition1 And SearchRange2.Cells(i) данных с критериемМинусы такого подхода очевидны: она выдаст ВамФормула
- ) между объединяемыми фрагментами колонки записывать значения. цифра 9. функции. Их преимущество мог копировать его,Выполняем те же действия, поле окна. Затем. Её основной задачейДобавлено: Неверно посмотрел (у, то есть альтернативноеОбратите внимание, что все = Condition2 Then
- отбора. Например, если из всех ячеек не только отображениеОписание и удалить пустыеВторой способ – использованиеКак видим, сейчас мы в том, что как содержащий постоянные что и при выделяем ссылку на
является соединение содержимого(08.06.2013, 20:47) меня же в решение — можно М-функции регистрочувствительные (в OutText = OutText название компании может полученного дополнительного столбца 00005, но иРезультат аргументы, которые не команды VBA Split. сцепили данные двух они работают не абсолютные ссылки. В первом способе применения листе, в которой двух или нескольких——————————————— ответе есть UDF). использовать одну формулу,
- отличие от Excel). & TextRange.Cells(i) & быть записано в нам нужны только фактическое значение тоже=СЦЕПИТЬ(«Популяция рек для «;A2;» должны отображаться в Ее синтаксис: ячеек, одна из только с числовыми остальных полях оставляем функции содержатся данные, нужные ячеек в одной.У меня получилось Там надо отбирать в которой одновременно
После нажатия на Delimeter End If
Способ 2: применение функции с пробелом
разных вариантах, то последние по каждой будет 00005 -
- «;A3;» составляет «;A4;» целевом тексте, можноSplit (Выражение,[Разделитель],[Количество строк],[Сравнение]).
- которых представляла собой данными, но и относительные ссылки. КакСЦЕПИТЬ
- для объединения. После Данный оператор помогаетДобавлено данные, для заданного как константа хранитсяОК Next i ‘выводим мы можем одной компании (желтые). Если уже не число,
на километр.")
- использовать функцию ОБЪЕДИНИТЬ.Атрибут «Выражение» является обязательным число, а вторая с текстовыми значениями, всегда, после выполнения
, вплоть до открытия того, как координаты решить некоторые задачи,(08.06.2013, 21:09) условия — и
Способ 3: добавление пробела через окно аргументов
текст приветствия, работаетполучаем новый столбец результаты без последнего функцией проверить и список большой, то а текст.Создает предложение, объединяя данныеСЦЕПИТЬ(текст1; [текст2]; …) – это строка – текст, и логическими параметрами, датой процедуры, жмем на окна аргументов оператора. отобразились в окошке, которые с помощью———————————————
- возвращать каждый результат функция СЕГОДНЯ(), переводится со склееными адресами: разделителя MergeIfs = собрать их все: чтобы их быстроLexstyle в столбце ААргумент для разделения. «Разделитель» добавили отдельный символ и временем и кнопку
- Добавляем значение первой аналогичным образом поступаем других инструментов воплотитьПо итогам - в виде строки в текст вОсталось удалить ненужный уже Left(OutText, Len(OutText) -Поддерживаются стандартные спецсимволы подстановки: отобрать придется добавить: _Boroda_, интересно как, с остальным текстом.Описание показывает знак, по точку, получив в т.д.«OK» ячейки с данными со вторым полем. невозможно. Например, с запишу видео и через запятую. Как нужном формате порядковый столбец Len(Delimeter)) End Functionзвездочка (*) — обозначает
- еще один столбец, а вы можетеПопуляция рек для видатекст1 которому исходный текст результирующем поле строку,Функция «Сцепить» в Excel. в поле окна, Соответственно выделяем другую его помощью удобно выложу раз то, о номер текущей датыТаблАдресовПрименяться она будет совершенно любое количество любых использующий функцию объяснить пожалуйста как речная форель составляет(обязательно) делится на части,
созданную слиянием этих является одной изУстанавливаем курсор в нижний как это уже ячейку. Подобную операцию производить процедуру объединенияRustem
чём ты и и функция(правой кнопкой мыши аналогично — только символов (в т.ч.ДЛСТР (LEN) это? т.е. значение 32 на километр.Элемент текста, который нужно по умолчанию это значений. тех, что предназначены правый угол элемента было описано ранее. проделываем, пока координаты
Способ 4: объединение колонок
ячеек без потерь.: Есть вариант решения, завёл разговор.СЦЕПИТЬ() по заголовку -
- аргументов теперь нужно и их отсутствие), проверяющий длину накопленных прописанных в формуле=СЦЕПИТЬ(B2;» «; C2) присоединить. Строка или пробел. «Количество строк»Приведем еще несколько примеров для работы со с формулой. Появляется Затем устанавливаем курсор всех ячеек, которые Рассмотрим возможности данной отправил в ЛС.viktturзаменена знаком амперсандУдалить столбец указывать больше:вопросительный знак (?) - строк: данных……..Объединяет строку в ячейке массив строк, например определяет максимальное число функции «Сцепить» в строковыми значениями ячеек. значок, имеющий вид во второе поле, нужно объединить, не функции и нюансыSerge_007: Значит, макрофункции - «) и выгрузить результаты
- Решить проблему можно и обозначает один любойТеперь можно отфильтровать единичкиGReeNbI4 В2, пробел и диапазон ячеек. результирующих значений. «Сравнение» Excel. Прежде всего, Она нужна пользователю, крестика, который называется
- и выделяем ту будут внесены в её применения.: Да Rustem, практически
тоже нельзя?& на лист, нажав
Способ 5: добавление дополнительных символов
без программирования на символ и скопировать нужные: значение в ячейке[текст2; …] — метод, определяющий закончим начатое выше если необходимо объединить маркером заполнения. Зажимаем пустую ячейку с
- окно аргументов функции.Скачать последнюю версию то же самоеSerge_007»: на вкладке VBA, если использоватьрешетка (#) — обозначает склейки адресов для200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ПОВТОР(0;5-ДЛСТР(A1))&A1 С2.(необязательно) чувствительность к реестру и превратим информацию несколько текстовых полей левую кнопку мыши пробелом, о которой После этого жмем
- ExcelМой вариант немного: Вить, а тыCode=»Привет! Сегодня «&ТЕКСТ(СЕГОДНЯ();»ДД.ММ.ГГГГ»)
Главная — Закрыть и бесплатную надстройку Power одну любую цифру дальнейшего использования.dmisviridovВиталий ТокаревДополнительные текстовые элементы для символов. в ячейке G2 в одно. Очень и тянем его шла речь ранее. на кнопкуФункция короче
что хотел предложить?
lumpics.ru
Функция СЦЕПИТЬ в Excel: синтаксис, использование, примеры
В английской версии: загрузить (Home - Query. Для Excel (0-9)Если исходный список не: Подскажите как сцепить=СЦЕПИТЬ(C2; «, «; B2) объединения. Для текстовыхАналогом функции СЦЕПИТЬ в в полноформатную дату часто она используется вниз параллельно расположению Появляется ссылка в«OK»СЦЕПИТЬ
Функция «Сцепить»
ДобавленоПриветствуются любые решенияCode Close and load) 2010-2013 ее можноПо умолчанию оператор Like отсортирован по компаниям, текст находящийся наОбъединяет текст в ячейке элементов можно указать Excel является знак рождения клиента. Для для соединения фамилии, объединяемых элементов. поле окна аргументов..относится к группе
(09.06.2013, 08:41)Добавлено=»Привет! Сегодня «&TEXT(TODAY(),»DD.MM.YYYY»): скачать здесь, а регистрочувствительный, т.е. понимает, то приведенная выше листах 1, 2, C2, строку, состоящую до 253 аргументов. Каждый амперсанда — &. этого нам потребуется имени и отчества,После выполнения этой процедуры Для ускорения процессаКак видим, содержимое выбранных текстовых операторов Excel.———————————————(08.06.2013, 00:19)
Serge_007Важный нюанс в Excel 2016 например, «Орион» и простая формула не 3, результат должен из запятой и из них может В нашем примере соединить в одной
Применение
которые хранятся в данные в указанных можно её скопировать, областей отразилось в Её основная задачаИ всё-таки получается———————————————: Друзья!: в отличие от она уже встроена «оРиОн» как разные работает, но можно отображался на листе пробела, и значение быть строкой или он применяется таким строке день рождения,
разных столбцах, в столбцах будут объединены выделив и нажав одной предварительно указанной — объединение в что я первыйУ тебя естьЯ понимаю, лето, предыдущих способов (функций), по умолчанию. Последовательность
компании. Чтобы не легко выкрутиться с 4. в ячейке B2. массивом строк, например образом: месяц и год, одно целое поле в одном столбце.
сочетание клавиш ячейке. Но у одной ячейке содержимогоЕсть ссылки на решение моей задачи? отпуска и всё
таблицы из Power
действий будет следующей: учитывать регистр можно помощью небольшой пользовательскойПри условии, что,Егоров, Владимир диапазоном ячеек.=A2&» «&B2&» «&C2. содержащиеся, соответственно, в ФИО. Но примененийУрок:Ctrl+C данного способа имеется нескольких ячеек, а другие решения (спасибо ИМХО — моя такое, но как-то Query не обновляютсяPower Query не умеет добавить в самое функции на VBA.
если слово на=СЦЕПИТЬ(B3;» & «; C3)Например, выражение =СЦЕПИТЬ(«Не»;» «;»слышны»;»В результате получим те ячейках D2, E2 этой опции многоКак объединить столбцы в. существенный недостаток. При также отдельных символов. Rustem), однако они
Примеры
и та задачи интересных задач поубавилось автоматически. Если в работать с обычными начало модуля в Откройте редактор Visual листах 2 илиОбъединяет строку в ячейке «;»в»;» «;»саду»;» «;»даже»;» же значения, что и F2. Между и кроме этого ЭкселеЗатем добавляем ссылку на его использовании происходит Начиная с версии длиннее
— разные что-ли… будущем произойдут какие-либо таблицами, поэтому первым редакторе Visual Basic
Basic нажатием на 3 было уже
B3, строку, состоящую
«;»шорохи») вернет строку и раньше: этими значениями необходимо стандартного случая.Функцию
следующий элемент, который так называемая «склейка Excel 2016, вместоMCHviktturДумаю что моя изменения в исходных шагом превратим нашу строчку сочетание клавиш на листе 1,
из пробела, амперсандаНе слышны в садуВ Excel версии 2016 поставить точки.Если вы используете неСЦЕПИТЬ нужно добавить. В без шва». То данного оператора используется: Только что увидел: Я хотел предложить задача будет не данных, то нужно таблицу в «умную».Option Compare TextAlt+F11 то оно на
и еще одного даже шорохи
Обратная функция
появилась новая функцияВ окне аргументов добавится русскоязычную версию программы,можно также использовать очередном поле опять есть, между словами функция тему, сразу же вопрос. Предложил сложной и достаточно
будет щелкнуть правой Для этого ее, которая переключит Likeили с помощью листе 4 не пробела, и значение. СЦЕП(). Ее отличие
- еще 2 поля, то на английском для добавления дополнительных добавляем ссылку на
- нет пробела иСЦЕП вопросы:
- Serge_007 очевидной, но я кнопкой в любое нужно выделить и
в режим, когда кнопки отображается.
в ячейке C3.
Если объединенная строка содержит в том, что в результате оно функция «Сцепить» в символов и выражений, пустую ячейку. Так они склеены в. Но в целях1. При формульном: Я думал ты почему-то никогда не место таблицы результатов нажать сочетание Ctrl+T
Другие возможности объединения строк
он невосприимчив кVisual BasicВходные данные иFourth & Pine свыше 32767 символов (ограничение у нее всего
будет выглядеть таким
Excel называется «Concatenate». которых не было как мы скопировали
единый массив. При сохранения обратной совместимости решении можно использовать решение на XLM встречал подобного решения и выбрать команду или выбрать на регистру.на вкладке результат, который должен=B3 & » &
для ячейки), функция один атрибут – образом: В остальном все, в первоначальном объединяемом её адрес, то этом вручную добавить оператор итерации?
знаешь
fb.ru
Функция СЦЕП
в интернетахОбновить (Refresh) вкладкеТаким образом можно составлятьРазработчик (Developer) получится, есть в » & C3 СЦЕП вернет ошибку диапазон ячеек. МожноСтрока функции будет иметь описанное ниже, соответствует диапазоне. Более того, можно установить курсор пробел не получится,СЦЕПИТЬ2. Задача решаетсяviktturЗадача проста: Необходимо.Главная — Форматировать как весьма сложные маски
. В открывшемся окне примере.Объединяет те же элементы, #ЗНАЧ!. соединить значения полей, вид:
и англоязычной версии можно с помощью в поле и а только черезтоже оставлен, и не обязательно формулами,
: Оно есть. Вряд конкатенировать одномерный диапазонПредположим Вы решили таблицу (Home - для проверки условий, вставьте новый пустойТолько просьба формулы что и вСкопируйте данные примеров из
Описание
выделив диапазон, а=СЦЕПИТЬ(D2;».»;E2;».»;F2). – синтаксис, применение данной функции внедрять нажать сочетание клавиш
редактирование формулы. его можно использовать а любыми стандартными ли такое же, А1:Аn (в примере сделать приветствие при Format as Table) например: модуль через меню должны работать коректно
Синтаксис
предыдущем примере, но
приведенных ниже таблиц |
не вводя отдельно |
Как видите, специально введенные |
и другие операторы.Ctrl+VУрок: наравне со |
средствами Excel? |
n=20) в текстовую открытии файла. Приветствие. На появившейся затем?1##??777RUS — выборка поInsert — Module в Excel 2003. с помощью оператора и вставьте их |
каждую ячейку. значения – вОперация имеет следующий синтаксис:Выполняем действия по добавлению. Координаты будут вставлены.Мастер функций в Excel
Примечания
-
СЦЕПSerge_007 задачи подходит. строку, например через должно содержать следующий
Примеры
вкладке всем автомобильным номерами скопируйте тудаТолько просьба -& в ячейку A1Функция «Сцепить» в Excel нашем примере это СЦЕПИТЬ([текст2];[текст2];…). Количество строковых значений в окно Таким способом чередуемСуществуют возможности исправить данный.
:
Serge_007 |
запятую, т.е в |
текст: « |
Конструктор (Design) |
777 региона, начинающимся |
|
текст нашей функции: |
прочитайте уже Правила |
|
(амперсанд) вместо функции |
нового листа Excel. |
|
крайне полезна в |
точки – выделяются |
|
атрибутов может быть |
аргументов функции любым |
|
поля с адресами |
недочет, вставив пробелы |
Синтаксис этого оператора выглядитЦитата: Пиши в личку С1 получить значенияПривет! Сегодня 07.08.2011можно задать имя
с 1
Function MergeIf(TextRange As |
форума. |
СЦЕПИТЬ. |
Чтобы отобразить результаты |
работе с программой. |
|
кавычками в строке. |
каким угодно большим, |
|
из способов, который |
элементов и пустой |
|
между аргументами оператора. |
следующим образом: |
|
(Serge_007)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Есть решение Виктора |
Добавлено |
|
А1:А20 (из файла |
». Естественно, дата должна |
таблицы (я оставилООО* — все компании,
Range, SearchRange As
36 сообщений, а |
Fourth & Pine |
формул, выделите их |
На основе существующих |
В результате выполнения выражения, |
главное, чтобы полученный |
был приведен выше. |
ячейки. После того, |
Выполняем задачу по тому |
=СЦЕПИТЬ(текст1;текст2;…) |
||
и на мой |
(08.06.2013, 09:42) |
всё станет понятно). |
меняться ежедневно. Для стандартное название которых начинается |
Range, Condition As Вы еще ниФункция СЦЕПИТЬ |
и нажмите клавишу данных создаются новые в ячейке G2 |
текст соответствовал требованию |
В одно из как все данные же алгоритму, которыйВ качестве аргументов могут |
взгляд — оно |
——————————————— |
Естественно речь идёт этого в ячейкуТаблица1 на ООО String) Dim Delimeter |
в одном глазу. |
Функция ОБЪЕДИНИТЬ |
F2, а затем — поля с помощью получаем дату 21.09.1990. к длине результирующего полей (при необходимости внесены, жмем на |
описан выше. |
выступать, как текст, достаточно простое и |
Есть решение Виктора не о ручномА1):##7## — все товары As String, iЭта тема закрыта. |
Общие сведения о формулах |
См. также
клавишу ВВОД. При
комбинации их в
Остальные поля столбца поля. В качестве
их может быть кнопку
Двойным щелчком левой кнопки
так и ссылки интересное. Витя -
и на мой
перечислении ячеек через
вводим текст»
support.office.com
Формула «сцепить» при условии «Если» (Формулы)
Теперь загрузим нашу таблицу с пятизначным цифровым As Long DelimeterПро то, как можно в Excel необходимости измените ширину желаемом порядке и заполняем аналогичным выражением этих атрибутов могут и несколько) добавляем«OK» мыши по ячейке на ячейки, которые
тебе заслуженный плюс! взгляд — оно амперсанд или функцию
Привет! Сегодня в надстройку Power кодом, где третья
= «, « быстро склеивать текст
Рекомендации, позволяющие избежать появления столбцов, чтобы видеть сочетании.
с помощью опции быть как заранее любой текстовый материал,. с формулой активируем его содержат. КоличествоНо оно использует достаточно простое и СЦЕПИТЬ()», в ячейке Query. Для этого цифра 7 ‘символы-разделители (можно заменить из нескольких ячеек неработающих формул все данные.Автор: Татьяна Казмирчук копирования информации, то определенные значения, так который пользователь считаетКак видим, после этого её для редактирования. аргументов может варьироваться итерации, а хотелось интересное. Витя -Этот вариант неА2 на вкладке
????? — все названия на пробел или в одну и,Поиск ошибок в формулахПример 1Примечание: есть, потянув за
и данные на нужным добавить. Данный в целевой ячейке
Между каждым аргументом записываем от 1 до бы «чистого Excel», тебе заслуженный плюс! рассматривается, особенно еслиформулу Code=СЕГОДНЯ()Данные
из пяти букв ; и т.д.) наоборот, разбирать длиннуюСочетания клавиш и горячие=СЦЕПИТЬ(B:B; C:C) Мы стараемся как можно крестик в нижнем листе Excel. При
текст обязательно должен образовалась объединенная запись, выражение в виде 255 включительно.
без использования егоНо оно использует n = 1
В английской версии:(если у вас и т.д.
‘если диапазоны проверки текстовую строку на клавиши в Excel
A’s
excelworld.ru
Склеивание текста по условию
оперативнее обеспечивать вас правом углу G2 этом типы данных быть заключен в включающая содержимое всех пробела, ограниченного сКак известно, обычное объединение настроек. Ну и итерации, а хотелось 000 000Code Excel 2016) илиВ работе может встретиться и склеивания не составляющие я уже
Текстовые функции (справочник)B’s актуальными справочными материалами до конца таблицы. элементы для объединения кавычки. Жмем на элементов, но с двух сторон кавычками. ячеек в Эксель что бы не бы «чистого Excel»,Ограничений только два:=TODAY() на вкладке Power задача, когда сцеплять равны друг другу писал. Теперь жеФункции Excel (по алфавиту)a1
на вашем языке.По аналогии, в этой не обязательно должны кнопку пробелами между каждым После внесения каждого приводит к потере
Способ 0. Формулой
жать на F9 без использования его1. Нельзя использоватьВ ячейке В2 Query (если у текст нужно больше, — выходим с давайте рассмотрим близкую,Функции Excel (по категориям)b1 Эта страница переведена же таблице соберем быть текстовыми.
«OK» словом. такого значения ставим данных. Сохраняются только миллион раз (макросы-то настроек. Ну и не Excel’евские средства применяем формулу Code=СЦЕПИТЬ(A1;A2) вас Excel 2010-2013) чем по одному ошибкой If SearchRange.Count но чуть болееLexstylea2
автоматически, поэтому ее с помощью функцииДля внесения атрибутов воспользуйтесь.
Способ 1. Макрофункция склейки по одному условию
Внимание! Как видим, вышеуказанный точку с запятой. данные расположенные в запрещены smile ) что бы не (VBA, SQL, MSQueryВ английской версии: жмем условию. Например представим, <> TextRange.Count Then сложную задачу -: Подскажите пожалуйста какb2 текст может содержать «Сцепить» в Excel формой вставки функции.Как видим, после этого способ значительно ускоряет Общий вид добавленных верхнем левом элементе.Цитата жать на F9 и проч)
CodeИз таблицы (Data - что в нашей MergeIf = CVErr(xlErrRef) как склеивать текст соединить две формулы:a4 неточности и грамматические данные об именах Для этого в действия к объединенным процедуру корректного объединения выражений должен быть Для того, чтобы(MCH)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Задача решается не миллион раз (макросы-то2. Нельзя использовать=CONCATENATE(A1,A2) From Table) предыдущей таблице добавился Exit Function End из нескольких ячеек есть столбец сb4 ошибки. Для нас клиентов и получим нужной ячейке впишите данным был добавлен данных в ячейках. следующий: объединить содержимое двух обязательно формулами, а запрещены дополнительные ячейки
Но результат получается: еще один столбец If ‘проходим по при выполнении определенного числами (артикулами) артикулa5 важно, чтобы эта их полные ФИО знак равенства и и текстовый материал. Но следует учесть,» «; и более ячеек любыми стандартными средствами
Способ 2. Сцепить текст по неточному условию
)Решение у меня совсем не тот,В открывшемся окне редактора с городом и все ячейкам, проверяем заданного условия. в 5 знаков,b5 статья была вам в одном столбце нажмите кнопку соОператор что данный вариантДля того, чтобы вывести в Эксель без Excel?Pelena
есть. Тех, у
- на который Вы запросов выделяем щелчком склеивание нужно проводить условие и собираем
- Допустим, что у нас среди них естьa6
- полезна. Просим вас из разделенных частей. значком fx. В
СЦЕПИТЬ таит в себе результат на экран, потерь можно применитьДа: В правильности решения кого оно тоже рассчитывали: по заголовку столбец не только для текст в переменную имеется база данных в 4 знака,b6 уделить пару секунд
Используем выражение =СЦЕПИТЬ(A2;» открывшемся окне выбираете– единственная возможность и «подводные камни».
- жмем на кнопку функциюЗЫ Решения уже сомневаюсь, но результат
- есть, прошу сразуФункция СЕГОДНЯ() возвращаетКомпания
- заданной компании, но OutText For i по клиентам, где вот к ним
- a7 и сообщить, помогла «;B2;» «;C2). Обратите
Способ 3. Макрофункция склейки текста по двум условиям
нужный элемент и объединения ячеек без Очень важно, чтобыEnterСЦЕПИТЬ есть получен не выкладывать (даже текущую дату. Сегодняи сверху жмем еще и для = 1 To одному названию компании надо добавить «0»b7 ли она вам, внимание, что в нажимаете «Ок». потерь в Excel.
в элементе, который..ДобавленоSerge_007 под спойлером), а (день написания статьи) кнопку заданного города. В SearchRange.Cells.Count If SearchRange.Cells(i) может соответствовать несколько спереди…. не могуТак как эта функция с помощью кнопок качестве разделителей отдельныхПоявляется новое окно для Кроме того, с содержит пробел, соКак видим, на местеВыделяем ячейку, в которой(09.06.2013, 12:20): Всё, я понял просто написать о 7-е августа 2011-гоГруппировать (Group By) этом случае нашу Like Condition Then разных email’ов ее вспомнить как это допускает ссылки на внизу страницы. Для частей имени стоят ввода аргументов. Текстовые его помощью можно временем не появились вставки пробелов с планируем разместить объединенные——————————————— что имели ввиду
том что оно года, порядковый номер. Вводим имя нового функцию придется немного
Способ 4. Группировка и склейка в Power Query
OutText = OutText сотрудников. Наша задача написать. целый столбец и удобства также приводим пробелы. О них элементы вы пишете соединять целые столбцы, какие-то данные или кавычками в ячейке данные. Кликаем на
Вот и решение: Зорро и Пелена: есть этой даты - столбца и тип модернизировать, добавив к & TextRange.Cells(i) & состоит в том,китин строку, она возвращает ссылку на оригинал нужно всегда помнить прямо в полях, добавлять текстовые значения, он не был появились разделения между кнопкуБЕЗ использования мышки Нет, исходные данныеДля «особенно продвинутых» 40762, именно он
операции в группировке ней проверку еще Delimeter Next i чтобы собрать все: так? следующий результат: (на английском языке). при таких операциях. ссылки на ячейки проводить некоторые другие сдвинут. словами.«Вставить функцию»Другие варианты:
изменять нельзя! есть третье условие, и красуется в - одного диапазона: ‘выводим результаты без адреса по названиям200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(ДЛСТР(C1)=5;C1;0&C1)A’sa1a2a4a5a6a7B’sb1b2b4b5b6b7В этой статье описываетсяРезультирующая таблица показана на можно писать в манипуляции. Знание алгоритма
С помощью функцииКонечно, если преобразуемых значений. Она имеет вид1. С использованиемЯ подразумевал что но оно не нашей формуле (оВсе строки (All Rows)Function MergeIfs(TextRange As последнего разделителя MergeIf
компаний и сцепитьTvigaПример 2 синтаксис формулы и снимке: полях или просто работы с этойСЦЕПИТЬ не много, то пиктограммы и размещена итераций: доп. ячейки - сложное по любым том как Excel: Range, SearchRange1 As = Left(OutText, Len(OutText) их (через запятую
:=СЦЕПИТЬ(B2:C8) использование одной изИногда пользователю необходимо выполнить выделять нужные в функцией позволит облегчитьможно быстро объединять
вышеприведенный вариант разрыва слева от строки200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(ДЛСТР(C1)-ДЛСТР(ПОДСТАВИТЬ(C1;»,»;))=20;C1;ЕСЛИ(ДЛСТР(C1)>1;C1&»,»;»,»)&ИНДЕКС($A$1:$A$20;1+ДЛСТР(C1)-ДЛСТР(ПОДСТАВИТЬ(C1;»,»;)))) это ЛЮБЫЕ ячейки, меркам хранит даты иЖмем ОК и получаем Range, Condition1 As — Len(Delimeter)) End или точку с200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(ДЛСТР(C1)=5;C1;0&C1)A’s текстовых функций
противоположную задачу: разделить самой таблице: решение многих вопросов данные нескольких колонок склейки прекрасно подойдет. формул.2. Используя функции кроме С1AndreTM время читайте в для каждой компании String, SearchRange2 As Function запятой), чтобы сделатьLexstyle
planetaexcel.ru
Как сцепить дату и текст?
B’sСЦЕП значение в ячейкеПараметры функции можно вносить для пользователя программы. в одну. Но его будетОткрывается листа: Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СЦЕПИТЬ(ТРАНСП(A1:A20&», «))DV: статье Функции даты мини-таблицу сгруппированных значений. Range, Condition2 AsЕсли теперь вернуться в потом, например, почтовую
: Спасибо!
a1
в Excel. на составляющие по и прямо в
Автор: Максим Тютюшев
С ячейками первой строки
затруднительно быстро воплотить,Мастер функций , после чего: Ручками за 11
Serge_007 и времени.). Как Содержимое таблиц хорошо String) Dim Delimeter Microsoft Excel, то рассылку по клиентам,_Boroda_b1Эта функция заменяет функцию какому-либо признаку. Функции окно содержимого ячейки.Excel предоставляет пользователю большое объединяемых колонок проделываем если существуют множество. В категории жмём на F9 действий такое делается, я именно про перевести его в видно, если щелкать As String, i в списке функций т.е. получить на
:a2
СЦЕПИТЬ (CONCATENATE). Функция
в Excel, обратной
В приведенном нами количество полезных и на выбор те ячеек, которые нужно
«Текстовые»
http://www.get-digital-help.com/2011….n-excelSerge_007 это спрашивал там. привычный нам формат? левой кнопкой мыши As Long Delimeter (кнопка выходе что-то похожее200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ТЕКСТ(C1;»00000″)b2 СЦЕПИТЬ (CONCATENATE) также СЦЕПИТЬ, нет, но примере строка операции удобных возможностей. Опытный действия, которые указаны объединить. Тем более,илиMCH: Пиши в личку Получается, ты решил Для этого необходимо в белый фон = «, «fx
на:
Функция ТЕКСТ -
excelworld.ru
=СЦЕПИТЬ(A1:An;», «)
a4 будет поддерживаться для
есть несколько несложных будет выглядеть так: пользователь может с во втором и если эти ячейки
«Полный алфавитный перечень»: а зачем скобкиДобавлено всё же этот перевести порядковый номер ячеек (не в ‘символы-разделители (можно заменить
в строке формулДругими словами, нам нужен это примерно тоb4 совместимости с более способов достичь желаемого=СЦЕПИТЬ(D2;».»;E2) помощью файла электронных третьем способе применения не находятся вищем оператор удалять заменой, они(08.06.2013, 19:53) вопрос… даты из числового текст!) в получившемся на пробел или или вкладка
инструмент, который будет
же самое, чтоa5 ранними версиями Excel. результата.
В результате получим в таблиц создать мощную
аргумента. Правда, если едином массиве. Значительно«СЦЕПИТЬ» с помощью Backspace———————————————Serge_007 в текстовый формат, столбце: ; и т.д.)
Формулы — Вставить функцию склеивать (сцеплять) текст и просто форматb5Примечание:
Первый – использование опции выбранной ячейке текст систему с автоматическим вы решили воспользоваться упростить расстановку пробела. Выделяем это наименование удаляются значительно быстрееЭто верно, Дима
: Не, Андрей, там с помощью функцииТеперь добавим еще один ‘если диапазоны проверки) можно будет найти по условию - ячейки. Если Выa6 Эта функция недоступна в «Данные по столбцам» 21.09, состоящий из расчетами, подстановками, подсчетом способом с пустой можно, воспользовавшись вариантом и жмем наSerge_007 сделал именно так, совершенно другой вопрос.
ТЕКСТ() столбец, где с и склеивания не нашу функцию аналог функции введете в ячейку,b6 Excel 2016 при отсутствии панели «Работа с данных ячейки D2 статистики и итогов, ячейкой, то ссылку его вставки через
кнопку: Это не принципиально, как я и
Я ту тему. помощью функции склеим
равны друг другу
MergeIfСУММЕСЛИ (SUMIF)
например, 5 и
a7 подписки на Office 365. данными» вкладки «Данные». – числа 21, вычерчиванием диаграмм и
на неё нужно окно аргументов.«OK»
думаю предполагал вообще не помнюCode=ТЕКСТ(A2;»ДД.ММ.ГГГГ»)
через запятую содержимое — выходим св категории, но для текста. поставите ей формат
b7 Если у вас
При вызове этой точки и данных
графиков. В статье
будет сделать абсолютной.Выделяем двойным кликом левой.Да и какПервое правильное решение — ответил и
В английской версии: столбцов Адрес в ошибкой If SearchRange1.CountОпределенные пользователем (User Defined)Не очень изящный, зато 00000, то ВыРезультат: есть подписка на возможности появляется мастер ячейки Е2 –
мы рассмотрим одну Для этого, перед кнопки мыши любуюЗапускается окно аргументов функции.
быстрее может быть, есть, Дима - забыл (после первогоCode каждой из мини-таблиц. <> TextRange.Count Or
. Аргументы у функции самый простой способ. увидите, что теперьa1b1a2b2a4b4a5b5a6b6a7b7
Office 365, убедитесь, что разделения, в котором строки «09». Информация
из весьма полезных каждым знаком координат
пустую ячейку на В качестве аргументов
и так сотые
в плюс ответа я в=TEXT(A2,»DD.MM.YYYY») Для этого на
SearchRange2.Count <> TextRange.Count следующие: Можно написать несложную
в этой ячейкеПример 3
у вас установлена
вы задаете параметры: в поле Е2 возможностей – функцию по горизонтали и листе. С помощью могут выступать ссылки доли секунды…Добавлено
ней и неТеперь остаётся только
вкладке
Then MergeIfs =
Если заменить в 13-й формулу, которая будет
будет отображаться 00005
Данные последняя версия Office.Каким образом проводить разделение:
представляет собой число, «Сцепить» в Excel. вертикали этой ячейки
клавиатуры устанавливаем внутри на ячейки, содержащиеЯ медленно специально
(08.06.2013, 20:24) появлялся больше). Сейчас
сцепить текст нашегоДобавить столбец
CVErr(xlErrRef) Exit Function
строчке нашего макроса проверять отличается ли
(но само значениеИмяФункция СЦЕП объединяет текст исходя из разделяющих
но отформатирована какЭлектронные таблицы позволяют производить ставим знак доллара неё пробел. Желательно,
данные или отдельный записывал, что бы———————————————
по ссылке посмотрел приветствия и преобразованнуюжмем End If ‘проходим
первый знак компания в очередной не изменится -Фамилия из нескольких диапазонов знаков или по текст, так как вычисления с данными.($)
чтобы она находилась текст. Если в понятно было, вРаз уж решение — там требуется датуПользовательский столбец (Add column по все ячейкам,=
строке от предыдущей. как было 5,вида или строк, но количеству символов.
важно, чтобы на
Для этого предназначены. Естественно, что лучше
подальше от основного задачу входит объединение
реальности это в
есть, то добавлю
по условию выбрать
Готово!
— Custom column) проверяем все условия
на оператор приблизительного
Если не отличается, так и останется,Виталий не добавляет разделитель
Если с разделяющими знаками,
первом месте стояла формулы, выполняющие расчеты всего это сделать массива. Очень важно, содержимого ячеек, то
разы быстрее третье условие - данные и разнести
Если Вы неи в появившемся и собираем текст совпадения
то приклеиваем через изменится только визуальноеТокарев или аргументы IgnoreEmpty. то какие именно
excelworld.ru
цифра 0. Если
Склеивание текста по условию
Про то, как можно быстро склеивать текст из нескольких ячеек в одну и, наоборот, разбирать длинную текстовую строку на составляющие я уже писал. Теперь же давайте рассмотрим близкую, но чуть более сложную задачу — как склеивать текст из нескольких ячеек при выполнении определенного заданного условия.
Допустим, что у нас имеется база данных по клиентам, где одному названию компании может соответствовать несколько разных 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 для проверки текста по маске
Чтобы объединить значения (текстовые, цифровые) из разных ячеек в одну, используется функция СЦЕПИТЬ. Ее аналог – & (амперсанд). Знак справляется с простейшими задачами. Но для объединения множества строк не подходит.
Синтаксис функции СЦЕПИТЬ
Функция входит в группу «текстовые». Синтаксис: (текст 1; текст 2;…). Можно включить до 255 текстовых строк. Первый аргумент – «текст 1» – является обязательным. Любые аргументы можно указать в виде текста, цифр или ссылок на ячейки.
Общие правила использования функции СЦЕПИТЬ:
- Для разделения аргументов применяется точка с запятой. Пропуск или использование других знаков приведет к отображению в ячейке с результатом кавычек.
- Текстовые аргументы обязательно заключать в кавычки. В противном случае появляется ошибка – #ИМЯ? Числа и ссылки на ячейки – не нужно.
- Чтобы соединяемые элементы в строке результата отобразились с пробелом, пробелы нужно добавлять в формулу с функцией. С помощью двойных кавычек с пробелом внутри (“ “) или с помощью пробела после текстового аргумента (“Иванов ”;…).
Как пользоваться функцией СЦЕПИТЬ в Excel
Начнем с простейших примеров.
Данные для объединения:
Ставим курсор в ячейку Е2 и вызываем мастер функций (кнопка fx). В категории «Текстовые» находим функцию СЦЕПИТЬ. Аргументы – ссылки на ячейки А2, В2, С2 и пробелы:
Результат объединения значений в ячейках:
Такой же результат получим с помощью амперсанда:
Один из аргументов – текст. Формула: =СЦЕПИТЬ(«слесарь»; » «;A2;» «;B2;» «;C2). Результат:
И с более сложными задачами справится функция СЦЕПИТЬ в Excel. Примеры:
- Соединим текст с датой. Данные находятся в отдельных ячейках. Для столбца «Дата» установлен формат «Дата». Если использовать только функцию СЦЕПИТЬ, дата отобразится в числовом формате. Поэтому добавим функцию ТЕКСТ для форматирования чисел. Формула:
Второй аргумент функции ТЕКСТ – формат представления даты. Результат:
- Соединим сразу много ячеек в строке. Если писать формулу с функцией СЦЕПИТЬ, получится долго и малоэффективно. Используем маленькую хитрость. Вот наша строка со значениями в отдельных ячейках.
В ячейку Н1 ставим знак «равно». Выделяем диапазон со значениями А1:F1. Вводим амперсанд & и пробел “ “. Жмем F9. В строке формул появится формула массива.
Ставим курсор в строку формул после знака «равно». Пишем название функции. Фигурные скобки заменяем на круглые и жмем ВВОД. Получаем нужный результат. - Соединим значения через косую черточку («-», «&» и т.п.). Формула будет выглядеть так: = СЦЕПИТЬ (ссылка на ячейку 1; «/»; ссылка на ячейку 2).
- Соединим несколько значений в столбце. Функция подходит для значений в строках. Описанный выше способ с формулой массива тоже не сработает.
Преобразуем вертикальный диапазон в горизонтальный с помощью функции ТРАНСП. А затем воспользуемся формулой массива для быстрого соединения значений. В ячейку В1 ставим знак «равно». Пишем ТРАНСП. Указываем диапазон А1:А6. Вводим & и пробел (« »). Жмем F9.
Теперь преобразуем формулу массива, добавив функцию и заменив скобки.
Обратная функция СЦЕПИТЬ в Excel
Стандартной функции, которая разделяла бы значения одной ячейки, нет. Для выполнения ряда подобных задач можно использовать другие функции:
- ЛЕВСИМВ (отображает заданную часть символов с начала строки);
- ПРАВСИМВ (отображает заданную часть символов с конца строки);
- ПСТР (отображает указанную часть символов, начиная с заданной позиции) и другие.
Примеры:
- Извлечем первое слово из строки, применив функцию ЛЕВСИМВ. Аргументы – «текст» (ссылка на строку с искомым значением), «количество знаков» (число символов, которые нужно извлечь).
- Извлечем последнее слово из строки с помощью функции ПРАВСИМВ. Синтаксис похожий (как в предыдущем примере). Только количество знаков считается с конца.
- Извлечем из записи в строке фамилию (второе слово) с помощью функции ПСТР. Аргументы – «текст» (ссылка на строку), «начальная позиция» (номер символа, с которого программа начнет считать число знаков); «количество знаков». В примере: Е2 – «текст», с 9 знака функция вернет 8 символов.
Для выполнения более сложных задач используются более сложные формулы, составляются пользовательские функции.
Функция (UDF) «СцепитьЕсли» |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |