Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

Google Sheets – это простой и мощный инструмент, ставший неотъемлемой частью арсенала современного маркетолога, предпринимателя, технического специалиста и любого обывателя.

С его помощью можно быстро и легко создавать профессиональные, привлекательные и эффективные маркетинговые материалы, такие как электронные таблицы, графики, схемы и даже презентации.

Маркетолог может использовать Google Sheets для анализа данных, планирования и координации рекламных кампаний, управления проектами, отслеживания результатов и обработки данных. Интеграция с другими сервисами Google, такими как Google Forms и Google Analytics, позволяет собирать и анализировать данные из различных источников, а также автоматизировать рутинные процессы.

Google Sheets предлагает возможность совместной работы в режиме реального времени, что делает процесс более продуктивным и комфортным для команды. Таким образом, Google Sheets является незаменимым инструментом для повышения эффективности маркетинговых активностей и развития успешного бизнеса.

В прошлой статье мы рассматривали функцию для разделения SPLIT

В этой статье подробнее рассмотрим функции объединения

Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

Функция CONCAT

Эта функция объединяет два значения, переводя их к текстовому типу.

Тяжело рассказать о этой функции больше, потому что она максимально тривиальна) Я ей, откровенно говоря, не пользуюсь из-за ее не уверсальности и заменяю ее функцией JOIN. Плюс, сравнивая эти две функции в одинаковой задаче по объединению двух значений, функция CONCAT делается в 3 клика, а JOIN в 2. Что не очень весомо, но является дополнительным плюсом для JOIN.

Из чего состоит функция

=CONCAT(значение 1, значение 2)

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

Важно!!! Функция CONCAT автоматически приводит все числовые и булевые значения к текстовому типу.

Это можно проверить с помощью функции TYPE

Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join
  • Прописываем =TYPE(значение)
  • В значение вбиваем адрес ячейки с формулой CONCAT
  • Получаем результат 2, что означает, что это текст.
Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

Примеры использования функции Concat

Пример 1

Нам надо объединить два текстовых значений

Действия

  • Прописываем функцию = CONCAT()
  • Вставляем адреса нужных нам ячеек

Итоговая функция =CONCAT(A4; B4)

Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

Сразу видим проблему

Строки объединились без пробела между словами.

Чтобы исправить эту ситуацию, мы можем использовать другую функцию (JOIN) или поставить пробел во втором значении вручную

Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

Согласен, ужасный пример...

Пример 2

Нам надо объединить...$%#%...

На самом деле не думаю, что эта функция кому-то сильно нужна, а если и нужна, то одного примера будет более чем достаточно, чтобы понять ее суть. Простите за сумбур)

Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

Функция CONCATENATE

Функция CONCATENATE объединяет два и более значений между собой. Это, по сути усложнение функции CONCAT, которая может объединять только два значения.

Concatenate очень удобна в случае, когда необходимо объединить несколько строк для импорта данных, составления финального текста сообщения и подобного.

Из чего состоит функция

=CONCATENATE(значение 1, значение 2, ... , значение n)

В обновленных Google Таблицах в функцию Concatenate можно занести 50000 значений, т.е. =concatenate(значение 1, ... , значение 50000) – это максимум.

Значения могут быть представлены в виде:

  • Адреса ячейки (А1)
  • Диапозона ячеек (А1:А17)
  • Самостоятельных значений в кавычках ("какое-то значение")
  • Любых других функций

Это, очень круто, потому что появляется возможность создать унифицированную формулу, которая будет меняться в зависимости от контента на листе, а также появляется возможность переносить строку.

Как сделать перенос строки в функции CONCATENATE и схожих с ней?

С помощью соответствующего значения "[перенос строки]", функции CHAR

Подробнее в статье Как перенести строку в Google Sheets


Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

Примеры использования функции Concatenate

Пример 1

Необходимо объединить несколько предложений из предыдущего урока между собой.

Действия

  • Добавляем функцию =CONCATENATE()
  • В значения последовательно добавляем нужные предложения через точку с запятой

Итоговая функция =CONCATENATE( A4 ; B4 ; C4 )

Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

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

Давайте исправим эту неточность...

Действия

  • между первым и вторым, а также между вторым и третьим предложением добавим разделитель: точка с пробелом ". "

Итоговая функция =CONCATENATE( A4 ; ". " ; B4; ". " ; C4 )

Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

Задача выполнена!

Пример 2

Надо создать унифицированный шаблон текстовой сводки по имеющимся данным о текущей ситуации и о прогнозе на сайте-отзовике

Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

Действия

  • Пропишем функцию 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()

Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

Функция JOIN

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

Важный нюанс! Есть функция JOIN и есть JOINTEXT. Глобально, они похожи и служат для объединения через единый разделитель, но для текстов лучше использовать JOINTEXT, потому что он учитывает знаки табуляции, переносы и другие спецсимволы.

Другими словами, JOIN используется для обычного объединения, а JOINTEXT для более сложной работы с текстом.

Функция JOIN удобна в случаях, когда нам надо объединить два и более значений с одним и тем же разделителем.

Из чего состоит функция

=JOIN(разделитель, значение или массив 1, ... , значение или массив n)

Разделитель – символ или группа знаков, которые будут вставляться между значениями.
Разделитель может быть пустым =JOIN( ; значение или массив), тогда функция отработает, как функция CONCAT

Значение или массив 1 – это может быть самостоятельное значение обособленное "кавычками" или ссылка на ячейку (А1), а также это может быть самостоятельный массив записанный в фигурных скобках {1, 2, 3} или ссылка на диапазон данных (А1:D17)

Значение или массив n – аналогично. Является не обязательным.

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

Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

Обойти это можно через дополнительные функции, например FILTER или используя функцию JOINTEXT

Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

Примеры использования функции Concatenate

Пример 1

Возьмем задание примера 1 функции Concatenate и решим ее через функци

Необходимо объединить несколько предложений из предыдущего урока между собой.

Действия

  • Прописываем функцию JOIN()
  • Добавляем разделитель, который будет стоять между предложениями ". "
  • Выбираем диапазон, который включает все предложения

Итоговая функция =JOIN(". " ; A32:C32)

Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

Задача решена!

Это решение намного элегантнее, чем пример с Concatenate...Давайте сравним:

=CONCATENATE( A4 ; ". " ; B4; ". " ; C4 )

=JOIN(". " ; A32:C32)

Пример 2

Допустим у нас есть рецепт, который почему-то в Гугл Таблицах.

Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

И нам нужно отправить его нашему рабу, чтобы он купил все необходимое в магазине.
Но если мы просто скопируем этот диапазон, вставим в мессенджер и отправим, то получится не очень красиво.

Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

Но мы же уважаем нашего раба, поэтому давайте приведем это к нормальному виду.

Действия

  • Пропишем функцию =JOIN()
  • Добавим ей разделитель пробел =JOIN(" ")
  • Вставим диапазон каждой строки =JOIN(" "; A44 : C44)
  • Размножим функцию на необходимое количество строк

Итоговая функция =JOIN(" "; A44 : C44)

Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

И при копировании это выглядит на много симпатичнее

Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

Давайте еще немного доработаем функцию, чтобы финальный текст выглядел идеально

Действия

  • Вместо JOIN будем использовать TEXTJOIN, чтобы исключать пустые ячейки
  • Колонку B и C отдельно объединим между собой через пробел
    TEXTJOIN(" "; TRUE; B44:C44)
  • Колонку А будем объединять с объединенными колонками В и С также через TEXTJOIN (чтобы исключить пустые значения) с разделителем дефис " – "
    TEXTJOIN(" – "; A44; TRUE; TEXTJOIN(" "; TRUE; B44:C44))

Итоговая функция =TEXTJOIN( " – "; A44; TRUE; TEXTJOIN(" "; TRUE; B44:C44) )

Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

И это будет выглядеть суперчитаемо в сообщении

Google Таблицы. Углубление в функции. Функции объединения. Concat, Concatenate и Join

Задача решена!

О каких еще функциях вы бы хотели узнать больше? Или какие задачи у вас есть в GSheets, которые можно попробовать решить?

Андрей Самарцев

Буду рад пообщаться на любые вопросы тет-а-тет и в комментариях по направлениям:

  • Управлению репутацией
  • Разработке сайтов на Tilda
  • Созданию презентаций
  • Формированию репутационного отдела ин хаус
  • Google Таблицы
99
10 комментариев

Вместо тысячи конкатенаций и экранирований

=A1&"""это"""&B1

2

Владимир, согласен с вами.
AppScrips, по-моему, вообще интерпретируют одинаково запись через амперсанды и через конкатенацию.

Для меня преимущество функции конкатенации только в том, что она может принимать диапазоны.

Андрей, уточните, пожалуйста, а есть ли возможность использовать функцию Join так, чтобы переносился текст из нескольких ячеек, при этом в переносимый текст вставлены ссылки (т.е. кликая на текст, мы можем перейти, например, на Youtube)? У меня переносится просто текст без вставленных в него ссылок.

1

Егор, вопрос интересный. Думаю можно, но надо попробовать…дайте пример какой-нибудь.

1

Удобно, что можно использовать их для объединения значений в ячейках

1

Даниил, согласен с вами.
Это открывает множество возможностей по оптимизации процессов и не только