Формула join в excel

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Еще…Меньше

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

Синтаксис

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

Аргумент

Описание

Разделитель

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

Текстовая строка (пустая или с символами в двойных кавычках) или ссылка на действительную текстовую строку. Введенные числа будут считаться текстом.

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

В случае значения ИСТИНА игнорирует пустые ячейки.

текст1

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

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

[текст2, …]

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

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

Например, выражение =ОБЪЕДИНИТЬ(» «;ИСТИНА; «Не»; «слышны»; «в»; «саду»; «даже»; «шорохи.») вернет строку Не слышны в саду даже шорохи.

Примечания

  • Если объединенная строка содержит более 32767 символов (ограничение для ячейки), функция ОБЪЕДИНИТЬ вернет ошибку #ЗНАЧ!.

Примеры

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

Пример 1

Валюта

доллар США

австралийский доллар

китайский юань

гонконгский доллар

израильский шекель

южнокорейская вона

российский рубль

Формула:

=ОБЪЕДИНИТЬ(«, «; ИСТИНА; A2:A8)

Результат:

доллар США, австралийский доллар, китайский юань, гонконгский доллар, израильский шекель, южнокорейская вона, российский рубль

Пример 2

A

B’s

a1

b1

a2

b2

a4

b4

a5

b5

a6

b6

a7

b7

Формула:

=ОБЪЕДИНИТЬ(«, «; ИСТИНА; A2:B8)

Результат:

a1, b1, a2, b2, a4, b4, a5, b5, a6, b6, a7, b7

Если в качестве значения аргумента «игнорировать_пустые» используется ЛОЖЬ, результат будет следующим: a1, b1, a2, b2, , , a4, b4, a5, b5, a6, b6, a7, b7

Пример 3

Город

Субъект

Индекс

Страна

Тула

Тульская обл.

74133

Россия

Красноярск

Красноярский край

98109

Россия

Москва

Московская обл.

08830

Россия

Хабаровск

Хабаровский край

33309

Россия

Воронеж

Воронежская обл.

85285

Россия

конец

,

,

,

;

Формула:

=ОБЪЕДИНИТЬ(A8:D8; ИСТИНА; A2:D7)

Результат:

Тула,Тульская обл.,591843,Россия;Красноярск,Красноярский край,654321,Россия;Москва,Московская обл.,125130,Россия;Хабаровск,Хабаровский край,333091,Россия;Воронеж,Воронежская обл.,394000,Россия;конец

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

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

См. также

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

Функция СЦЕП

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

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

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

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

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

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

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

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

В начале 2016 года Microsoft Excel выпустил очередной релиз своей программы. В этой заметке рассмотрены две новые текстовые функции Excel. На момент написания этой статьи они доступны пока только в режиме Excel online, поэтому скриншоты и последующий ролик записаны именно там.

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

На смену СЦЕПИТЬ пришла функция СЦЕП, которая может сцепить целый диапазон! Теперь вместо отдельных ячеек A1;A2;A3;A4;A5;A6;A7;A8;A9;A10 достаточно указать диапазон A1:A10. Многие давно этого ждали. Дождались!

Функция Excel СЦЕП

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

Вы не поверите, но это как раз то, что умеет делать вторая текстовая функция эксель, о которой я хотел рассказать! Встречайте — ОБЪЕДИНИТЬ.

Ее синтаксис следующий.

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

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

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

текст1; [текст2]; … – это либо отдельные ячейки, либо целый соединяемый диапазон.

В нашем примере функция ОБЪЕДИНИТЬ позволяет получить следующий результат.

Функция Excel TEXTJOIN

Примечание. Некоторое время функция имела названия TEXTJOIN.

Я специально удалил бананы, чтобы показать отсутствие лишнего пробела после яблок.

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

Поделиться в социальных сетях:

Содержание

  1. Функции Excel 2016 СЦЕП (CONCAT) и ОБЪЕДИНИТЬ (TEXTJOIN)
  2. TEXTJOIN function
  3. Syntax
  4. Remarks
  5. Examples
  6. VBA Excel. Функция Join (синтаксис, параметры, значения)
  7. Синтаксис функции Join
  8. Параметры функции Join
  9. Возвращаемые значения
  10. Join tables with INDEX and MATCH
  11. Related functions
  12. Summary
  13. Generic formula
  14. Explanation
  15. Retrieving customer name
  16. Retrieving customer state
  17. Dynamic two-way match
  18. Join cells with comma
  19. Related functions
  20. Summary
  21. Generic formula
  22. Explanation
  23. Joining cells with other delimiters
  24. TEXTJOIN Function

Функции 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.

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.

Источник

VBA Excel. Функция Join (синтаксис, параметры, значения)

Использование функции Join в VBA Excel, ее синтаксис и параметры. Значения, возвращаемые функцией Join. Примеры использования.

Функция Join предназначена в VBA Excel для объединения подстрок, содержащихся в линейном массиве, в одну строку с добавлением разделителей. Разделителем может быть как отдельный символ или строка из нескольких символов, так и пустая строка. Функция Join по своему действию является обратной функции Split, которая создает массив подстрок из одной строки.

Синтаксис функции Join

Обязательным параметром функции Join является SourceArray, если Delimiter явно не указан, используется его значение по-умолчанию.

Параметры функции Join

Параметр Описание Значение
по умолчанию
SourceArray Одномерный массив, содержащий объединяемые подстроки Нет
Delimiter Разделитель, представляющий пустую строку*, один или более символов Пробел

*Если в качестве разделителя используется пустая строка, то все элементы списка объединяются без разделителей — слитно.

Возвращаемые значения

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

Пример 1

Результат в MsgBox: Иван-да-марья

В первом примере используется Delimiter = «-» (дефис).

Пример 2

Результат в MsgBox: Крокодил

Во втором примере используется Delimiter = «» (пустая строка).

Пример 3

Результат в MsgBox: Бегемот 255 Жираф 788 Зайчик

Третий пример показывает, что функция Join работает не только с массивами строкового типа (As String), но и универсального типа (As Variant). Числовые значения автоматически преобразуются в текстовые и объединяются в общую строку. В третьем примере используется Delimiter по-умолчанию.

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

Источник

Join tables with INDEX and MATCH

Summary

To join or merge tables that have a common id, you can use the INDEX and MATCH functions. In the example shown, the formula in E5 is:

where «data» is the named range H5:J8 and «ids» is the named range H5:H8.

Generic formula

Explanation

This formula pulls the customer name and state from the customer table into the order table. The MATCH function is used to locate the right customer and the INDEX function is used to retrieve the data.

Retrieving customer name

Working from the inside out, the MATCH function is used to get a row number like this:

  • The lookup value comes the customer id in C5, which is a mixed reference, with the column locked, so the formula can be easily copied.
  • The lookup array is the named range ids (H5:H8), the first column in the customer table.
  • The match type is set to zero to force an exact match.

The MATCH function returns 2 in this case, which goes into INDEX as the row number:

With the column number hard-coded as 2 (customer names are in column 2) and the array set to the named range «data» (H5:J8) INDEX returns: Amy Chang.

Retrieving customer state

The formula to retrieve customer state is almost identical. The only difference is the column number is hard-coded as 3, since state info appears in the 3rd column:

Dynamic two-way match

By adding another MATCH function to the formula, you can set up a dynamic two-way match. For example, with the named range «headers» for H4:J4, you can use a formula like this:

Here, a second MATCH function has been added to get the correct column number. MATCH uses the current column header in the first table to locate the correct column number in the second table, and automatically returns this number to INDEX.

Источник

Join cells with comma

Summary

To join multiple cell values with a comma, you can use a formula based on the SUBSTITUTE and TRIM functions. You can use this same approach to concatenate values in cells with any delimiter you like. In the example shown, the formula in G5 is:

Note: the new TEXTJOIN function is a better way to solve this problem. See below for more information.

Generic formula

Explanation

Working from the inside out, the formula first joins the values the 5 cells to the left using the concatenation operator (&) and a single space between each value:

This part of the formula is annoyingly manual. To speed things up, copy &» «& to the clipboard before you start. Then follow this pattern:

[click] [paste] [click] [paste] [click] [paste]

until you get to the last cell reference. It actually goes pretty fast.

The result of this concatenation (before TRIM and SUBSTITUTE run) is a string like this:

Next, the TRIM function is used to «normalize» all spacing. TRIM automatically strips space at the start and end of a given string, and leaves just one space between all words inside the string. This takes care of extra spaces causes by empty cells.

Finally, the SUBSTITUTE function is used to replace each space (» «) with a comma and space («, «), returning text like this:

Joining cells with other delimiters

To join cells with another delimiter (separator), just adapt the «new_text» argument inside SUBSTITUTE. For example, to join cells with a forward slash, use:

The output will look like this:

TEXTJOIN Function

The TEXTJOIN function is a new function available in Excel 365 and Excel 2019. TEXTJOIN allows you to concatenate a range of cells with a delimiter, and will can also be set to ignore empty cells. To use TEXTJOIN with the example above, the formula is:

Источник

Операторы слияния таблиц SQL JOIN в Excel | Power Query

Смотрите видео к статье:

Или операторы объединения таблиц SQL JOIN в Excel Power Query (начиная с Excel 2016)

Как известно самым популярным и эффективным инструментом работы с табличными данными (или просто таблицами) является программа Microsoft Excel.

При этом также известно, что самым мощным и распространённым языком программирования для работы с табличными данными является язык Structured Query Language = SQL = Язык структурированных запросов

Исходя из этого факта, логично предположить, что Microsoft Excel должен поддерживать язык SQL по умолчанию. Но, как правило, SQL поддерживается только базами данных (СУБД).

Несмотря на это, для Excel (начиная с 2010 версии) появилась бесплатная надстройка Power Query, которая позволяет имитировать часть полезного функционала языка SQL, а именно:

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

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

Различают следующие виды оператора «JOIN»:

  • INNER JOIN — Оператор внутреннего соединения двух таблиц
  • LEFT OUTER JOIN — Оператор левого внешнего соединения двух таблиц
  • RIGHT OUTER JOIN — Оператор правого внешнего соединения двух таблиц
  • FULL OUTER JOIN — Оператор полного внешнего соединения двух таблиц
  • CROSS JOIN — Оператор перекрёстного соединения (декартово произведение) двух таблиц

С выходом надстройки Power Query для Excel (это один из инструментов уровня Self-Service BI) в Excel появилась поддержка функционала всех видов операторов «JOIN» языка SQL:
SQL_JOIN_POWER_QUERY_BIWEB

Рассмотрим операторов «JOIN» в Excel на примерах:

Представим, что у нас в Excel есть две Таблицы: A «Люди» и B «Города»
SQL_JOIN_POWER_QUERY_BIWEB

Теперь давайте объединим данные таблицы с помощью различных операторов «JOIN»:
(объединяем таблицы через столбцы: A.Cityid = B.id)

Оператор INNER JOIN вернет следующий результат:
SQL_JOIN_POWER_QUERY_BIWEB

Оператор LEFT JOIN вернет следующий результат:
SQL_JOIN_POWER_QUERY_BIWEB

Оператор RIGHT JOIN вернет следующий результат:
SQL_JOIN_POWER_QUERY_BIWEB

Оператор FULL OUTER JOIN вернет следующий результат:
SQL_JOIN_POWER_QUERY_BIWEB

Оператор CROSS JOIN вернет следующий результат:
SQL_JOIN_POWER_QUERY_BIWEB

В надстройке Power Query для Excel данная функция «JOIN» называется «Слияние» — слияние запросов, где:

Оператору слияния INNER JOIN соответствует тип соединения: Внутреннее (только совпадающие строки)
SQL_JOIN_POWER_QUERY_BIWEB

Оператору слияния LEFT JOIN соответствует тип соединения: Внешнее соединение слева (все из первой таблицы, совпадающие из второй)
SQL_JOIN_POWER_QUERY_BIWEB

Оператору слияния RIGHT JOIN соответствует тип соединения: Внешнее соединение справа (все из второй таблицы, совпадающие из первой)
SQL_JOIN_POWER_QUERY_BIWEB

Оператору слияния FULL OUTER JOIN соответствует тип соединения: Полное внешнее (все строки из обеих таблиц)
SQL_JOIN_POWER_QUERY_BIWEB

Оператора слияния CROSS JOIN в интерфейсе Power Query нет, но его можно создать из оператора слияния FULL OUTER JOIN, убрав связи таблиц
SQL_JOIN_POWER_QUERY_BIWEB

Скачать Excel файл с примерами объединения SQL JOIN (функция «Слияние» в Power Query) можно скачать здесь

Пошаговая инструкция использования функции «Слияние»/«Объединения» в Power Query находится в видеоуроке к данной статье

Использование функции Join в VBA Excel, ее синтаксис и параметры. Значения, возвращаемые функцией Join. Примеры использования.

Функция Join предназначена в VBA Excel для объединения подстрок, содержащихся в линейном массиве, в одну строку с добавлением разделителей. Разделителем может быть как отдельный символ или строка из нескольких символов, так и пустая строка. Функция Join по своему действию является обратной функции Split, которая создает массив подстрок из одной строки.

Join (SourceArray,[Delimiter])

Обязательным параметром функции Join является SourceArray, если Delimiter явно не указан, используется его значение по-умолчанию.

Параметры функции Join

Параметр Описание Значение
по умолчанию
SourceArray Одномерный массив, содержащий объединяемые подстроки Нет
Delimiter Разделитель, представляющий пустую строку*, один или более символов Пробел

*Если в качестве разделителя используется пустая строка, то все элементы списка объединяются без разделителей — слитно.

Возвращаемые значения

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


Пример 1

Sub Test1()

Dim a(2) As String, s As String

a(0) = «Иван»

a(1) = «да»

a(2) = «марья»

s = Join(a, «-«)

MsgBox s

End Sub

Результат в MsgBox: Иван-да-марья

В первом примере используется Delimiter = «-» (дефис).


Пример 2

Sub Test2()

Dim a(2) As String, s As String

a(0) = «Кро»

a(1) = «ко»

a(2) = «дил»

s = Join(a, «»)

MsgBox s

End Sub

Результат в MsgBox: Крокодил

Во втором примере используется Delimiter = «» (пустая строка).


Пример 3

Sub Test3()

Dim a(4) As Variant, s As String

a(0) = «Бегемот»

a(1) = 255

a(2) = «Жираф»

a(3) = 788

a(4) = «Зайчик»

s = Join(a)

MsgBox s

End Sub

Результат в MsgBox: Бегемот 255 Жираф 788 Зайчик

Третий пример показывает, что функция Join работает не только с массивами строкового типа (As String), но и универсального типа (As Variant). Числовые значения автоматически преобразуются в текстовые и объединяются в общую строку. В третьем примере используется Delimiter по-умолчанию.


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

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

Описание функции

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

Например, формула:

=ОБЪЕДИНИТЬ(" ";ИСТИНА; "Не"; "слышны"; "в"; "саду"; "даже"; "шорохи") 

вернет строку Не слышны в саду даже шорохи.

Синтаксис

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

Аргументы

разделительигнорировать_пустыетекст1текст2

Обязательный аргумент. Текстовая строка (пустая или с символами в двойных кавычках) или ссылка на действительную текстовую строку. Введенные числа будут считаться текстом.

Обязательный аргумент. В случае значения ИСТИНА игнорирует пустые ячейки.

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

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

Замечания

Если объединенная строка содержит более 32767 символов (ограничение для ячейки), функция ОБЪЕДИНИТЬ вернет ошибку #ЗНАЧ!.

Пример

Дополнительные материалы

Масштабное обновление в Office 2016

Excel ТЕКСТ ПРИСОЕДИНИТЬСЯ функция объединяет несколько значений из строки, столбца или диапазона ячеек с определенным разделителем.


Синтаксис

=TEXTJOIN (delimiter, ignore_empty, text1, [text2], …)


аргументы

Разделитель (Обязательно): разделитель, который вставляется между каждым объединенным текстом;

Игнорировать_пусто (Обязательно): определите, следует ли игнорировать пустые ячейки;

  • If ПРАВДА, пустые ячейки игнорируются;
  • If ЛОЖНЫЙ, пустые ячейки будут включены.

Текст 1 (Обязательно): первый текст, который нужно присоединить;

[Текст2],… (Необязательно): дополнительные тексты, которые нужно объединить.


Возвращаемое значение

Составное текстовое значение


Примечания к функциям

TEXTJOIN доступен только в Office 2019 и 365.


Примеры

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

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

Пример 1: объединение текстов через запятую без учета пустых ячеек

1. Выберите пустую ячейку (F3), скопируйте в нее приведенную ниже формулу, чтобы получить результат.
=TEXTJOIN(«, «,TRUE,B3:E3)

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

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

Выберите пустую ячейку, скопируйте в нее приведенную ниже формулу и затем перетащите маркер заполнения, чтобы применить формулу к другим ячейкам, чтобы получить все сцепленные тексты, включая пустые ячейки. См. Снимок экрана ниже:
=TEXTJOIN(«, «,FALSE,B3:E3)


Связанные функции

Функция ПОДСТАВИТЬ в Excel
Функция ЗАМЕНА в Excel заменяет текст или символы в текстовой строке другим текстом или символами.

Функция Excel TEXT
Функция ТЕКСТ преобразует значение в текст с заданным форматом в Excel.

Функция Excel TRIM
Функция Excel TRIM удаляет все лишние пробелы из текстовой строки и сохраняет только отдельные пробелы между словами.

Функция ВЕРХНИЙ в Excel
Функция Excel ВЕРХНИЙ преобразует все буквы заданного текста в верхний регистр.


Лучшие инструменты для работы в офисе

Kutools for Excel — Помогает вам выделиться из толпы

Хотите быстро и качественно выполнять свою повседневную работу? Kutools for Excel предлагает 300 мощных расширенных функций (объединение книг, суммирование по цвету, разделение содержимого ячеек, преобразование даты и т. д.) и экономит для вас 80 % времени.

  • Разработан для 1500 рабочих сценариев, помогает решить 80% проблем с Excel.
  • Уменьшите количество нажатий на клавиатуру и мышь каждый день, избавьтесь от усталости глаз и рук.
  • Станьте экспертом по Excel за 3 минуты. Больше не нужно запоминать какие-либо болезненные формулы и коды VBA.
  • 30-дневная неограниченная бесплатная пробная версия. 60-дневная гарантия возврата денег. Бесплатное обновление и поддержка 2 года.

Лента Excel (с Kutools for Excel установлены)


Вкладка Office — включение чтения и редактирования с вкладками в Microsoft Office (включая Excel)

  • Одна секунда для переключения между десятками открытых документов!
  • Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
  • Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
  • Добавляет эффективные вкладки в Office (включая Excel), точно так же, как Chrome, Firefox и новый Internet Explorer.

Снимок экрана Excel (с установленной вкладкой Office)

Комментарии (0)


Оценок пока нет. Оцените первым!

Excel TEXTJOIN and CONCAT functions are relatively new, and welcome additions to Excel’s plethora of functions. Both functions have been released with Excel 2016 as a replacement for the CONCATENATE function to make it easier to merge multiple text strings. In this guide, we’re going to show you differences between Excel TEXTJOIN and CONCAT functions.

Download Workbook

First stop in TEXTJOIN vs CONCAT article is CONCAT function.

Excel CONCAT Function

Microsoft states that the CONCAT function is intended as a replacement for the CONCATENATE function. Although Microsoft Excel continues to support the older function, they suggest that you should use the CONCAT function instead.

The CONCAT function addresses the biggest flaw of the CONCATENATE function, not being able to select a range of strings. Unlike its predecessor, the CONCAT function can merge all strings in a range. This way, it saves you from selecting each cell to be merged individually.

Note: This feature is available on Windows or Mac if you have Office 2019, or if you have an Office 365 subscription.

Syntax

CONCAT(text1, [text2, …])

Example

The example below demonstrates how CONCAT function can merge all strings in the given reference. You do not need to select each cell individually. On the other hand, supplying a range makes the function merge the strings without any separators. If you need separators, the CONCAT function works the same way as its older version CONCATENATE.

See the first two rows and second two rows below.

TEXTJOIN vs CONCAT 01

Please see the article that covers the CONCAT function in depth here: CONCAT Function

Let’s continue TEXTJOIN vs CONCAT article with TEXTJOIN function.

Excel TEXTJOIN Function

TEXTJOIN function is the solution for the separator problem! It can join strings with a delimiter. Thanks to the delimiter support, you can add a delimiter string and a logical value to determine whether the function is to ignore empty cells. If the function is set to not ignore empty cells and there is an empty cell in the range, the delimiter string will be repeated in the resulting string.

Syntax

TEXTJOIN(delimiter, ignore_empty, text1, [text2], …)

Example

The example below is using the same data from the previous example. You can see that strings in each cell are separated by given delimiter, a space character (» «). Additionally, you can use a special character by using CHAR function or more than one characters as well.

Summary of the Excel TEXTJOIN and CONCAT match-up

  • The CONCATENATE function is obsolete!
  • Use the CONCAT if you do not need delimiters between strings.
  • Prefer using the TEXTJOIN for adding delimiters in the resulting string.

Reminder: This feature is available on Windows or Mac if you have Office 2019, or if you have an Office 365 subscription

  • Функция Excel VBA Join

Функция Excel VBA Join

Функция VBA JOIN используется для объединения массива подстрок с указанным разделителем. Так же, как само слово означает, что оно должно соединить две или более строки. Теперь вот несколько уловов с этим. Строки находятся в массиве, и он также использует разделитель в качестве функции сцепления. Но разделитель для функции конкатенации может быть разным для любых двух строк, потому что мы должны предоставить один разделитель между каждыми двумя строками, используя функцию конкатенации. Но в Join в VBA нам нужно указывать разделитель только один раз. Этот разделитель используется для каждой присоединяемой строки. Но этот параметр также необязателен. Так что же происходит, когда мы не предоставляем разделитель для функции? Когда мы не предоставляем разделитель для функции, он по умолчанию принимает «пробел» в качестве разделителя.

Синтаксис функции соединения в Excel VBA

Функция соединения имеет следующий синтаксис в Excel VBA:

Теперь давайте разберемся с аргументами функции VBA Join,

  • Source Array: Это массив или набор строк, которые мы хотим объединить.
  • Разделитель: это разделитель или символ, который мы используем для различения одной строки в другой. Разделитель может быть пробелом или запятой, точкой или любым символом с нашего компьютера.

Выходные данные, возвращаемые этой функцией, являются строкой.

Как использовать функцию Excel VBA Join?

Мы научимся использовать функцию соединения VBA с несколькими примерами в Excel.

Вы можете скачать этот VBA Присоединиться к шаблону Excel здесь — VBA Присоединиться к шаблону Excel

Excel VBA Join — Пример # 1

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

Мы хотим путь в ячейке E2. Выполните следующие шаги, чтобы использовать функцию соединения в Excel VBA.

Шаг 1: Перейдите на вкладку разработчика и нажмите Visual Basic, чтобы иметь возможность войти в VB Editor.

Шаг 2: Нажмите на вкладку «Вставка» и вставьте модуль в проект VBA.

Шаг 3: Теперь давайте объявим нашу первую подпроцедуру следующим образом.

Код:

 Sub Example () End Sub 

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

Код:

 Sub Example () Диапазон ("E2"). Значение = Конец Sub 

Шаг 5: Используйте функцию Join, чтобы объединить все строки вместе с разделителем как «».

Код:

 Sub Example () Range ("E2"). Value = Join (Массив (Range ("A2"). Value, Range ("B2"). Value, Range ("C2"). Value, Range ("D2") .Value), "") End Sub 

Шаг 6: Запустите приведенный выше код, нажав клавишу F5 или нажав кнопку Play run, и мы получим наш результат в ячейке E2, как показано ниже.

Мы можем видеть, что все четыре строки объединены общим разделителем, который является «».

Excel VBA Join — Пример № 2

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

Выполните следующие шаги, чтобы использовать функцию соединения в Excel VBA.

Шаг 1: В том же модуле давайте запустим еще одну подпроцедуру следующим образом.

Код:

 Sub Example2 () End Sub 

Шаг 2: Объявите две переменные как FSO и текстовый поток, который является методом FSO следующим образом.

Код:

 Dim FSO As New Scripting.FileSystemObject Dim St As Scripting.TextStream 

Шаг 3: Теперь давайте объявим еще несколько переменных: одну — как диапазон для хранения строк, а другую — как целое число для столбцов, а другую — как String для хранения значения объединенной строки и пути к папке и одну для создания имен файлов.

Код:

 Dim rw как диапазон Dim res как строка Dim col как целое число Dim FolPath как строка Dim результат как строка 

Шаг 4: Поскольку у нас есть данные на листе 2, давайте сначала активируем лист 2.

Код:

 Worksheets ( "Лист2"). Activate 

Шаг 5: Теперь давайте посчитаем количество столбцов в данных следующим образом:

Код:

 col = Range ("A1"). CurrentRegion.Columns.Count 

Шаг 6: Теперь давайте назначим путь к Folpath с помощью информационной функции ENVIRON следующим образом.

Код:

 FolPath = Environ ("UserProfile") & " Desktop  Result" 

Шаг 7: Теперь давайте проверим, существует ли папка или нет, а затем создадим ее, используя метод FSO следующим образом.

Код:

 Если не FSO.FolderExists (FolPath), то FSO.CreateFolder FolPath 

Шаг 8: Теперь давайте добавим имена, сохраненные с помощью функции смещения, следующим образом.

Код:

 Для каждого диапазона rw In («A2», Range («A1»). End (xlDown)) Result = rw.Offset (0, 1) .Value 

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

Шаг 9: Теперь, поскольку функция Join использует одномерный массив, мы будем использовать функцию application.transpose вместе с функцией join, чтобы преобразовать ее в одномерный массив следующим образом.

Код:

 Установите St = FSO.OpenTextFile (FolPath & "" & Result & ".xls", ForAppending, True) res = Join (Application.Transpose (Application.Transpose (rw.Resize (1, col) .Value)), vbTab ) St.WriteLine res 

Почему мы использовали application.transpose? Поскольку в общем случае массив (1-D) должен быть горизонтальным, что означает, что в одной строке много столбцов. Теперь, поскольку у нас в столбце B есть вертикальный диапазон, который является результатом, мы использовали эту функцию транспонирования, чтобы преобразовать ее в одномерный массив. Мы использовали VbTab в качестве разделителя, чтобы значения были в следующих ячейках.

Шаг 10: Перед завершением цикла for закройте файл, а затем завершите цикл for следующим образом.

Общий код выглядит так, как показано ниже.

Код:

 Sub Example2 () Dim FSO As New Scripting.FileSystemObject Dim St As Scripting.TextStream Dim rw Как диапазон Dim res Как строка Dim col Как целое число Dim FolPath Как строка Dim Результат как строка строк ("Sheet2"). Активировать col = Range (" A1 "). CurrentRegion.Columns.Count FolPath = Environ (" UserProfile ") &"  Desktop  Result ", если не FSO.FolderExists (FolPath), то FSO.CreateFolder FolPath для каждой строки в диапазоне (" A2 ", Range (" A1 "). End (xlDown)) Result = rw.Offset (0, 1) .Value Set St = FSO.OpenTextFile (FolPath &"  "& Result &" .xls ", ForAppending, True) res = Join (приложение .Transpose (Application.Transpose (rw.Resize (1, col) .Value)), vbTab) St.WriteLine res St.Закрыть следующий rw End Sub 

Шаг 11: Теперь давайте запустим приведенный выше код, нажав клавишу F5, и мы увидим на нашем рабочем столе, что была создана папка с именем Result, как показано ниже.

Шаг 12: Откройте папку, у нас будет три файла: Pass, Fail и Grace.

Если мы откроем какой-либо из файлов, скажем, что мы открываем файл Fail, мы можем увидеть данные об учениках, которые потерпели неудачу.

То, что нужно запомнить

  • Он используется для объединения строкового массива с общим разделителем.
  • Выходные данные, возвращаемые этой функцией, являются String.
  • Это противоположно функции Split в VBA.
  • Если мы не предоставляем разделитель для этой функции, он по умолчанию принимает «пробел» в качестве разделителя.
  • Массив в аргументе должен быть одномерным массивом. Если нет, мы можем использовать обычные методы application.transpose, как описано в Примере 2.

Рекомендуемые статьи

Это руководство по функции присоединения VBA. Здесь мы обсудим, как использовать функцию соединения в Excel с использованием кода VBA, а также с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи —

  1. Функция даты Excel
  2. Конкатенация строк в Excel
  3. Приложения VBA Union
  4. Конкатенация столбцов Excel

Понравилась статья? Поделить с друзьями:
  • Формула excel формула с постоянной ячейкой
  • Формула isnumber в excel на русском
  • Формула subtotal в excel на русском
  • Формула excel фио с инициалами
  • Формула isblank if excel