Функція TEXTJOIN в Excel для об'єднання тексту з декількох комірок

  • Поділитися Цим
Michael Brown

У навчальному посібнику на практичних прикладах показано, як використовувати функцію TEXTJOIN для об'єднання тексту в Excel.

До недавнього часу в Excel існувало два поширених способи об'єднання вмісту комірок: оператор конкатенації та функція КОНКАТЕНАЦІЯ. З появою TEXTJOIN здається, що з'явилася більш потужна альтернатива, яка дозволяє більш гнучко об'єднувати текст, включаючи будь-який роздільник між ними. Але насправді, це набагато більше!

    Функція TEXTJOIN в Excel

    TEXTJOIN в Excel об'єднує текстові рядки з декількох клітинок або діапазонів і розділяє об'єднані значення будь-яким вказаним вами роздільником. Він може ігнорувати або включати порожні клітинки в результат.

    Функція доступна в Excel для Office 365, Excel 2021 та Excel 2019.

    Синтаксис функції TEXTJOIN наступний:

    TEXTJOIN(роздільник, ігнорувати_порожній, текст1, [текст2], ...)

    Де:

    • Розмежувач (обов'язково) - роздільник між кожним текстовим значенням, що об'єднуються. Зазвичай він подається у вигляді текстового рядка, укладеного в подвійні лапки, або посилання на комірку, що містить текстовий рядок. Число, подане в якості роздільника, розглядається як текст.
    • Ігнорувати_порожній (обов'язково) - Визначає, ігнорувати порожні клітинки чи ні:
      • TRUE - ігнорувати порожні клітинки.
      • FALSE - включити в результуючий рядок порожні комірки.
    • Текст1 (обов'язкове) - перше значення, що приєднується. Може бути подано у вигляді текстового рядка, посилання на комірку, що містить рядок, або масиву рядків, наприклад, діапазону комірок.
    • Текст2 , ... (необов'язково) - додаткові текстові значення, що об'єднуються. Допускається не більше 252 текстових аргументів, у тому числі текст1 .

    Для прикладу об'єднаємо частини адреси з комірок B2, C2 та D2 в одну комірку, розділивши значення комою та пробілом:

    За допомогою функції ОБ'ЄДНАТИ потрібно було б вказувати кожну клітинку окремо і ставити роздільник (", ") після кожного посилання, що може бути незручно при об'єднанні вмісту багатьох клітинок:

    =CONCATENATE(A2, ", ", B2, ", ", C2)

    За допомогою Excel TEXTJOIN ви вказуєте роздільник лише один раз у першому аргументі, а для третього аргументу вказуєте діапазон комірок:

    =TEXTJOIN(", ", TRUE, A2:C2)

    TEXTJOIN в Excel - 6 речей, про які варто пам'ятати

    Щоб ефективно використовувати TEXTJOIN у своїх робочих аркушах, є кілька важливих моментів, на які слід звернути увагу:

    1. TEXTJOIN - це нова функція, яка доступна тільки в Excel 2019 - Excel 365. У більш ранніх версіях Excel, будь ласка, використовуйте функцію CONCATENATE або оператор "&".
    2. У нових версіях Excel ви також можете використовувати функцію КОНКРЕТ для об'єднання значень з окремих клітинок і діапазонів, але без опцій для роздільників або порожніх клітинок.
    3. Будь-який номер, наданий в TEXTJOIN для роздільник або текст аргументів перетворюється в текст.
    4. Якщо роздільник не вказано або є порожнім рядком (""), текстові значення об'єднуються в конкатенацію без будь-якого роздільника.
    5. Функція може обробляти до 252 текстових аргументів.
    6. Результуючий рядок може містити максимум 32 767 символів, що є лімітом комірок в Excel. При перевищенні цього ліміту формула TEXTJOIN повертає помилку #VALUE!

    Як з'єднати текст в Excel - приклади формул

    Щоб краще зрозуміти всі переваги TEXTJOIN, давайте розглянемо, як використовувати функцію в реальних сценаріях.

    Перетворення стовпця в список через кому

    Якщо ви хочете об'єднати вертикальний список, розділяючи значення комою, крапкою з комою або будь-яким іншим роздільником, TEXTJOIN - це правильна функція для використання.

    Для цього прикладу ми будемо об'єднувати перемоги та поразки кожної команди з таблиці нижче. Це можна зробити за допомогою наступних формул, які відрізняються лише діапазоном комірок, що об'єднуються.

    Для команди 1:

    =TEXTJOIN(",", FALSE, B2:B6)

    Для команди 2:

    =TEXTJOIN(",", FALSE, C2:C6)

    І так далі.

    В усіх формулах використовуються наступні аргументи:

    • Розмежувач - кома (",").
    • Ігнорувати_порожній має значення FALSE, щоб включити порожні клітинки, тому що нам потрібно показати, які ігри не були зіграні.

    В результаті ви отримаєте чотири списки через кому, які в компактній формі відображають перемоги та поразки кожної команди:

    З'єднувати комірки з різними роздільниками

    У ситуації, коли потрібно розділити об'єднані значення різними роздільниками, можна або поставити декілька роздільників у вигляді константи масиву, або ввести кожен роздільник в окрему комірку і використати посилання на діапазон для роздільник аргумент.

    Припустимо, ви хочете об'єднати комірки, що містять різні частини імен, і отримати результат у такому форматі: Прізвище та ім'я , Прізвище Ім'я По батькові .

    Як бачимо, Прізвище та Ім'я відокремлюються комою та пробілом (", "), а Ім'я та По батькові - тільки пробілом (" "). Отже, включаємо ці два роздільники в константу масиву {", "," "} і отримуємо наступну формулу:

    =TEXTJOIN({", "," "}, TRUE, A2:C2)

    Де A2:C2 - іменні частини, що об'єднуються.

    Крім того, ви можете ввести роздільники без лапок у деяких порожніх комірках (наприклад, кома і пробіл у F3 і пробіл у G3) і використовувати діапазон $F$3:$G$3 (будь ласка, зверніть увагу на абсолютні посилання на комірки) для роздільник аргумент:

    =TEXTJOIN($F$3:$G$3, TRUE, A2:C2)

    Використовуючи цей загальний підхід, можна об'єднувати вміст комірок у різних формах.

    Наприклад, якщо ви хочете отримати результат в Ім'я та прізвище По батькові Прізвище та ім'я потім за допомогою функції ВЛЕВО витягуємо перший символ (ініціал) з комірки С2. Що стосується роздільників, то між Іменем та По батькові ставимо пробіл (" "); між Іменем та Прізвищем - крапку та пробіл (". "):

    =TEXTJOIN({" ","."}, TRUE, B2, LEFT(C2,1), A2)

    Об'єднання тексту і дат в Excel

    У конкретному випадку, коли ви об'єднуєте текст і дати, введення дати безпосередньо у формулу TEXTJOIN не спрацює. Як ви пам'ятаєте, Excel зберігає дати як порядкові номери, тому ваша формула поверне число, що представляє дату, як показано на знімку екрана нижче:

    =TEXTJOIN(" ", TRUE, A2:B2)

    Щоб це виправити, потрібно перетворити дату в текстовий рядок перед приєднанням до неї. І тут в нагоді стає функція ТЕКСТ з потрібним кодом формату ("мм/дд/ррр" в нашому випадку):

    =TEXTJOIN(" ", TRUE, A2, TEXT(B2, "mm/dd/yyy"))

    Об'єднання тексту з розривами рядків

    Якщо ви хочете об'єднати текст в Excel так, щоб кожне значення починалося з нового рядка, використовуйте CHAR(10) як роздільник (де 10 - символ переведення рядка).

    Наприклад, щоб об'єднати текст з комірок А2 і В2, розділивши значення розривом рядка, слід використовувати таку формулу:

    =TEXTJOIN(CHAR(10), TRUE, A2:B2)

    Порада: Щоб результат відображався в кілька рядків, як показано на скріншоті вище, переконайтеся, що функція Обернути текст включена.

    TEXTJOIN IF для об'єднання тексту з умовами

    Завдяки здатності Excel TEXTJOIN обробляти масиви рядків, його також можна використовувати для умовного об'єднання вмісту двох і більше комірок. Для цього необхідно за допомогою функції ЕСЛИ обчислити діапазон комірок і повернути масив значень, що задовольняють умові, в комірку текст1 аргумент TEXTJOIN.

    Припустимо, що з таблиці, показаної на скріншоті нижче, ви хочете отримати список Команда 1 Для цього вкладіть в оператор IF наступний оператор текст1 аргумент:

    IF($B$2:$B$9=1, $A$2:$A$9, "")

    Простою мовою наведена вище формула говорить: якщо стовпець B дорівнює 1, повернути значення зі стовпця A в тому ж рядку; в іншому випадку повернути порожній рядок.

    Повна формула для Команда 1 приймає таку форму:

    =TEXTJOIN(", ", TRUE, IF($B$2:$B$9=1, $A$2:$A$9, ""))

    Аналогічним чином можна отримати через кому список членів Команда 2:

    =TEXTJOIN(", ", TRUE, IF($B$2:$B$9=2, $A$2:$A$9, ""))

    Примітка. Завдяки функції "Динамічні масиви", доступній в Excel 365 і 2021, вона працює як звичайна формула, як показано на скріншоті вище. В Excel 2019 її потрібно вводити як традиційну формулу масиву, натиснувши комбінацію клавіш Ctrl + Shift + Enter.

    Пошук і повернення декількох збігів у списку через кому

    Як ви, напевно, знаєте, функція ПОИСК в Excel може повернути тільки перший знайдений збіг. Але що робити, якщо вам потрібно отримати всі збіги для певного ID, SKU або чогось іншого?

    Щоб вивести результати в окремі комірки, скористайтеся однією з формул, описаних у розділі Як перерахувати кілька значень в Excel.

    Щоб знайти і повернути всі відповідні значення в одній комірці у вигляді списку, розділеного комами, використовуйте формулу ТЕКСТСОЕДИНЕНИЕ ЕСЛИ.

    Щоб побачити, як це працює на практиці, давайте витягнемо список товарів, які купує даний продавець, з наведеної нижче таблиці. Це можна легко зробити за допомогою наступної формули:

    =TEXTJOIN(", ", TRUE, IF($A$2:$A$12=D2, $B$2:$B$12, ""))

    Де A2:A12 - назви продавців, B2:B12 - товари, а D2 - продавець, що представляє інтерес.

    Наведена вище формула переходить до клітинки E2 і знаходить всі збіги для цільового продавця в D2 (Адам). Завдяки розумному використанню відносних (для цільового продавця) і абсолютних (для імен продавців і товарів) посилань на клітинки, формула коректно копіюється в наступні клітинки і чудово працює і для інших двох продавців:

    Примітка. Як і в попередньому прикладі, це працює як звичайна формула в Excel 365 і 2021, і як формула CSE (Ctrl + Shift + Enter ) в Excel 2019.

    Логіка формули точно така ж, як і в попередньому прикладі:

    Оператор IF порівнює кожне ім'я в A2:A12 з цільовим ім'ям в D2 (Adam в нашому випадку):

    IF($A$2:$A$12=D2, $B$2:$B$12, "")

    Якщо логічна перевірка має значення ІСТИНА (тобто ім'я в D2 збігається з ім'ям в колонці А), то формула повертає добуток з колонки В, інакше повертається порожній рядок (""). Результатом роботи функції ЯКЩО є наступний масив:

    {"";"";"Bananas";"Apples";"";"";"";"Oranges";"";"Lemons";""}

    Масив передається у функцію TEXTJOIN в якості параметру текст1 А оскільки TEXTJOIN налаштований на розділення значень комою та пробілом (", "), то в кінцевому результаті ми отримаємо саме такий рядок:

    Банани, яблука, апельсини, лимони

    Excel TEXTJOIN не працює

    Якщо ваша формула TEXTJOIN призводить до помилки, швидше за все, одна з наступних:

    • Помилка #NAME? виникає, коли TEXTJOIN використовується в старій версії Excel, де ця функція не підтримується (до 2019 року) або коли назва функції написана неправильно.
    • Помилка #VALUE! виникає, якщо результуючий рядок перевищує 32 767 символів.
    • Помилка #VALUE! також може виникнути, якщо Excel не розпізнає роздільник як текст, наприклад, якщо ви ввели якийсь недрукований символ, такий як CHAR(0).

    Ось так можна використовувати функцію TEXTJOIN в Excel. Дякую за прочитання і сподіваюся побачити вас на нашому блозі наступного тижня!

    Доступні для завантаження

    Приклади формул TEXTJOIN в Excel

    Майкл Браун — відданий ентузіаст технологій із пристрастю до спрощення складних процесів за допомогою програмних засобів. Маючи понад десятирічний досвід роботи в технологічній індустрії, він відточив свої навички роботи з Microsoft Excel і Outlook, а також із Google Таблицями та Документами. Блог Майкла присвячений тому, щоб поділитися своїми знаннями та досвідом з іншими, надаючи прості поради та навчальні посібники для підвищення продуктивності та ефективності. Незалежно від того, чи є ви досвідченим професіоналом чи початківцем, блог Майкла пропонує цінну інформацію та практичні поради щодо отримання максимальної користі від цих основних програмних інструментів.