Зміст
У навчальному посібнику на практичних прикладах показано, як використовувати функцію 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 у своїх робочих аркушах, є кілька важливих моментів, на які слід звернути увагу:
- TEXTJOIN - це нова функція, яка доступна тільки в Excel 2019 - Excel 365. У більш ранніх версіях Excel, будь ласка, використовуйте функцію CONCATENATE або оператор "&".
- У нових версіях Excel ви також можете використовувати функцію КОНКРЕТ для об'єднання значень з окремих клітинок і діапазонів, але без опцій для роздільників або порожніх клітинок.
- Будь-який номер, наданий в TEXTJOIN для роздільник або текст аргументів перетворюється в текст.
- Якщо роздільник не вказано або є порожнім рядком (""), текстові значення об'єднуються в конкатенацію без будь-якого роздільника.
- Функція може обробляти до 252 текстових аргументів.
- Результуючий рядок може містити максимум 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