Функция ОБЪЕДИНИТЬ
Функция ОБЪЕДИНИТЬ объединяет текст из нескольких диапазонов и (или) строк, вставляя между текстовыми значениями указанный разделитель. Если в качестве разделителя используется пустая текстовая строка, функция эффективно объединит диапазоны.
Примечание: Эта функция доступна на Windows или Mac, если у вас Office 2019 или если у вас есть подписка Microsoft 365 . Если вы являетесь подписчиком Microsoft 365, убедитесь, что у вас установлена последняя версия Office.
Синтаксис
ОБЪЕДИНИТЬ(разделитель; игнорировать_пустые; текст1; [текст2]; . )
Текстовая строка (пустая или с символами в двойных кавычках) или ссылка на действительную текстовую строку. Введенные числа будут считаться текстом.
В случае значения ИСТИНА игнорирует пустые ячейки.
Элемент текста, который нужно присоединить. Текстовая строка или массив строк, например диапазон ячеек.
Дополнительные текстовые элементы для объединения. Для текстовых элементов можно указать до 252 аргументов, включая текст1. Каждый из них может быть текстовой строкой или массивом строк, например диапазоном ячеек.
Например, выражение =ОБЪЕДИНИТЬ(» «;ИСТИНА; «Не»; «слышны»; «в»; «саду»; «даже»; «шорохи.») вернет строку Не слышны в саду даже шорохи.
Примечания
Если объединенная строка содержит более 32767 символов (ограничение для ячейки), функция ОБЪЕДИНИТЬ вернет ошибку #ЗНАЧ!.
Примеры
Скопируйте данные примеров из приведенных ниже таблиц и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Источник
Функции Excel 2016 СЦЕП (CONCAT) и ОБЪЕДИНИТЬ (TEXTJOIN)
В начале 2016 года Microsoft Excel выпустил очередной релиз своей программы. В этой заметке рассмотрены две новые текстовые функции Excel. На момент написания этой статьи они доступны пока только в режиме Excel online, поэтому скриншоты и последующий ролик записаны именно там.
Чтобы объединить содержимое нескольких ячеек в одну, традиционно используют формулу Excel СЦЕПИТЬ либо специальный оператор амперсанд &. В то же время у этой функции есть ряд недостатков. Основной из них — это необходимость каждую склеиваемую ячейку указывать в виде отдельного аргумента. При большом количестве склеиваемых ячеек приходится изрядно помучиться. С появлением новых функций СЦЕП и ОБЪЕДИНИТЬ этому неудобству пришел конец.
На смену СЦЕПИТЬ пришла функция СЦЕП, которая может сцепить целый диапазон! Теперь вместо отдельных ячеек A1;A2;A3;A4;A5;A6;A7;A8;A9;A10 достаточно указать диапазон A1:A10. Многие давно этого ждали. Дождались!
Однако радость кажется неполной, т.к. между словами обычно вставляют пробелы, запятые или какие-либо другие разделители, а СЦЕП этого не умеет. В примере выше нужно их либо сразу указать в конце каждого слова, либо опять же прописывать вручную. Вот бы здорово еще и разделители сами вставлялись.
Вы не поверите, но это как раз то, что умеет делать вторая текстовая функция эксель, о которой я хотел рассказать! Встречайте — ОБЪЕДИНИТЬ.
Ее синтаксис следующий.
ОБЪЕДИНИТЬ(разделитель; игнорировать_пустые; текст1; [текст2]; …)
разделитель – то, что должно вставляться между ячейками.
игнорировать_пустые – здесь ставится либо 0 (ЛОЖЬ), либо 1 (ИСТИНА). Если поставить 1, то пустые ячейки будут игнорироваться и разделители не будут дублироваться.
текст1; [текст2]; … – это либо отдельные ячейки, либо целый соединяемый диапазон.
В нашем примере функция ОБЪЕДИНИТЬ позволяет получить следующий результат.
Примечание. Некоторое время функция имела названия TEXTJOIN.
Я специально удалил бананы, чтобы показать отсутствие лишнего пробела после яблок.
Теперь объединить ячейки Excel, добавив к ним разделитель, можно всего за несколько секунд. Отличная функция ОБЪЕДИНИТЬ. Выглядит настолько круто, что хочется разработчикам пожать руку.
Источник
TEXTJOIN function
The TEXTJOIN function combines the text from multiple ranges and/or strings, and includes a delimiter you specify between each text value that will be combined. If the delimiter is an empty text string, this function will effectively concatenate the ranges.
Note: This feature is available on Windows or Mac if you have Office 2019, or if you have a Microsoft 365 subscription. If you are a Microsoft 365 subscriber, make sure you have the latest version of Office.
Syntax
TEXTJOIN(delimiter, ignore_empty, text1, [text2], …)
A text string, either empty, or one or more characters enclosed by double quotes, or a reference to a valid text string. If a number is supplied, it will be treated as text.
If TRUE, ignores empty cells.
Text item to be joined. A text string, or array of strings, such as a range of cells.
Additional text items to be joined. There can be a maximum of 252 text arguments for the text items, including text1. Each can be a text string, or array of strings, such as a range of cells.
For example, =TEXTJOIN(» «,TRUE, «The», «sun», «will», «come», «up», «tomorrow.») will return The sun will come up tomorrow.
Remarks
If the resulting string exceeds 32767 characters (cell limit), TEXTJOIN returns the #VALUE! error.
Examples
Copy the example data in each of the following tables, and paste it in cell A1 of a new Excel worksheet. For formulas to show results, select them, press F2, and then press Enter. If you need to, you can adjust the column widths to see all the data.
Источник
TEXTJOIN() на массиве неправильно возвращает пробел
TL; DR: TEXTJOIN() в массиве возвращает пробел — не может использовать VBA для решения проблемы альтернативным способом.
Я создал несколько листов с сильной зависимостью от функций Array из-за ограничений, не позволяющих мне создавать книги с макросами.
Пока что все работает хорошо, но у меня проблема с TEXTJOIN() .
По сути, это следующая формула:
возвращая пробел (не ошибка). Использование инструмента «Оценить формулу» показывает, что предпоследний шаг генерирует правильный массив (с двумя значениями строки, не равными NULL). Однако следующий шаг пуст. Смотрите скриншот:
Редактировать: более четкое изображение:
Это озадачивало меня в течение достаточно долгого времени, поэтому любая помощь или альтернативные решения, которые не зависят от VBA, будут высоко оценены!
1 ответ 1
Я подозреваю, что ваша формула работает правильно, но у меня нет Excel 2016 для проверки моих подозрений. То, что я думаю, происходит, вы объединяете 100 возвратов каретки. Это приведет к выводу, который будет где-то выше 1000 пикселей в высоту, но Excel разрешит высоту строки только 407 пикселей, поэтому видимая текстовая часть вывода будет скрыта от просмотра.
Вы можете подтвердить мои подозрения с помощью следующего теста: скопируйте выходную ячейку (Summary!C21) и вставьте его в пустой сеанс Блокнот. Если ячейка содержит данные, вы сможете увидеть их в блокноте. Кроме того, вы можете преобразовать формулу в ее значение, используя [F2], затем [F9], а затем пытаясь прокрутить вывод вверх и вниз.
Если мои подозрения верны, я боюсь, что вам нужно будет изучить другой метод отображения нужных вам данных — возможно, с помощью дополнительных формул для фильтрации данных, которые вы хотите отобразить.
Источник
Excel textjoin не работает
Наконец-то и до меня дошла волна обновлений и в моем Excel 2016 по подписке Office 365 Pro Plus появились новые функции для работы с текстом и логикой. Давайте я пробегусь по ним на примерах:
Функция СЦЕП (CONCAT)
Многим, думаю, известна функция СЦЕПИТЬ (CONCATENATE) , которую можно использовать для склеивания фрагментов текста из нескольких ячеек в одно целое. На практике, часто также используется спецсимвол & для аналогичного действия. Но оба этих способа предполагают указание каждой ячейки с текстовым фрагментом отдельно, что, при большом количестве ячеек, начинает напрягать:
В апрельском обновлении Excel 2016 добавили функцию СЦЕП , которая работает совершенно аналогично, но позволяет задать сразу целый диапазон (даже двумерный), всё содержимое ячеек которого будет склеено в единое целое:
Функция ОБЪЕДИНИТЬ (TEXTJOIN)
В предыдущем примере видно, что для красивого объединения мне пришлось предусмотреть отдельные ячейки с символами-разделителями. Новая функция ОБЪЕДИНИТЬ работает аналогично СЦЕП , но автоматически добавляет еще заданный символ между разными фрагментами:
Также обратите внимание на второй аргумент этой функции — он определяет, нужно ли игнорировать пустые ячейки (ИСТИНА) или нет (ЛОЖЬ).
В реальной практике такая функция представляется весьма полезной. Например, для склейки адресных строк это будет весьма компактным и красивым решением:
Функция УСЛОВИЯ (IFS)
Любой пользователь Excel сталкивается в работе с необходимостью проверять несколько условий и делать потом различные действия, в зависимости от выполнения одного из них. Обычно это реализуется с помощью вложенных друг в друга функций ЕСЛИ (IF) и выглядит при большом количестве условий не очень понятно (новичков, почему-то, особо пугает куча закрывающих скобок в конце — от всех ЕСЛИ):
Теперь же можно ощутимо упростить формулу, если использовать новую функцию УСЛОВИЯ (IFS) . В её аргументах попарно перечисляются условия и то, что нужно вывести при их выполнении:
Получается не сильно компактнее, но заметно понятнее, не правда ли?
Если будете ее использовать, то обратите особое внимание на два важных момента:
- Функция проверяет условия в порядке их указания и при выполнении какого-либо условия уже не проверяет оставшиеся . Поэтому порядок условий играет роль: в приведенном выше примере проверка нарушений скорости идет от большего к меньшему, а не наоборот.
- Если нужно задать результат, который должен выводиться, если ни одно из условий не выполнилось (как Else в VBA), то в конце списка условий можно задать условие ИСТИНА. В нашем примере — это сумма штрафа (0), если ни одного из нарушений скорости не было.
Функция ПЕРЕКЛЮЧ (SWITCH)
Некий аналог предыдущей функции или конструкции Select Case в языке программирования Visual Basic, если вам знакомы макросы. Сравнивает ячейку с набором заданных значений и выдает один из заданных в наборе результатов. Например:
Очень похоже на предыдущую функцию УСЛОВИЯ , но в ней условия можно задавать гибко (использовать знаки <>= и т.д.), а здесь проверяется только точное совпадение. Последним аргументом можно задать то значение, которое должно выводиться, если ни одно из предыдущих условий не выполнилось. Раньше, чтобы реализовать что-то подобное приходилось шаманить с функцией ИНДЕКС (INDEX) и массивом констант в фигурных скобках внутри формулы:
Функции МАКСЕСЛИ (MAXIFS) и МИНЕСЛИ (MINIFS)
Совсем недавно писал статью и делал видео в Приемах на тему поиска максимального и минимального значений в таблице при выполнении одного или нескольких условий . Не суперсложная техника, но без формул массива или функций баз данных не обойтись. Теперь в Excel 2016 появились новые функции, которые все делают красиво:
Как видно, все по аналогии с СУММЕСЛИМН, СЧЁТЕСЛИМН и т.д. — переучиваться не нужно.
Приятно, что Microsoft начала прислушиваться к мнению пользователей и добавлять новые удобные функции с каждым обновлением Excel. Происходит это не так быстро, как хотелось бы, но появилась надежда увидеть сумму прописью в Excel уже при моей жизни
И помните о том, что все эти приятные фишки будут работать только у тех, кто установил себе последнюю версию Excel 2016 и регулярно ее обновляет (сейчас это происходит, в основном, автоматически). В противном случае в списке доступных функции вы их не найдете, а другие пользователи увидят ошибку #ИМЯ на ячейках, где вы их использовали.
Файл со всеми вышеприведенными примерами новых функций можно скачать ниже:
Источник