Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join
Google Sheets – это простой и мощный инструмент, ставший неотъемлемой частью арсенала современного маркетолога, предпринимателя, технического специалиста и любого обывателя.
С его помощью можно быстро и легко создавать профессиональные, привлекательные и эффективные маркетинговые материалы, такие как электронные таблицы, графики, схемы и даже презентации.
Маркетолог может использовать Google Sheets для анализа данных, планирования и координации рекламных кампаний, управления проектами, отслеживания результатов и обработки данных. Интеграция с другими сервисами Google, такими как Google Forms и Google Analytics, позволяет собирать и анализировать данные из различных источников, а также автоматизировать рутинные процессы.
Google Sheets предлагает возможность совместной работы в режиме реального времени, что делает процесс более продуктивным и комфортным для команды. Таким образом, Google Sheets является незаменимым инструментом для повышения эффективности маркетинговых активностей и развития успешного бизнеса.
В прошлой статье мы рассматривали функцию для разделения SPLIT
В этой статье подробнее рассмотрим функции объединения
- CONCAT
- CONCATENATE
- JOIN
Функция CONCAT
Эта функция объединяет два значения, переводя их к текстовому типу.
Тяжело рассказать о этой функции больше, потому что она максимально тривиальна) Я ей, откровенно говоря, не пользуюсь из-за ее не уверсальности и заменяю ее функцией JOIN. Плюс, сравнивая эти две функции в одинаковой задаче по объединению двух значений, функция CONCAT делается в 3 клика, а JOIN в 2. Что не очень весомо, но является дополнительным плюсом для JOIN.
Из чего состоит функция
=CONCAT(значение 1, значение 2)
Оба значения могут быть представлены в виде самостоятельной строки и заключены в "кавычки" или можно поставить адрес ячейки, где лежат нужные данные.
Важно!!! Функция CONCAT автоматически приводит все числовые и булевые значения к текстовому типу.
Это можно проверить с помощью функции TYPE
- Прописываем =TYPE(значение)
- В значение вбиваем адрес ячейки с формулой CONCAT
- Получаем результат 2, что означает, что это текст.
Примеры использования функции Concat
Пример 1
Нам надо объединить два текстовых значений
Действия
- Прописываем функцию = CONCAT()
- Вставляем адреса нужных нам ячеек
Итоговая функция =CONCAT(A4; B4)
Сразу видим проблему
Строки объединились без пробела между словами.
Чтобы исправить эту ситуацию, мы можем использовать другую функцию (JOIN) или поставить пробел во втором значении вручную
Согласен, ужасный пример...
Пример 2
Нам надо объединить...$%#%...
На самом деле не думаю, что эта функция кому-то сильно нужна, а если и нужна, то одного примера будет более чем достаточно, чтобы понять ее суть. Простите за сумбур)
Функция CONCATENATE
Функция CONCATENATE объединяет два и более значений между собой. Это, по сути усложнение функции CONCAT, которая может объединять только два значения.
Concatenate очень удобна в случае, когда необходимо объединить несколько строк для импорта данных, составления финального текста сообщения и подобного.
Из чего состоит функция
=CONCATENATE(значение 1, значение 2, ... , значение n)
В обновленных Google Таблицах в функцию Concatenate можно занести 50000 значений, т.е. =concatenate(значение 1, ... , значение 50000) – это максимум.
Значения могут быть представлены в виде:
- Адреса ячейки (А1)
- Диапозона ячеек (А1:А17)
- Самостоятельных значений в кавычках ("какое-то значение")
- Любых других функций
Это, очень круто, потому что появляется возможность создать унифицированную формулу, которая будет меняться в зависимости от контента на листе, а также появляется возможность переносить строку.
Как сделать перенос строки в функции CONCATENATE и схожих с ней?
С помощью соответствующего значения "[перенос строки]", функции CHAR
Подробнее в статье Как перенести строку в Google Sheets
Примеры использования функции Concatenate
Пример 1
Необходимо объединить несколько предложений из предыдущего урока между собой.
Действия
- Добавляем функцию =CONCATENATE()
- В значения последовательно добавляем нужные предложения через точку с запятой
Итоговая функция =CONCATENATE( A4 ; B4 ; C4 )
В целом задача выполнена, но, когда мы разделяли предложения через функцию SPLIT, у нас потерялась точка в конце первого и второго предложения. А также наша функция не предполагает пробел между предложениями.
Давайте исправим эту неточность...
Действия
- между первым и вторым, а также между вторым и третьим предложением добавим разделитель: точка с пробелом ". "
Итоговая функция =CONCATENATE( A4 ; ". " ; B4; ". " ; C4 )
Задача выполнена!
Пример 2
Надо создать унифицированный шаблон текстовой сводки по имеющимся данным о текущей ситуации и о прогнозе на сайте-отзовике
Действия
- Пропишем функцию CONCATENATE()
- В функцию будем записывать текст сообщения в кавычках
"Коллеги, на текущий момент на площадке..." - Для переноса текста на новую строку воспользуемся функцией CHAR(), с значение 10. Подробнее о переносе тут
"Коллеги," ; CHAR(10); "На текущий момент на площадке..." - Вносим переменные с помощью ссылки на конкретную ячейку
"Коллеги," ; CHAR(10); "На текущий момент на площадке "; B7 ; " отзывов..." - Для вычисления прироста рейтинга воспользуемся функцией SUM внутри нашей основной функции
"Коллеги," ; CHAR(10); "На текущий момент на площадке "; B7 ; " отзывов" ; ... ; SUM(F17 - C17); ...
Итоговая функция =CONCATENATE("Коллеги," ; CHAR(10) ; "На текущий момент, на площадке "; A17; " о вашей компании "; B17; " отзывов и рейтинг " ; C17 ; " из ";D17; " возможных."; CHAR(10); "Мы ожидаем прироста в " ; E17 ; " отзыва, что даст прирост в "; SUM(F17-C17); " единиц.")
И мы получаем следующее сообщение:
"Коллеги,
На текущий момент, на площадке Otzovik.com о вашей компании 7 отзывов и рейтинг 3,5 из 5 возможных.
Мы ожидаем прироста в 3 отзыва, что даст прирост в 0,45 единиц."
Изменяя данные в исходной таблице, сообщение будет меняться.
Возможно не самый идеальный пример, но он хорошо описывает возможности функции CONCATENATE()
Функция JOIN
Эта функция объединяет два и более значений или массивов, через одинаковый разделитель, который будет вставлен между значениями.
Важный нюанс! Есть функция JOIN и есть JOINTEXT. Глобально, они похожи и служат для объединения через единый разделитель, но для текстов лучше использовать JOINTEXT, потому что он учитывает знаки табуляции, переносы и другие спецсимволы.
Другими словами, JOIN используется для обычного объединения, а JOINTEXT для более сложной работы с текстом.
Функция JOIN удобна в случаях, когда нам надо объединить два и более значений с одним и тем же разделителем.
Из чего состоит функция
=JOIN(разделитель, значение или массив 1, ... , значение или массив n)
Разделитель – символ или группа знаков, которые будут вставляться между значениями.
Разделитель может быть пустым =JOIN( ; значение или массив), тогда функция отработает, как функция CONCAT
Значение или массив 1 – это может быть самостоятельное значение обособленное "кавычками" или ссылка на ячейку (А1), а также это может быть самостоятельный массив записанный в фигурных скобках {1, 2, 3} или ссылка на диапазон данных (А1:D17)
Значение или массив n – аналогично. Является не обязательным.
Также важно знать, что, если в вашем диапазоне будет пустая ячейка, она также будет считаться отдельным значением.
Обойти это можно через дополнительные функции, например FILTER или используя функцию JOINTEXT
Примеры использования функции Concatenate
Пример 1
Возьмем задание примера 1 функции Concatenate и решим ее через функци
Необходимо объединить несколько предложений из предыдущего урока между собой.
Действия
- Прописываем функцию JOIN()
- Добавляем разделитель, который будет стоять между предложениями ". "
- Выбираем диапазон, который включает все предложения
Итоговая функция =JOIN(". " ; A32:C32)
Задача решена!
Это решение намного элегантнее, чем пример с Concatenate...Давайте сравним:
=CONCATENATE( A4 ; ". " ; B4; ". " ; C4 )
=JOIN(". " ; A32:C32)
Пример 2
Допустим у нас есть рецепт, который почему-то в Гугл Таблицах.
И нам нужно отправить его нашему рабу, чтобы он купил все необходимое в магазине.
Но если мы просто скопируем этот диапазон, вставим в мессенджер и отправим, то получится не очень красиво.
Но мы же уважаем нашего раба, поэтому давайте приведем это к нормальному виду.
Действия
- Пропишем функцию =JOIN()
- Добавим ей разделитель пробел =JOIN(" ")
- Вставим диапазон каждой строки =JOIN(" "; A44 : C44)
- Размножим функцию на необходимое количество строк
Итоговая функция =JOIN(" "; A44 : C44)
И при копировании это выглядит на много симпатичнее
Давайте еще немного доработаем функцию, чтобы финальный текст выглядел идеально
Действия
- Вместо JOIN будем использовать TEXTJOIN, чтобы исключать пустые ячейки
- Колонку B и C отдельно объединим между собой через пробел
TEXTJOIN(" "; TRUE; B44:C44) - Колонку А будем объединять с объединенными колонками В и С также через TEXTJOIN (чтобы исключить пустые значения) с разделителем дефис " – "
TEXTJOIN(" – "; A44; TRUE; TEXTJOIN(" "; TRUE; B44:C44))
Итоговая функция =TEXTJOIN( " – "; A44; TRUE; TEXTJOIN(" "; TRUE; B44:C44) )
И это будет выглядеть суперчитаемо в сообщении
Задача решена!
О каких еще функциях вы бы хотели узнать больше? Или какие задачи у вас есть в GSheets, которые можно попробовать решить?
Буду рад пообщаться на любые вопросы тет-а-тет и в комментариях по направлениям:
- Управлению репутацией
- Разработке сайтов на Tilda
- Созданию презентаций
- Формированию репутационного отдела ин хаус
- Google Таблицы